Compare commits

...

48 Commits

Author SHA1 Message Date
Jack Humbert d2123f3c07 remove some outdated changes 2021-02-08 14:48:56 -05:00
Jack Humbert 3996250d81 merge from master 2021-02-07 21:01:30 -05:00
Jack Humbert 09ff4b0c99 possibly all files needed to make things work 2021-02-07 19:53:50 -05:00
Joel Challis 99bffc2a21 Migrate some tmk_core files to quantum (#11791)
* Migrate some tmk_core files to quantum

* Fix build errors
2021-02-07 23:16:15 +00:00
yfuku 7e82879553 via support for bat43 (#11729)
* via support for bat43

* add adjust layer for via
2021-02-07 22:52:19 +00:00
Xelus22 4d8161cff5 [Update] Allow APM32 on TrinityXTtkl (#11715)
* amp32  initial change

* fix spacing
2021-02-07 22:35:20 +00:00
Joel Challis ccc9c43161 Allow flash/compile to accept relative json paths (#11767)
* Allow flash/compile to accept relative paths

* Review suggestions

* Review comments

* Put back exists check otherwise stdin fails

* fix lint
2021-02-07 21:02:51 +00:00
Danny fc29c7a589 Add DSP40 (#11579)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-02-07 15:49:16 -05:00
Ryan 5d5cbb877d Rework I2C driver docs (#11658) 2021-02-08 07:45:59 +11:00
Danny 0355cd0f72 [Keyboard] Add The Stick keyboard (#11745)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-02-07 10:56:43 -08:00
moritz-john 9d1d875a95 [Docs] Update isp_flashing_guide.md (#11777)
Added wiring for USBasp and changed the order of the documentation accordingly
2021-02-07 10:48:34 -08:00
George Petri 13c562e154 [Keymap] Update keymap for keebio/nyquist (#11734) 2021-02-07 09:58:23 -08:00
Chris M c1aeec9635 [Keymap] Shadyproject/bfo9000 (#11753) 2021-02-07 09:44:59 -08:00
Juno Nguyen a4368da849 [Keymap] Update community ortholinear 4x12 keymap: junonum (#11757) 2021-02-07 09:42:25 -08:00
stanrc85 65db45c475 [Keyboard] Add my keymap for Mark65 (#11717) 2021-02-07 09:26:39 -08:00
Salicylic-acid3 74145dc7ae [Keyboard] Add nknl7jp keyboard (#11591)
* Add nknl7jp keyboard

A 73 keys JIS Layout split keyboard.
Salicylic-acid3

* Keymap Update

Fixed default keymap.

* Update keyboards/nknl7jp/keymaps/salicylic/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/nknl7jp/keymaps/salicylic/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/nknl7jp/keymaps/salicylic/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/nknl7jp/keymaps/salicylic/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-02-07 09:09:24 -08:00
Salicylic-acid3 60d76d6733 [Keyboard] Add nknl7en keyboard (#11590)
* Add nknl7en keyboard

A 70 keys ANSI Layout split keyboard.
Salicylic-acid3

* Update readme.md

The name, photo, and link were wrong, so they have been corrected.

* Update keyboards/nknl7en/keymaps/salicylic/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/nknl7en/keymaps/salicylic/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/nknl7en/keymaps/salicylic/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/nknl7en/keymaps/salicylic/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-02-07 09:06:59 -08:00
Salicylic-acid3 72b0f494e7 [Keyboard] Add ergoarrows keyboard (#11592)
A 76 keys Ergo Layout split keyboard.
Salicylic-acid3
2021-02-07 09:04:29 -08:00
Matteo Bonora 2e6bd97585 [Keyboard] Add Hi-Tek AIM-65 keyboard (#11623)
* Add Hi-Tek AIM-65 keyboard

* Add bootloader selection

* Update keyboards/handwired/aim65/readme.md

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboards/handwired/aim65/rules.mk

Co-authored-by: Joel Challis <git@zvecr.com>

* Update keyboard image

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/handwired/aim65/rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/handwired/aim65/keymaps/bonnee/keymap.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/handwired/aim65/keymaps/default/keymap.c

Fix indentation

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/handwired/aim65/keymaps/default/keymap.c

Fix indentation

Co-authored-by: Drashna Jaelre <drashna@live.com>

* Update keyboards/handwired/aim65/keymaps/bonnee/keymap.c

Co-authored-by: Ryan <fauxpark@gmail.com>

* Update keyboards/handwired/aim65/readme.md

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/handwired/aim65/keymaps/bonnee/keymap.c

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/handwired/aim65/keymaps/bonnee/keymap.c

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/handwired/aim65/keymaps/default/keymap.c

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/handwired/aim65/config.h

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-02-07 08:59:15 -08:00
k.bigwheel 784a9cdca4 [Keyboard] Add earth_rover keyboard (#11405)
* Just ./util/new_keyboard.sh earth_rover

* Update readme.md

* Create key layout

* Setup config.h

* Add default keymap

* Fix pins

* Update flash command

* Write info.json

* Add reset instruction

* Change bootloader setting

* Format new C files

* Empty commit for kicking CI

* Update keyboards/earth_rover/config.h

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Update keyboards/earth_rover/keymaps/default/keymap.c

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

* Update readme.md

* Update keyboards/earth_rover/readme.md

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>

Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2021-02-07 08:56:27 -08:00
Moritz 3d01794b12 [Keyboard] Whale 75 (#11486)
* initial commit

* various fixes

* minor formatting fixes

* fixed typo in config

* switched underglow from bitbang to pwm

* fixed indicator leds not working

* improved comment syntax

* fixed matrix

* remove outdated indicator custom code

Co-authored-by: Joel Challis <git@zvecr.com>

* add new indicator definitions

Co-authored-by: Joel Challis <git@zvecr.com>

* removed duplicate define for underglow pin

Co-authored-by: Drashna Jaelre <drashna@live.com>

* removed unneeded lines

* fixed readme to fit template

* added picture to readme

* fixed readme formatting

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-02-07 08:54:23 -08:00
Xelus22 53f17113c1 [Keyboard] VIA fix firmware sizes (#11770) 2021-02-06 13:04:01 -08:00
Felix Jen 66775a3391 Fixed pin assignment on KBD8X Hotswap by Lucid (#11807) 2021-02-07 02:53:49 +11:00
Ryan 9b874d5071 Manual formatting fix for serial_uart.c (#11806) 2021-02-06 14:15:30 +00:00
Joel Challis 0e8cef28d2 [CI] Auto Formatting - Swap from direct commit to PR (#11229)
* Swap from direct commit to PR

* Fix up
2021-02-06 12:55:50 +00:00
Atsushi Morimoto 31675c614e [Keyboard] add info.json of Sparrow62 (#11740)
* add info.json for QMK Configurator

* Apply suggestions from code review

fix space, enter and align x
2021-02-06 02:18:21 -08:00
Jack Humbert 708bb4f55d Merge branch 'hid_joystick' of git://github.com/a-chol/qmk_firmware into a-chol-hid_joystick 2020-05-04 13:19:48 -04:00
a-chol a80ea8b7cc Merge branch 'master' into hid_joystick 2020-03-30 14:41:56 +02:00
a-chol a03d1eb66b Add PR corrections 2020-03-30 14:38:57 +02:00
a-chol 92c6466089 Update docs/feature_joystick.md
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-03-30 14:25:49 +02:00
a-chol 16fe12e6b6 Update docs/feature_joystick.md
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-03-30 14:24:48 +02:00
a-chol 1d8102183f Switch saveState and restoreState signature to use pin_t type.
onekey:joystick : add a second axis, virtual and programmatically animated.
2020-03-30 14:11:44 +02:00
a-chol 476fce8a32 Add missing mcuconf.h and halconf.h to onekey:joystick keymap.
Add suggested fixes from PR.
2020-03-30 11:19:23 +02:00
a-chol 0ce015d0c9 Update tmk_core/protocol/lufa/lufa.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-03-30 11:17:26 +02:00
a-chol c447c4ffd5 Update tmk_core/protocol/chibios/usb_main.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-03-30 11:17:14 +02:00
a-chol 887e96cbb2 Fix HID joystick report sending for ChibiOS.
Add one analog axis to the onekey:joystick keymap.
Fix pin state save and restore during joystick analog read for STM32
MCUs.
2020-03-30 00:51:43 +02:00
a-chol def06b4976 Add support for joystick adc reading for stm32 MCUs. Fix joystick hid report sending for chibios 2020-03-29 15:43:19 +02:00
a-chol 34bedc3787 Update tmk_core/protocol/usb_descriptor.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-03-22 11:26:01 +01:00
a-chol c6c01f9eff Update tmk_core/protocol/usb_descriptor.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-03-22 11:26:01 +01:00
a-chol 86853a4110 Update tmk_core/protocol/usb_descriptor.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-03-22 11:26:01 +01:00
a-chol a8a2825bd4 Update tmk_core/protocol/lufa/lufa.c
Co-Authored-By: Ryan <fauxpark@gmail.com>
2020-03-22 11:26:01 +01:00
Nick Brassel 38cd264dd8 Remove V-USB support for now. Updated docs accordingly. 2020-03-22 11:25:55 +01:00
a-chol 6fd7f9d12f avoid float functions to compute range mapping for axis adc reading 2020-03-22 11:24:43 +01:00
Nick Brassel 801be60473 The other required set of changes
As per the PR, the changes still holding it up.
Add onekey for testing.
Fix ARM builds.
Fix device descriptor when either axes or buttons is zero.
Add compile-time check for at least one axis or button.
Move definition to try to fix conflict.
PR review comments.
qmk cformat
2020-03-22 11:24:43 +01:00
a-chol d88bdc6a1b Fix port addressing for joystick analog read 2020-03-22 11:24:42 +01:00
achol b030c45705 Add save and restore of each pin used in reading joystick (AVR).
Allow output pin to be JS_VIRTUAL_AXIS if the axis is connected to Vcc
instead of an output pin from the MCU.

Fix joystick report id

Fix broken v-usb hid joystick interface. Make it more resilient to unusual settings (none multiple of eight button count, 0 buttons or 0 axes)

Correct adc reading for multiple axes. Piecewise range conversion for uncentered raw value range. Input, output and ground pin configuration per axis.

Documentation fixes
2020-03-22 11:24:36 +01:00
José Júnior ee43b338ea Incorporates patches and changes to HID reporting
There are some patches provided by @a-chol incorporated on this commit,
and also some changes I made to the HID Report structure.

The most interesting is the one dealing with number of buttons: Linux
doesn't seem to care, but Windows requires the HID structure to be byte
aligned (that's in the spec). So if one declares 8/16/32... buttons they
should not have any issues, but this is what happens when you have 9
buttons:

```
 bits |0|1|2|3|4|5|6|7|
      |*|*|*|*|*|*|*|*| axis 0 (report size 8)
      |*|*|*|*|*|*|*|*| ...
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*|
      |*|*|*|*|*|*|*|*| axis 6
      |*|*|*|*|*|*|*|*| first 8 buttons (report size 1)
      |*| | | | | | | | last of 9 buttons, not aligned
```

So for that I added a conditonal that will add a number of reports with
size 1 to make sure it aligns to the next multiple of 8. Those reports
send dummy inputs that don't do anything aside from aligning the data.

Tested on Linux, Windows 10 and Street Fighter (where the joystick is
recognized as direct-input)
2020-03-22 11:23:32 +01:00
achol 3cf7611139 add support for hid gamepad interface
add documentation for HID joystick
Add joystick_task to read analog axes values even when no key is pressed or release. update doc
Update docs/feature_joystick.md
Manage pin setup and read to maintain matrix scan after analog read
2020-03-22 11:23:25 +01:00
153 changed files with 7464 additions and 513 deletions
+12 -6
View File
@@ -28,10 +28,16 @@ jobs:
bin/qmk pyformat
bin/qmk fileformat
- name: Commit files
uses: stefanzweifel/git-auto-commit-action@v4
- name: Become QMK Bot
run: |
git config user.name 'QMK Bot'
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
commit_message: Format code according to conventions for $GITHUB_SHA
commit_user_name: QMK Bot
commit_user_email: hello@qmk.fm
commit_author: QMK Bot <hello@qmk.fm>
delete-branch: true
author: QMK Bot <hello@qmk.fm>
committer: QMK Bot <hello@qmk.fm>
commit-message: Format code according to conventions
title: '[CI] Format code according to conventions'
+16
View File
@@ -17,10 +17,16 @@ SERIAL_PATH := $(QUANTUM_PATH)/serial_link
QUANTUM_SRC += \
$(QUANTUM_DIR)/quantum.c \
$(QUANTUM_DIR)/bitwise.c \
$(QUANTUM_DIR)/led.c \
$(QUANTUM_DIR)/keymap_common.c \
$(QUANTUM_DIR)/keycode_config.c
KEYBOARD_ENABLE ?= yes
ifeq ($(strip $(KEYBOARD_ENABLE)), yes)
OPT_DEFS += -DKEYBOARD_ENABLE
endif
ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), yes)
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
CONSOLE_ENABLE = yes
@@ -36,6 +42,11 @@ ifeq ($(strip $(API_SYSEX_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/api.c
endif
ifeq ($(strip $(COMMAND_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/command.c
OPT_DEFS += -DCOMMAND_ENABLE
endif
ifeq ($(strip $(AUDIO_ENABLE)), yes)
OPT_DEFS += -DAUDIO_ENABLE
MUSIC_ENABLE = yes
@@ -594,3 +605,8 @@ endif
ifeq ($(strip $(JOYSTICK_ENABLE)), digital)
OPT_DEFS += -DDIGITAL_JOYSTICK_ENABLE
endif
ifeq ($(strip $(SWITCH_CONTROLLER_ENABLE)), yes)
OPT_DEFS += -DSWITCH_CONTROLLER_ENABLE
OPT_DEFS += -DGAMEPAD_ENABLE
endif
+213 -109
View File
File diff suppressed because it is too large Load Diff
+10
View File
@@ -45,6 +45,7 @@ You'll need one of the following to actually perform the ISP flashing (followed
* [SparkFun PocketAVR](https://www.sparkfun.com/products/9825) - (USB Tiny)
* [USBtinyISP AVR Programmer Kit](https://www.adafruit.com/product/46) - (USB Tiny)
* [USBasp](https://www.fischl.de/usbasp/) - (usbasp)
* [Teensy 2.0](https://www.pjrc.com/store/teensy.html) - (avrisp)
* [Pro Micro](https://www.sparkfun.com/products/12640) - (avrisp)
* [Bus Pirate](https://www.adafruit.com/product/237) - (buspirate)
@@ -82,6 +83,15 @@ This is pretty straight-forward - we'll be connecting like-things to like-things
PocketAVR VCC <-> Keyboard VCC
PocketAVR GND <-> Keyboard GND
### USBasp
USBasp RST <-> Keyboard RESET
USBasp SCLK <-> Keyboard B1 (SCLK)
USBasp MOSI <-> Keyboard B2 (MOSI)
USBasp MISO <-> Keyboard B3 (MISO)
USBasp VCC <-> Keyboard VCC
USBasp GND <-> Keyboard GND
### Teensy 2.0
Teensy B0 <-> Keyboard RESET
+27 -15
View File
@@ -8,7 +8,7 @@ No special setup is required - just connect the `SS`, `SCK`, `MOSI` and `MISO` p
|MCU |`SS`|`SCK`|`MOSI`|`MISO`|
|---------------|----|-----|------|------|
|ATMega16/32U2/4|`B0`|`B1` |`B2` |`B3` |
|ATmega16/32U2/4|`B0`|`B1` |`B2` |`B3` |
|AT90USB64/128 |`B0`|`B1` |`B2` |`B3` |
|ATmega32A |`B4`|`B7` |`B5` |`B6` |
|ATmega328/P |`B2`|`B5` |`B3` |`B4` |
@@ -20,22 +20,34 @@ You may use more than one slave select pin, not just the `SS` pin. This is usefu
You'll need to determine which pins can be used for SPI -- as an example, STM32 parts generally have multiple SPI peripherals, labeled SPI1, SPI2, SPI3 etc.
To enable SPI, modify your board's `halconf.h` to enable SPI - both `HAL_USE_SPI` and `SPI_USE_WAIT` should be `TRUE`, and `SPI_SELECT_MODE` should be `SPI_SELECT_MODE_PAD`.
Then, modify your board's `mcuconf.h` to enable the SPI peripheral you've chosen -- in the case of using SPI2, modify `STM32_SPI_USE_SPI2` to be `TRUE`.
To enable SPI, modify your board's `halconf.h` to enable SPI:
As per the AVR configuration, you may select any other standard GPIO as a slave select pin, and can be supplied to `spi_start()`.
```c
#define HAL_USE_SPI TRUE
#define SPI_USE_WAIT TRUE
#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
```
Then, modify your board's `mcuconf.h` to enable the peripheral you've chosen, for example:
```c
#undef STM32_SPI_USE_SPI2
#define STM32_SPI_USE_SPI2 TRUE
```
Configuration-wise, you'll need to set up the peripheral as per your MCU's datasheet -- the defaults match the pins for a Proton-C, i.e. STM32F303.
`config.h` override | Description | Default Value
----------------------------|---------------------------------------------------------------|--------------
`#define SPI_DRIVER` | SPI peripheral to use - SPI1 => `SPID1`, SPI2 => `SPID2` etc. | `SPID2`
`#define SPI_SCK_PIN` | The pin to use for the SCK | `B13`
`#define SPI_SCK_PAL_MODE` | The alternate function mode for the SCK pin | `5`
`#define SPI_MOSI_PIN` | The pin to use for the MOSI | `B15`
`#define SPI_MOSI_PAL_MODE` | The alternate function mode for the MOSI pin | `5`
`#define SPI_MISO_PIN` | The pin to use for the MISO | `B14`
`#define SPI_MISO_PAL_MODE` | The alternate function mode for the MISO pin | `5`
|`config.h` Override|Description |Default|
|-------------------|-------------------------------------------------------------|-------|
|`SPI_DRIVER` |SPI peripheral to use - SPI1 -> `SPID1`, SPI2 -> `SPID2` etc.|`SPID2`|
|`SPI_SCK_PIN` |The pin to use for SCK |`B13` |
|`SPI_SCK_PAL_MODE` |The alternate function mode for SCK |`5` |
|`SPI_MOSI_PIN` |The pin to use for MOSI |`B15` |
|`SPI_MOSI_PAL_MODE`|The alternate function mode for MOSI |`5` |
|`SPI_MISO_PIN` |The pin to use for MISO |`B14` |
|`SPI_MISO_PAL_MODE`|The alternate function mode for MISO |`5` |
As per the AVR configuration, you may choose any other standard GPIO as a slave select pin, which should be supplied to `spi_start()`.
## Functions
@@ -112,7 +124,7 @@ Send multiple bytes to the selected SPI device.
#### Return Value
`SPI_STATUS_TIMEOUT` if the timeout period elapses, `SPI_STATUS_SUCCESS` on success, or `SPI_STATUS_ERROR` otherwise.
`SPI_STATUS_TIMEOUT` if the timeout period elapses, `SPI_STATUS_ERROR` if some other error occurs, otherwise `SPI_STATUS_SUCCESS`.
---
@@ -129,7 +141,7 @@ Receive multiple bytes from the selected SPI device.
#### Return Value
`SPI_STATUS_TIMEOUT` if the internal transmission timeout period elapses, `SPI_STATUS_SUCCESS` on success, or `SPI_STATUS_ERROR` otherwise.
`SPI_STATUS_TIMEOUT` if the timeout period elapses, `SPI_STATUS_ERROR` if some other error occurs, otherwise `SPI_STATUS_SUCCESS`.
---
-3
View File
@@ -1,3 +0,0 @@
#pragma once
#include "common/matrix.h"
+1 -1
View File
@@ -1,6 +1,6 @@
#pragma once
#include "common/matrix.h"
#include "matrix.h"
#define ROWS_PER_HAND (MATRIX_ROWS/2)
+2 -2
View File
@@ -20,8 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1070
#define VENDOR_ID 0x5946 // YF
#define PRODUCT_ID 0x0002
#define DEVICE_VER 0x0001
#define MANUFACTURER yfuku
#define PRODUCT bat43
+58
View File
@@ -0,0 +1,58 @@
/* Copyright 2020 yfuku
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// Defines names for use in layer keycodes and the keymap
enum layer_names {
_BASE,
_LOWER,
_RAISE,
_ADJUST
};
#define L_SPC LT(_LOWER, KC_SPC)
#define R_ENT LT(_RAISE, KC_ENT)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT(
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_BSPC, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RSFT,
KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL,
KC_LGUI, KC_LANG2,L_SPC, R_ENT, KC_LANG1,KC_RALT,
KC_A, KC_B, KC_C, KC_D, KC_E
),
[_LOWER] = LAYOUT(
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL, KC_PLUS, KC_ASTR, KC_PERC, _______,
_______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
_______, _______, _______, KC_DEL, _______, _______,
_______, _______, _______, _______, _______
),
[_RAISE] = LAYOUT(
_______, KC_BSLS, KC_EXLM, KC_AMPR, KC_PIPE, XXXXXXX, XXXXXXX, KC_EQL, KC_PLUS, KC_ASTR, KC_PERC, _______,
_______, KC_HASH, KC_GRV, KC_DQT, KC_QUOT, KC_TILD, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DLR, _______,
_______, XXXXXXX, XXXXXXX, KC_LCBR, KC_LBRC, KC_LPRN, KC_RPRN, KC_RBRC, KC_RCBR, KC_AT, KC_CIRC, _______,
_______, _______, KC_BSPC, _______, _______, _______,
_______, _______, _______, _______, _______
),
[_ADJUST] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______
),
};
+1
View File
@@ -0,0 +1 @@
# The default keymap for bat43
+1
View File
@@ -0,0 +1 @@
VIA_ENABLE = yes
@@ -0,0 +1,100 @@
/* Copyright 2020 Stanrc85
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "stanrc85.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_QWERTY] = LAYOUT_all(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_MPLY,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, CA_SCLN,
KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
),
[_DEFAULT] = LAYOUT_all(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_MPLY,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, CA_SCLN,
KC_CTLE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, CA_QUOT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, LT_SPCF, LT_SPCF, LT_SPCF, TD_TWIN, MO(_FN2_60), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FN1_60] = LAYOUT_all(
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______,
_______, _______, CA_QUOT, KC_VOLU, CA_SCLN, _______, _______, KC_HOME, KC_UP, KC_END, KC_PSCR, _______, _______, KC_INS, _______,
KC_CAPS, _______, KC_MUTE, KC_VOLD, KC_MPLY, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
_______, _______, KC_RDP, _______, _______, _______, _______, _______, KC_WBAK, KC_WFWD, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_FN2_60] = LAYOUT_all(
RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TG(_DEFAULT)
)
};
void rgb_matrix_indicators_user(void) {
uint8_t layer = get_highest_layer(layer_state);
switch (layer) {
case _QWERTY:
rgb_matrix_set_color(10, 0, 0, 0);
break;
case _FN1_60:
rgb_matrix_set_color(10, 0, 0, 255);
break;
case _FN2_60:
rgb_matrix_set_color(10, 255, 255, 255);
break;
case _DEFAULT:
rgb_matrix_set_color(10, 0, 255, 0);
break;
default:
break;
}
if (host_keyboard_led_state().caps_lock) {
rgb_matrix_set_color(10, 255, 0, 0);
}
}
void matrix_init_kb(void){
#ifdef RGB_MATRIX_ENABLE
g_led_config = (led_config_t){ {
// Key Matrix to LED Index
{ 10 , 10 , 9 , 9 , 8 , 7 , 7 , 6 , 5 , 5 , 4 , 3 , 3 , 2 , 1 , 1 },
{ NO_LED, 11 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 0 , 1 },
{ NO_LED, 12 , NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, 23 , 1 },
{ NO_LED, 13 , 14 , NO_LED, 15 , 16 , NO_LED, 17 , 18 , NO_LED, 19 , 20 , NO_LED, 21 , 22 , NO_LED },
{ NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED },
}, {
// LED Index to Physical Position
{224, 42}, {224, 21}, {209, 21}, {179, 21}, {164, 21}, {134, 21}, {119, 21}, {89, 21}, {74, 21}, {45, 21}, {30, 21}, {30, 42},
{30, 64}, {30, 85}, {45, 85}, {74, 85}, {89, 85}, {119, 85}, {134, 85}, {164, 85}, {179, 85}, {209, 85}, {224, 85}, {224, 64}
}, {
// LED Index to Flag
LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL,
LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL, LED_FLAG_ALL
} };
#endif
matrix_init_user();
}
@@ -0,0 +1 @@
VIA_ENABLE = yes
+114
View File
@@ -0,0 +1,114 @@
/*
Copyright 2020 k.bigwheel
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0xEE11
#define DEVICE_VER 0x0001
#define MANUFACTURER k.bigwheel
#define PRODUCT earth_rover
/* key matrix size */
#define MATRIX_ROWS 4
#define MATRIX_COLS 4
/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS { D4, C6, D7, E6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7 }
#define UNUSED_PINS
/* COL2ROW, ROW2COL */
#define DIODE_DIRECTION COL2ROW
/*
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
*/
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
*/
//#define GRAVE_ESC_CTRL_OVERRIDE
/*
* Force NKRO
*
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
* makefile for this to work.)
*
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
* until the next keyboard reset.
*
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
* fully operational during normal computer usage.
*
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
* power-up.
*
*/
//#define FORCE_NKRO
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
/* Bootmagic Lite key configuration */
//#define BOOTMAGIC_LITE_ROW 0
//#define BOOTMAGIC_LITE_COLUMN 0
+17
View File
@@ -0,0 +1,17 @@
/* Copyright 2020 k.bigwheel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "earth_rover.h"
+41
View File
@@ -0,0 +1,41 @@
/* Copyright 2020 k.bigwheel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
/* This is a shortcut to help you visually see your layout.
*
* The first section contains all of the arguments representing the physical
* layout of the board and position of the keys.
*
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
// clang-format off
#define LAYOUT( \
k00, k01, \
k10, k12, k13, k14, \
k20, k22, k23, k24, \
k30, k32, k33, k34 \
) { \
{ KC_NO, k00, k01, KC_NO }, \
{ k10, k12, k13, k14 }, \
{ k20, k22, k23, k24 }, \
{ k30, k32, k33, k34 }, \
}
// clang-format on
+30
View File
@@ -0,0 +1,30 @@
{
"keyboard_name": "earth_rover",
"url": "https://github.com/bigwheel/earth_rover",
"maintainer": "k.bigwheel",
"width": 4,
"height": 4,
"layouts": {
"LAYOUT": {
"layout": [
{"label": "k10", "x": 1.25, "y": 0},
{"label": "k20", "x": 2.25, "y": 0},
{"label": "k01", "x": 0, "y": 1.25},
{"label": "k11", "x": 1.25, "y": 1.25},
{"label": "k21", "x": 2.25, "y": 1.25},
{"label": "k31", "x": 3.5, "y": 1.25},
{"label": "k02", "x": 0, "y": 2.25},
{"label": "k12", "x": 1.25, "y": 2.25},
{"label": "k22", "x": 2.25, "y": 2.25},
{"label": "k32", "x": 3.5, "y": 2.25},
{"label": "k03", "x": 0, "y": 3.25},
{"label": "k13", "x": 1.25, "y": 3.25},
{"label": "k23", "x": 2.25, "y": 3.25},
{"label": "k33", "x": 3.5, "y": 3.25}
]
}
}
}
@@ -0,0 +1,31 @@
/* Copyright 2020 k.bigwheel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// Defines names for use in layer keycodes and the keymap
enum layer_names { _BASE };
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
KC_A, KC_B,
KC_C, KC_D, KC_E, KC_F,
KC_G, KC_H, KC_I, KC_J,
KC_K, KC_L, KC_M, KC_N
)
};
// clang-format on
@@ -0,0 +1 @@
# The default keymap for earth_rover
+22
View File
@@ -0,0 +1,22 @@
# earth_rover
![earth_rover](https://pbs.twimg.com/media/Eqh29nYUUAA-9NE?format=jpg)
Mechanical warm, or just cubic macro pad.
* Keyboard Maintainer: [k.bigwheel](https://github.com/bigwheel)
* Build Guide: [bigwheel/earth\_rover](https://github.com/bigwheel/earth_rover)
* Hardware Supported: [無限の可能性 \| MxLEDBitPCB](https://swanmatch.github.io/MxLEDBitPCB/), Pro Micro
* Hardware Availability: [魔界鍵盤製作所 \- BOOTH](https://swanmatch.booth.pm/), [Pro Micro (コンスルー付き) \| 遊舎工房](https://yushakobo.jp/shop/promicro-spring-pinheader/)
Make example for this keyboard (after setting up your build environment):
make earth_rover:default
Reset Pro Micro by reset button on ProMicroSocket (Red LED must light).
Flashing example for this keyboard:
make earth_rover:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+22
View File
@@ -0,0 +1,22 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
+84
View File
@@ -0,0 +1,84 @@
/*
Copyright 2021 Salicylic_Acid
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x04D8
#define PRODUCT_ID 0xEA54
#define DEVICE_VER 0x0001
#define MANUFACTURER Salicylic_Acid
#define PRODUCT ergoarrows
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 7
// wiring of each half
#define MATRIX_ROW_PINS { D4, C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 }
#define DIODE_DIRECTION COL2ROW
/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 5
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D0
#define SPLIT_HAND_PIN B6
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
#define LOCKING_SUPPORT_ENABLE
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
/* ws2812 RGB LED */
#define RGB_DI_PIN D3
#ifndef RGBLED_NUM
#define RGBLED_NUM 86
#define RGBLIGHT_SPLIT
#define RGBLED_SPLIT { 43, 43 }
#endif
#define RGBLIGHT_ANIMATIONS
#ifndef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 90
#define RGBLIGHT_VAL_STEP 17
#else
#define RGBLIGHT_LIMIT_VAL 30
#define RGBLIGHT_VAL_STEP 4
#endif
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17
#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
// USB_MAX_POWER_CONSUMPTION value for naked48 keyboard
// 120 RGBoff, OLEDoff
// 120 OLED
// 330 RGB 6
// 300 RGB 32
// 310 OLED & RGB 32
#define USB_MAX_POWER_CONSUMPTION 400
#else
// fix iPhone and iPad power adapter issue
// iOS device need lessthan 100
#define USB_MAX_POWER_CONSUMPTION 100
#endif
+18
View File
@@ -0,0 +1,18 @@
/*
Copyright 2021 Salicylic_Acid
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "ergoarrows.h"
+59
View File
@@ -0,0 +1,59 @@
/*
Copyright 2021 Salicylic_Acid
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
/*
* ,------------------------------------------ ------------------------------------------.
* | L00 | L01 | L02 | L03 | L04 | L05 | L06 | | R06 | R05 | R04 | R03 | R02 | R01 | R00 |
* |------------------------------------------ ------------------------------------------+
* | L10 | L11 | L12 | L13 | L14 | L15 | L16 | | R16 | R15 | R14 | R13 | R12 | R11 | R10 |
* |------------------------------------------ ------------------------------------------+
* | L20 | L21 | L22 | L23 | L24 | L25 | L26 | | R26 | R25 | R24 | R23 | R22 | R21 | R20 |
* |------------------------------------------ ------------------------------------------+
* | L30 | L31 | L32 | L33 | L34 | L35 | L36 | | R36 | R35 | R34 | R33 | R32 | R31 | R30 |
* |------------------------------------------ ------------------------------------------+
* | L40 | L41 | L42 | L43 | L44 | L45 | L46 | | R46 | R45 | R44 | R43 | R42 | R41 | R40 |
* |------------------------------------------ ------------------------------------------+
* | L51 | L52 | L53 | | R53 | R52 | R51 |
* ------------------- ------------------'
*/
#define LAYOUT( \
L00, L01, L02, L03, L04, L05, L06, R06, R05, R04, R03, R02, R01, R00, \
L10, L11, L12, L13, L14, L15, L16, R16, R15, R14, R13, R12, R11, R10, \
L20, L21, L22, L23, L24, L25, L26, R26, R25, R24, R23, R22, R21, R20, \
L30, L31, L32, L33, L34, L35, L36, R36, R35, R34, R33, R32, R31, R30, \
L40, L41, L42, L43, L44, L45, L46, R46, R45, R44, R43, R42, R41, R40, \
L51, L52, L53, R53, R52, R51 \
) \
{ \
{ L00, L01, L02, L03, L04, L05, L06 }, \
{ L10, L11, L12, L13, L14, L15, L16 }, \
{ L20, L21, L22, L23, L24, L25, L26 }, \
{ L30, L31, L32, L33, L34, L35, L36 }, \
{ L40, L41, L42, L43, L44, L45, L46 }, \
{KC_NO, L51, L52, L53, KC_NO, KC_NO, KC_NO }, \
{ R00, R01, R02, R03, R04, R05, R06 }, \
{ R10, R11, R12, R13, R14, R15, R16 }, \
{ R20, R21, R22, R23, R24, R25, R26 }, \
{ R30, R31, R32, R33, R34, R35, R36 }, \
{ R40, R41, R42, R43, R44, R45, R46 }, \
{KC_NO, R51, R52, R53, KC_NO, KC_NO, KC_NO } \
}
+87
View File
@@ -0,0 +1,87 @@
{
"keyboard_name": "ergoarrows",
"url": "https://salicylic-acid3.hatenablog.com/",
"maintainer": "Salicylic_acid3",
"width": 16.25,
"height": 6.51,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"#", "x":3.5, "y":0},
{"label":"*", "x":12.25, "y":0},
{"label":"@", "x":2.5, "y":0.125},
{"label":"$", "x":4.5, "y":0.125},
{"label":"&", "x":11.25, "y":0.13},
{"label":"(", "x":13.25, "y":0.13},
{"label":"%", "x":5.5, "y":0.25},
{"label":"^", "x":10.25, "y":0.25},
{"label":"!", "x":1.5, "y":0.375},
{"label":"Esc", "x":0.5, "y":0.38},
{"label":")", "x":14.25, "y":0.38},
{"label":"PrtScr", "x":15.25, "y":0.38},
{"x":6.5, "y":0.5}, {"x":9.25, "y":0.5},
{"label":"E", "x":3.5, "y":1},
{"label":"I", "x":12.25, "y":1},
{"label":"W", "x":2.5, "y":1.125},
{"label":"R", "x":4.5, "y":1.125},
{"label":"U", "x":11.25, "y":1.13},
{"label":"O", "x":13.25, "y":1.13},
{"label":"T", "x":5.5, "y":1.25},
{"label":"Y", "x":10.25, "y":1.25},
{"label":"Q", "x":1.5, "y":1.375},
{"label":"Tab", "x":0.5, "y":1.38},
{"label":"P", "x":14.25, "y":1.38},
{"label":"\u2019", "x":15.25, "y":1.38},
{"label":"[", "x":6.5, "y":1.5},
{"label":"]", "x":9.25, "y":1.5},
{"label":"D", "x":3.5, "y":2},
{"label":"K", "x":12.25, "y":2},
{"label":"S", "x":2.5, "y":2.125},
{"label":"F", "x":4.5, "y":2.125},
{"label":"J", "x":11.25, "y":2.13},
{"label":"L", "x":13.25, "y":2.13},
{"label":"G", "x":5.5, "y":2.25},
{"label":"H", "x":10.25, "y":2.25},
{"label":"A", "x":1.5, "y":2.375},
{"label":"Caps", "x":0.5, "y":2.38},
{"label":":", "x":14.25, "y":2.38},
{"label":"Ent", "x":15.25, "y":2.38},
{"label":"(", "x":6.5, "y":2.5},
{"label":")", "x":9.25, "y":2.5},
{"label":"C", "x":3.5, "y":3},
{"label":"<", "x":12.25, "y":3},
{"label":"X", "x":2.5, "y":3.125},
{"label":"V", "x":4.5, "y":3.125},
{"label":"M", "x":11.25, "y":3.13},
{"label":">", "x":13.25, "y":3.13},
{"label":"B", "x":5.5, "y":3.25},
{"label":"N", "x":10.25, "y":3.25},
{"label":"Z", "x":1.5, "y":3.375},
{"label":"Shift", "x":0.5, "y":3.38},
{"label":"?", "x":14.25, "y":3.38},
{"label":"_", "x":15.25, "y":3.38},
{"x":6.5, "y":3.5},
{"x":9.25, "y":3.5},
{"label":"Ctrl", "x":0.5, "y":4.375},
{"label":"Win", "x":1.5, "y":4.38},
{"label":"\u7121\u5909", "x":3.75, "y":4.38},
{"label":"Ent", "x":4.75, "y":4.38},
{"label":"Spc", "x":11, "y":4.38},
{"label":"\u5909\u63db", "x":12, "y":4.38},
{"label":"Alt", "x":14.25, "y":4.38},
{"label":"App", "x":15.25, "y":4.38},
{"label":"\u2191", "x":2.625, "y":4.505},
{"label":"\u2191", "x":13.13, "y":4.51},
{"label":"BS", "x":5.85, "y":4.6},
{"label":"Del", "x":9.9, "y":4.6},
{"label":"Del", "x":6.9, "y":5.15},
{"label":"BS", "x":8.85, "y":5.15},
{"label":"\u2190", "x":1.625, "y":5.505},
{"label":"\u2193", "x":2.625, "y":5.505},
{"label":"\u2192", "x":3.625, "y":5.505},
{"label":"\u2190", "x":12.13, "y":5.51},
{"label":"\u2193", "x":13.13, "y":5.51},
{"label":"\u2192", "x":14.13, "y":5.51}]
}
}
}
@@ -0,0 +1,22 @@
/* Copyright 2021 Salicylic_acid3
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Select hand configuration */
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 180
@@ -0,0 +1,61 @@
/*
Copyright 2021 Salicylic_Acid
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
enum layer_number {
_QWERTY = 0,
_FN,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
//,--------------------------------------------------------------| |--------------------------------------------------------------.
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
KC_LCTRL, KC_LGUI, KC_UP, KC_LALT, KC_SPC, KC_BSPC, KC_DEL, KC_BSPC, KC_DEL, KC_SPC, KC_RALT, KC_UP, KC_APP, MO(_FN),
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
KC_LEFT, KC_DOWN, KC_RGHT, KC_LEFT, KC_DOWN, KC_RGHT
//|--------------------------------------------------------------| |--------------------------------------------------------------'
),
[_FN] = LAYOUT(
//,--------------------------------------------------------------| |--------------------------------------------------------------.
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_LBRC, KC_RBRC,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_QUOT, _______,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
_______, RGB_TOG, RGB_MOD, _______, RGB_SAD, RGB_SAI, _______, _______, _______, _______, KC_END, KC_PGDN, _______, _______,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
_______, RGB_VAD, KC_VOLU, RGB_VAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, MO(_FN),
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______
//|--------------------------------------------------------------| |--------------------------------------------------------------'
)
};
@@ -0,0 +1,22 @@
/* Copyright 2021 Salicylic_acid3
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Select hand configuration */
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 180
@@ -0,0 +1,101 @@
/*
Copyright 2021 Salicylic_Acid
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "keymap_jp.h"
// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.
enum layer_number {
_QWERTY = 0,
_LOWER,
_RAISE,
_ADJUST,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
//,--------------------------------------------------------------| |--------------------------------------------------------------.
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_LCTRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_G, KC_H, KC_J, KC_K, KC_L, JP_MINS, KC_ENT,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, JP_SLSH, JP_BSLS,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
LALT_T(KC_ZKHK),KC_LGUI, KC_UP, KC_MHEN,LT(_LOWER,KC_ENT),KC_BSPC,KC_DEL,KC_BSPC,KC_DEL,LT(_RAISE,KC_SPC),KC_HENK,KC_UP,KC_RSFT, KC_APP,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_LEFT, KC_DOWN, KC_RGHT, KC_LEFT, KC_DOWN, KC_RGHT
//|--------------------------------------------------------------| |--------------------------------------------------------------'
),
[_LOWER] = LAYOUT(
//,--------------------------------------------------------------| |--------------------------------------------------------------.
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
JP_DQUO, JP_EXLM, JP_QUES, JP_LBRC, JP_RBRC, JP_TILD, _______, _______, KC_P6, KC_P7, KC_P8, KC_P9, JP_ASTR, JP_SLSH,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
JP_QUOT, JP_HASH, JP_DQT, JP_LPRN, JP_RPRN, JP_AT, _______, _______, XXXXXXX, KC_P4, KC_P5, KC_P6, JP_MINS, JP_EQL,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
JP_CIRC, JP_PERC, JP_AMPR, JP_SCLN, JP_COLN, JP_PIPE, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, JP_PLUS, _______,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______,MO(_LOWER),_______,_______, _______, _______,MO(_RAISE),JP_DOT, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
_______, _______, _______, _______, _______, _______
//|--------------------------------------------------------------| |--------------------------------------------------------------'
),
[_RAISE] = LAYOUT(
//,--------------------------------------------------------------| |--------------------------------------------------------------.
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
LCTL_T(KC_F11),XXXXXXX, KC_F2, KC_F3, KC_F4, KC_F5, _______, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
SFT_T(KC_F12), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
_______, _______, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_MPRV, KC_VOLD, KC_MNXT, _______, _______, _______
//|--------------------------------------------------------------| |--------------------------------------------------------------'
),
[_ADJUST] = LAYOUT(
//,--------------------------------------------------------------| |--------------------------------------------------------------.
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX,LCA(KC_DEL),LALT(KC_PSCR),KC_PSCR,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RESET, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+-----------------| |--------+--------+--------+--------+--------+--------+--------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
//|--------------------------------------------------------------| |--------------------------------------------------------------'
)
};
layer_state_t layer_state_set_user(layer_state_t state) {
state = update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
return state;
}
+22
View File
@@ -0,0 +1,22 @@
/* Copyright 2021 Salicylic_acid3
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/* Select hand configuration */
#define TAPPING_FORCE_HOLD
#define TAPPING_TERM 180

Some files were not shown because too many files have changed in this diff Show More