Merge pull request #16 from qmk/master

update to latest
This commit is contained in:
MichaelGK
2022-09-23 12:51:35 +01:00
committed by GitHub
44 changed files with 455 additions and 159 deletions
+1 -1
View File
@@ -12,7 +12,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v5
- uses: actions/stale@v6
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
+8 -6
View File
@@ -52,6 +52,9 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
- valid maintainer
- valid USB VID/PID and device version
- displays correctly in Configurator (press Ctrl+Shift+I to preview local file, turn on fast input to verify ordering)
- `layout` definitions should include matrix positions, so that `LAYOUT` macros can be generated at build time
- should use standard definitions if applicable
- use the Community Layout macro names where they apply (preferred above `LAYOUT`/`LAYOUT_all`)
- `readme.md`
- standard template should be present -- [link to template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md)
- flash command is present, and has `:flash` at end
@@ -82,17 +85,15 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
- Vial-related files or changes will not be accepted, as they are not used by QMK firmware (no Vial-specific core code has been submitted or merged)
- `<keyboard>.c`
- empty `xxxx_xxxx_kb()` or other weak-defined default implemented functions removed
- empty `xxxx_xxxx_user()` or other user-level functions are disallowed at the keyboard level and must be moved to keymaps
- commented-out functions removed too
- `matrix_init_board()` etc. migrated to `keyboard_pre_init_kb()`, see: [keyboard_pre_init*](custom_quantum_functions.md?id=keyboard_pre_init_-function-documentation)
- prefer `CUSTOM_MATRIX = lite` if custom matrix used, allows for standard debounce, see [custom matrix 'lite'](custom_matrix.md?id=lite)
- prefer LED indicator [Configuration Options](feature_led_indicators.md?id=configuration-options) to custom `led_update_*()` implementations where possible
- Encoder support should not be hacked into the keymap here -- no `tap_code(dynamic_keymap_get_keycode())` or `action_exec()` hacks. The [Encoder Map](feature_encoders.md?id=encoder-map) feature already supports the dynamic keymap feature (what power's VIA's "live keymap updates" capability).
- If support is absolutely necessary, it should be implemented exclusively at the keymap level, with none of the implementation bleeding into the keyboard level (no empty rows/columns, no encoder specific layouts, etc.), as those configurations can be redefined at the keymap level. Keymaps can then choose to use the `action_exec` hack. <!-- because people will complain, give them a way to implement it, in the meanwhile. To be removed. -->
- [Request for official proper VIA support](https://github.com/the-via/app/issues/26)
- Encoder support should not require any keyboard-level code, and associated keymaps should now leverage the [Encoder Map](feature_encoders.md?id=encoder-map) feature instead.
- `<keyboard>.h`
- `#include "quantum.h"` appears at the top
- `LAYOUT` macros should use standard definitions if applicable
- use the Community Layout macro names where they apply (preferred above `LAYOUT`/`LAYOUT_all`)
- `LAYOUT` macros should be moved to `info.json`
- keymap `config.h`
- no duplication of `rules.mk` or `config.h` from keyboard
- `keymaps/default/keymap.c`
@@ -111,7 +112,7 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
- submitters can have a personal (or bells-and-whistles) keymap showcasing capabilities in the same PR but it shouldn't be embedded in the 'default' keymap
- submitters can also have a "manufacturer-matching" keymap that mirrors existing functionality of the commercial product, if porting an existing board
- Do not include VIA json files in the PR. These do not belong in the QMK repository as they are not used by QMK firmware -- they belong in the [VIA Keyboard Repo](https://github.com/the-via/keyboards)
- Do not include source files from another keyboard or vendors keyboard folder. Including core files is fine.
- Do not include source files from another keyboard or vendors keyboard folder. Including core files is fine.
- For instance, only `wilba_tech` boards using be including `keyboards/wilba_tech/wt_main.c` and `keyboards/wilba_tech/wt_rgb_backlight.c`. But including `drivers/sensors/pmw3360.c` is absolutely fine.
- Code that needs to be used by multiple boards is a candidate for core code changes, and should be separated out.
@@ -134,6 +135,7 @@ Also, specific to ChibiOS:
- for new MCUs, a new "child" keyboard should be added that targets your newly-added MCU, so that builds can be verified
- for new hardware support such as display panels, core-side matrix implementations, or other peripherals, an associated keymap should be provided
- if an existing keymap exists that can leverage this functionality this may not be required (e.g. a new RGB driver chip, supported by the `rgb` keymap) -- consult with the QMK Collaborators on Discord to determine if there is sufficient overlap already
- any features adding `_kb`/`_user` callbacks must return a `bool`, to allow for user override of keyboard-level callbacks.
- other requirements are at the discretion of QMK collaborators
- core is a lot more subjective given the breadth of posted changes
@@ -38,10 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
#define EEPROM_I2C_24LC256
//#define I2C1_CLOCK_SPEED 400000
//#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
#define RGB_DI_PIN B15
+1 -3
View File
@@ -1,4 +1,4 @@
/* Copyright 2022 QMK
/* Copyright 2022 Gondolindrim <gondolindrim@acheronproject.com>
*
* 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
@@ -16,8 +16,6 @@
#pragma once
#define HAL_USE_I2C TRUE
#define HAL_USE_PWM TRUE
#define HAL_USE_PAL TRUE
@@ -18,9 +18,6 @@
#include_next <mcuconf.h>
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
#undef STM32_PWM_USE_ADVANCED
#define STM32_PWM_USE_ADVANCED TRUE
+2 -1
View File
@@ -19,7 +19,8 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
EEPROM_DRIVER = i2c
EEPROM_DRIVER = wear_leveling
WEAR_LEVELING_DRIVER = legacy
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE
@@ -38,10 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Locking resynchronize hack */
#define LOCKING_RESYNC_ENABLE
#define EEPROM_I2C_24LC256
//#define I2C1_CLOCK_SPEED 400000
//#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
// RGB Matrix defines
@@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "gamma.h"
void board_init(void) {
setPinInput(B9);
setPinInput(B10);
}
#ifdef RGB_MATRIX_ENABLE
const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
@@ -126,7 +121,6 @@ const is31_led PROGMEM g_is31_leds[DRIVER_LED_TOTAL] = {
};
led_config_t g_led_config = { {
{ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 },
{ 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 },
@@ -18,7 +18,4 @@
#define HAL_USE_I2C TRUE
// #define HAL_USE_PWM TRUE
// #define HAL_USE_PAL TRUE
#include_next <halconf.h>
@@ -20,9 +20,3 @@
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
// #undef STM32_PWM_USE_ADVANCED
// #define STM32_PWM_USE_ADVANCED TRUE
// #undef STM32_PWM_USE_TIM1
// #define STM32_PWM_USE_TIM1 TRUE
+2 -1
View File
@@ -20,7 +20,8 @@ AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = IS31FL3741
KEYBOARD_SHARED_EP = yes
EEPROM_DRIVER = i2c
EEPROM_DRIVER = wear_leveling
WEAR_LEVELING_DRIVER = legacy
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE
@@ -16,8 +16,6 @@
#pragma once
#define HAL_USE_I2C TRUE
#define HAL_USE_PWM TRUE
#define HAL_USE_PAL TRUE
@@ -18,9 +18,6 @@
#include_next <mcuconf.h>
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
#undef STM32_PWM_USE_ADVANCED
#define STM32_PWM_USE_ADVANCED TRUE
+3
View File
@@ -19,5 +19,8 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
EEPROM_DRIVER = wear_leveling
WEAR_LEVELING_DRIVER = legacy
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE
-5
View File
@@ -17,11 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "88htsc.h"
void board_init(void) {
setPinInput(B9);
setPinInput(B10);
}
led_config_t g_led_config = { {
{ 16 , 15 , 14 , 13 , 12 , 11 , 10 , 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 },
{ 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 },
@@ -16,8 +16,6 @@
#pragma once
#define HAL_USE_I2C TRUE
#define HAL_USE_PWM TRUE
#define HAL_USE_PAL TRUE
@@ -18,9 +18,6 @@
#include_next <mcuconf.h>
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
#undef STM32_PWM_USE_ADVANCED
#define STM32_PWM_USE_ADVANCED TRUE
+3 -1
View File
@@ -19,7 +19,9 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
RGB_MATRIX_ENABLE = yes
RGB_MATRIX_DRIVER = WS2812
EEPROM_DRIVER = i2c
EEPROM_DRIVER = wear_leveling
WEAR_LEVELING_DRIVER = legacy
# Enter lower-power sleep mode when on the ChibiOS idle thread
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE -DDEBUG_EEPROM_OUTPUT=TRUE
+49 -49
View File
@@ -36,70 +36,70 @@
{ "flags": 2, "x": 17, "y": 10 },
{ "flags": 2, "x": 51, "y": 10 },
{ "flags": 2, "x": 86, "y": 10 },
{ "flags": 2, "x": 137, "y": 55 },
{ "flags": 2, "x": 172, "y": 55 },
{ "flags": 2, "x": 206, "y": 40 },
{ "flags": 2, "x": 206, "y": 10 },
{ "flags": 2, "x": 172, "y": 10 },
{ "flags": 2, "x": 137, "y": 10 },
{ "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
{ "flags": 4, "matrix": [0, 1], "x": 17, "y": 0 },
{ "flags": 4, "matrix": [0, 2], "x": 34, "y": 0 },
{ "flags": 4, "matrix": [0, 3], "x": 51, "y": 0 },
{ "flags": 4, "matrix": [0, 4], "x": 68, "y": 0 },
{ "flags": 4, "matrix": [0, 5], "x": 86, "y": 0 },
{ "flags": 4, "matrix": [5, 5], "x": 137, "y": 0 },
{ "flags": 4, "matrix": [5, 4], "x": 155, "y": 0 },
{ "flags": 4, "matrix": [5, 3], "x": 172, "y": 0 },
{ "flags": 4, "matrix": [5, 2], "x": 189, "y": 0 },
{ "flags": 4, "matrix": [5, 1], "x": 206, "y": 0 },
{ "flags": 1, "matrix": [5, 0], "x": 224, "y": 0 },
{ "flags": 4, "matrix": [0, 4], "x": 68, "y": 0 },
{ "flags": 4, "matrix": [0, 3], "x": 51, "y": 0 },
{ "flags": 4, "matrix": [0, 2], "x": 34, "y": 0 },
{ "flags": 4, "matrix": [0, 1], "x": 17, "y": 0 },
{ "flags": 1, "matrix": [0, 0], "x": 0, "y": 0 },
{ "flags": 1, "matrix": [1, 0], "x": 0, "y": 16 },
{ "flags": 4, "matrix": [1, 1], "x": 17, "y": 16 },
{ "flags": 4, "matrix": [1, 2], "x": 34, "y": 16 },
{ "flags": 4, "matrix": [1, 3], "x": 51, "y": 16 },
{ "flags": 4, "matrix": [1, 4], "x": 68, "y": 16 },
{ "flags": 4, "matrix": [1, 5], "x": 86, "y": 16 },
{ "flags": 4, "matrix": [6, 5], "x": 137, "y": 16 },
{ "flags": 4, "matrix": [6, 4], "x": 155, "y": 16 },
{ "flags": 4, "matrix": [6, 3], "x": 172, "y": 16 },
{ "flags": 4, "matrix": [6, 2], "x": 189, "y": 16 },
{ "flags": 4, "matrix": [6, 1], "x": 206, "y": 16 },
{ "flags": 1, "matrix": [6, 4], "x": 224, "y": 16 },
{ "flags": 1, "matrix": [2, 0], "x": 0, "y": 32 },
{ "flags": 4, "matrix": [2, 1], "x": 17, "y": 32 },
{ "flags": 4, "matrix": [2, 2], "x": 34, "y": 32 },
{ "flags": 4, "matrix": [2, 3], "x": 51, "y": 32 },
{ "flags": 4, "matrix": [2, 4], "x": 68, "y": 32 },
{ "flags": 4, "matrix": [2, 5], "x": 86, "y": 32 },
{ "flags": 4, "matrix": [7, 5], "x": 137, "y": 32 },
{ "flags": 4, "matrix": [7, 4], "x": 155, "y": 32 },
{ "flags": 4, "matrix": [7, 3], "x": 172, "y": 32 },
{ "flags": 4, "matrix": [7, 2], "x": 189, "y": 32 },
{ "flags": 4, "matrix": [7, 1], "x": 206, "y": 32 },
{ "flags": 1, "matrix": [7, 4], "x": 224, "y": 32 },
{ "flags": 4, "matrix": [2, 4], "x": 68, "y": 32 },
{ "flags": 4, "matrix": [2, 3], "x": 51, "y": 32 },
{ "flags": 4, "matrix": [2, 2], "x": 34, "y": 32 },
{ "flags": 4, "matrix": [2, 1], "x": 17, "y": 32 },
{ "flags": 1, "matrix": [2, 0], "x": 0, "y": 32 },
{ "flags": 1, "matrix": [3, 0], "x": 0, "y": 48 },
{ "flags": 4, "matrix": [3, 1], "x": 17, "y": 48 },
{ "flags": 4, "matrix": [3, 2], "x": 34, "y": 48 },
{ "flags": 4, "matrix": [3, 3], "x": 51, "y": 48 },
{ "flags": 4, "matrix": [3, 4], "x": 68, "y": 48 },
{ "flags": 4, "matrix": [3, 5], "x": 86, "y": 48 },
{ "flags": 4, "matrix": [4, 5], "x": 103, "y": 48 },
{ "flags": 4, "matrix": [9, 5], "x": 120, "y": 48 },
{ "flags": 4, "matrix": [8, 5], "x": 137, "y": 48 },
{ "flags": 4, "matrix": [8, 4], "x": 155, "y": 48 },
{ "flags": 4, "matrix": [8, 3], "x": 172, "y": 48 },
{ "flags": 4, "matrix": [8, 2], "x": 189, "y": 48 },
{ "flags": 4, "matrix": [4, 5], "x": 103, "y": 40 },
{ "flags": 1, "matrix": [4, 4], "x": 96, "y": 64 },
{ "flags": 1, "matrix": [4, 3], "x": 77, "y": 64 },
{ "flags": 1, "matrix": [4, 2], "x": 60, "y": 64 },
{ "flags": 1, "matrix": [4, 1], "x": 43, "y": 64 },
{ "flags": 2, "x": 137, "y": 55 },
{ "flags": 2, "x": 172, "y": 55 },
{ "flags": 2, "x": 206, "y": 40 },
{ "flags": 2, "x": 206, "y": 10 },
{ "flags": 2, "x": 172, "y": 10 },
{ "flags": 2, "x": 137, "y": 10 },
{ "flags": 4, "matrix": [5, 5], "x": 137, "y": 0 },
{ "flags": 4, "matrix": [5, 4], "x": 155, "y": 0 },
{ "flags": 4, "matrix": [5, 3], "x": 172, "y": 0 },
{ "flags": 4, "matrix": [5, 2], "x": 189, "y": 0 },
{ "flags": 4, "matrix": [5, 1], "x": 206, "y": 0 },
{ "flags": 1, "matrix": [5, 0], "x": 224, "y": 0 },
{ "flags": 1, "matrix": [6, 0], "x": 224, "y": 16 },
{ "flags": 4, "matrix": [6, 1], "x": 206, "y": 16 },
{ "flags": 4, "matrix": [6, 2], "x": 189, "y": 16 },
{ "flags": 4, "matrix": [6, 3], "x": 172, "y": 16 },
{ "flags": 4, "matrix": [6, 4], "x": 155, "y": 16 },
{ "flags": 4, "matrix": [6, 5], "x": 137, "y": 16 },
{ "flags": 4, "matrix": [7, 5], "x": 137, "y": 32 },
{ "flags": 4, "matrix": [7, 4], "x": 155, "y": 32 },
{ "flags": 4, "matrix": [7, 3], "x": 172, "y": 32 },
{ "flags": 4, "matrix": [7, 2], "x": 189, "y": 32 },
{ "flags": 4, "matrix": [7, 1], "x": 206, "y": 32 },
{ "flags": 1, "matrix": [7, 0], "x": 224, "y": 32 },
{ "flags": 1, "matrix": [8, 0], "x": 224, "y": 48 },
{ "flags": 4, "matrix": [8, 1], "x": 206, "y": 48 },
{ "flags": 1, "matrix": [8, 4], "x": 224, "y": 48 },
{ "flags": 1, "matrix": [4, 1], "x": 34, "y": 64 },
{ "flags": 1, "matrix": [4, 2], "x": 51, "y": 64 },
{ "flags": 1, "matrix": [4, 3], "x": 68, "y": 64 },
{ "flags": 1, "matrix": [4, 4], "x": 86, "y": 64 },
{ "flags": 1, "matrix": [9, 4], "x": 137, "y": 64 },
{ "flags": 1, "matrix": [9, 3], "x": 155, "y": 64 },
{ "flags": 1, "matrix": [9, 2], "x": 172, "y": 64 },
{ "flags": 1, "matrix": [9, 1], "x": 189, "y": 64 }
{ "flags": 4, "matrix": [8, 2], "x": 189, "y": 48 },
{ "flags": 4, "matrix": [8, 3], "x": 172, "y": 48 },
{ "flags": 4, "matrix": [8, 4], "x": 155, "y": 48 },
{ "flags": 4, "matrix": [8, 5], "x": 137, "y": 48 },
{ "flags": 4, "matrix": [9, 5], "x": 120, "y": 40 },
{ "flags": 1, "matrix": [9, 4], "x": 127, "y": 64 },
{ "flags": 1, "matrix": [9, 3], "x": 146, "y": 64 },
{ "flags": 1, "matrix": [9, 2], "x": 163, "y": 64 },
{ "flags": 1, "matrix": [9, 1], "x": 180, "y": 64 }
]
},
"layouts": {
+15 -15
View File
@@ -63,10 +63,10 @@
{"x":4, "y":3.125},
{"x":5, "y":3.25},
{"x":6, "y":3.5},
{"x":7, "y":4},
{"x":8.25, "y":3.75},
{"x":9.75, "y":3.75},
{"x":11, "y":4},
{"x":7, "y":4.25},
{"x":8, "y":4.5},
{"x":10, "y":4.5},
{"x":11, "y":4.25},
{"x":12, "y":3.5},
{"x":13, "y":3.25},
{"x":14, "y":3.125},
@@ -78,20 +78,20 @@
{"x":0, "y":4.375},
{"x":1, "y":4.375},
{"x":2, "y":4.25},
{"x":3, "y":4.25},
{"x":4.333, "y":4.25},
{"x":5.667, "y":4.625},
{"x":7, "y":5},
{"x":8.25, "y":4.75},
{"x":9.75, "y":4.75},
{"x":11, "y":5},
{"x":12.333, "y":4.625},
{"x":13.667, "y":4.25},
{"x":15, "y":4.25},
{"x":3.25, "y":4.25},
{"x":4.5, "y":4.5},
{"x":5.75, "y":5},
{"x":7, "y":5.25},
{"x":8, "y":5.5},
{"x":10, "y":5.5},
{"x":11, "y":5.25},
{"x":12.25, "y":5},
{"x":13.5, "y":4.5},
{"x":14.75, "y":4.25},
{"x":16, "y":4.25},
{"x":17, "y":4.375},
{"x":18, "y":4.375}
]
}
}
}
}
+2
View File
@@ -48,6 +48,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// RGB Matrix
# ifdef RGB_MATRIX_ENABLE
# define DRIVER_LED_TOTAL RGBLED_NUM
# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
# define RGB_MATRIX_KEYPRESSES
// RGB Matrix Animation modes. Explicitly enabled
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
@@ -33,3 +33,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
#ifdef ENCODER_MAP_ENABLE
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[1] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
[2] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
[3] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
};
#endif
@@ -1,2 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
ENCODER_MAP_ENABLE = yes
+10 -1
View File
@@ -46,10 +46,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* ws2812 RGB LED */
#define RGB_DI_PIN E6
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16 // Number of LEDs
#define RGBLED_SPLIT { 8, 8 }
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
// Set 65% column (option 3) and Macro (option 4) on by default
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x00DE
+2
View File
@@ -31,6 +31,7 @@ void eeconfig_init_kb(void) {
eeconfig_init_user();
}
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 0) {
@@ -48,3 +49,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
}
return false;
}
#endif
+10 -1
View File
@@ -46,10 +46,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* ws2812 RGB LED */
#define RGB_DI_PIN E6
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16 // Number of LEDs
#define RGBLED_SPLIT { 8, 8 }
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
// Set 65% column (option 3) and Macro (option 4) on by default
#define VIA_EEPROM_LAYOUT_OPTIONS_DEFAULT 0x00DE
+2 -2
View File
@@ -5,8 +5,8 @@
"maintainer": "nooges",
"usb": {
"vid": "0xCB10",
"pid": "0x3257",
"device_version": "3.0.0"
"pid": "0x3357",
"device_version": "3.1.0"
},
"layout_aliases": {
"LAYOUT": "LAYOUT_60"
+2
View File
@@ -47,6 +47,7 @@ void eeconfig_init_kb(void) {
eeconfig_init_user();
}
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 0) {
@@ -64,3 +65,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
}
return false;
}
#endif
+10 -1
View File
@@ -46,8 +46,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* ws2812 RGB LED */
#define RGB_DI_PIN E6
#define RGBLIGHT_ANIMATIONS
#define RGBLED_NUM 16 // Number of LEDs
#define RGBLED_SPLIT { 8, 8 }
#define RGBLIGHT_LED_MAP { 1, 2, 3, 12, 13, 14, 15, 0, 7, 6, 5, 4, 11, 10, 9, 8 }
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 2)
#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
#define RGBLIGHT_EFFECT_RGB_TEST
#define RGBLIGHT_EFFECT_ALTERNATING
#define RGBLIGHT_EFFECT_TWINKLE
+2 -2
View File
@@ -5,8 +5,8 @@
"maintainer": "nooges",
"usb": {
"vid": "0xCB10",
"pid": "0x4257",
"device_version": "4.0.0"
"pid": "0x4357",
"device_version": "4.1.0"
},
"layout_aliases": {
"LAYOUT": "LAYOUT_60"
+2
View File
@@ -16,6 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quefrency.h"
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 0) {
@@ -33,3 +34,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
}
return false;
}
#endif
+2 -2
View File
@@ -5,8 +5,8 @@
"maintainer": "nooges",
"usb": {
"vid": "0xCB10",
"pid": "0x5257",
"device_version": "5.0.0"
"pid": "0x5357",
"device_version": "5.1.0"
},
"layout_aliases": {
"LAYOUT": "LAYOUT_60"
+2
View File
@@ -16,6 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quefrency.h"
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 0) {
@@ -33,3 +34,4 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
}
return false;
}
#endif
+2 -2
View File
@@ -20,11 +20,11 @@
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
#define MATRIX_ROWS 8
#define MATRIX_COLS 7
// wiring of each half
#define MATRIX_ROW_PINS { F7, D4, D7, B4, B6 }
#define MATRIX_ROW_PINS { F7, D4, D7, B4}
#define MATRIX_COL_PINS { D2, C6, E6, B5, B2, B3, B1 }
#define DIODE_DIRECTION COL2ROW
+1 -1
View File
@@ -32,5 +32,5 @@
{ R00, R01, R02, R03, R04, R05, KC_NO }, \
{ R10, R11, R12, R13, R14, R15, KC_NO }, \
{ R20, R21, R22, R23, R24, R25, KC_NO }, \
{ R30, R31, R32, R33, R34, R35, L36 } \
{ R30, R31, R32, R33, R34, R35, R36 } \
}
+21 -19
View File
@@ -53,23 +53,24 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
/* Qwerty - jimmysjolund 2022-02-06
/* Qwerty - jimmysjolund 2022-09-17
* ,-----------------------------------------------------------------------------------.
* | ` | Q | W | E | R | T | Y | U | I | O | P | Del |
* | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* |Raise | A | S | D | F | G | H | J | K | L | ; | " |
* | Tab | A | S | D | F | G | H | J | K | L | ; | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* |Lower | Z | X | C | V | B | N | M | , | . | / |Shift |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | Tab | GUI |Shift | Bksp | Ctrl |Enter |Space |AltGr | Alt | Down | Up |
* |Raise |Ctrl+ | GUI |Shift |Bksp/ |Lower |Enter |Space |AltGr | Alt | Left |Right |
* | | Alt | | | Ctrl | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_planck_grid(
KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
RAISE, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
LOWER, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_ENT, KC_SPC, KC_ALGR, KC_LALT, KC_DOWN, KC_UP
RAISE, LCTL(KC_LALT), KC_LGUI, KC_LSFT, LCTL_T(KC_BSPC), LOWER, KC_ENT, KC_SPC, KC_ALGR, KC_LALT, KC_LEFT, KC_RGHT
),
/* Colemak Original
@@ -85,20 +86,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
/* Colemak jimmysjolund
* ,-----------------------------------------------------------------------------------.
* | ` | Q | W | F | P | G | J | L | U | Y | ; | Del |
* | Esc | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* |Raise | A | R | S | T | D | H | N | E | I | O | " |
* | Tab | A | R | S | T | D | H | N | E | I | O | " |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* |Lower | Z | X | C | V | B | K | M | , | . | / |Shift |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Esc | Tab | GUI |Shift | Bksp | Ctrl |Enter |Space |AltGr | Alt | Down | Up |
* |Raise |Ctrl+ | GUI |Shift |Bksp/ |Lower |Enter |Space |AltGr | Alt | Left |Right |
* | | Alt | | | Ctrl | | | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_planck_grid(
KC_GRV, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL,
RAISE, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
KC_TAB, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
LOWER, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_ENT, KC_SPC, KC_ALGR, KC_LALT, KC_DOWN, KC_UP
RAISE, LCTL(KC_LALT), KC_LGUI, KC_LSFT, LCTL_T(KC_BSPC), LOWER, KC_ENT, KC_SPC, KC_ALGR, KC_LALT, KC_LEFT, KC_RGHT
),
/* Dvorak
@@ -119,21 +121,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
/* Lower - Jimmy Sjölund 2022-09-19
* ,-----------------------------------------------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
* | Del | ! | @ | # | $ | % | ^ | & | * | ( | ) | + |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
* | | | \ | : | ; | - | [ | ] | _ | , | . | / | ? |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_LOWER] = LAYOUT_planck_grid(
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
KC_DEL, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
KC_PIPE, KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_RBRC, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES,
_______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
@@ -188,7 +190,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_planck_grid(
_______, QK_BOOT, DEBUG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, PLOVER, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, TERM_ON, TERM_OFF, _______, _______, _______,
_______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
@@ -0,0 +1,20 @@
/* Copyright 2022 Thomas Baart <thomas@splitkb.com>
*
* 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
// Lets you roll mod-tap keys
#define IGNORE_MOD_TAP_INTERRUPT
@@ -0,0 +1,257 @@
/* Copyright 2019 Thomas Baart <thomas@splitkb.com>
*
* 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
enum layers {
_QWERTY = 0,
_DVORAK,
_COLEMAK_DH,
_NAV,
_SYM,
_FUNCTION,
_ADJUST,
};
// Aliases for readability
#define QWERTY DF(_QWERTY)
#define COLEMAK DF(_COLEMAK_DH)
#define DVORAK DF(_DVORAK)
#define SYM MO(_SYM)
#define NAV MO(_NAV)
#define FKEYS MO(_FUNCTION)
#define ADJUST MO(_ADJUST)
#define CTL_ESC MT(MOD_LCTL, KC_ESC)
#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE)
#define CTL_MINS MT(MOD_RCTL, KC_MINUS)
#define ALT_ENT MT(MOD_LALT, KC_ENT)
// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter.
// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and
// produces the key `tap` when tapped (i.e. pressed and released).
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* Base Layer: QWERTY
*
* ,-------------------------------------------. ,-------------------------------------------.
* | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "|
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
* | | | Enter| | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
/*
* jimmysjolund 2022-09-13
*
* Base Layer: QWERTY
*
* ,-------------------------------------------. ,-------------------------------------------.
* | Esc | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | Tab | A | S | D | F | G | | H | J | K | L | ; : | ' " |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | Nav | Z | X | C | V | B | [ { | Alt | | Nav | ] } | N | M | , < | . > | / ? | Adjust |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* |Ctrl+ | LGUI | Shift|Bksp/ | Sym | |Enter | Space| AltGr| | |
* | Alt | | | Ctrl | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_QWERTY] = LAYOUT(
KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC,
KC_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L ,KC_SCLN, KC_QUOT,
NAV , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC, KC_LALT, NAV , KC_RBRC, KC_N, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, ADJUST,
LCTL(KC_LALT) , KC_LGUI, KC_LSFT, LCTL_T(KC_BSPC), SYM, KC_ENT, KC_SPC ,KC_ALGR, KC_LEFT, KC_RGHT
),
/*
* Base Layer: Dvorak
*
* ,-------------------------------------------. ,-------------------------------------------.
* | Tab | ' " | , < | . > | P | Y | | F | G | C | R | L | Bksp |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/- _|
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | LShift | ; : | Q | J | K | X | [ { |CapsLk| |F-keys| ] } | B | M | W | V | Z | RShift |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
* | | | Enter| | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_DVORAK] = LAYOUT(
KC_TAB ,KC_QUOTE,KC_COMM, KC_DOT, KC_P , KC_Y , KC_F, KC_G , KC_C , KC_R , KC_L , KC_BSPC,
CTL_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D, KC_H , KC_T , KC_N , KC_S , CTL_MINS,
KC_LSFT ,KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_B, KC_M , KC_W , KC_V , KC_Z , KC_RSFT,
ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP
),
/*
* Base Layer: Colemak DH
*
* ,-------------------------------------------. ,-------------------------------------------.
* | Tab | Q | W | F | P | B | | J | L | U | Y | ; : | Bksp |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* |Ctrl/Esc| A | R | S | T | G | | M | N | E | I | O |Ctrl/' "|
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | LShift | Z | X | C | D | V | [ { |CapsLk| |F-keys| ] } | K | H | , < | . > | / ? | RShift |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu |
* | | | Enter| | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
/*
* jimmysjolund 2022-09-10
* Base Layer: Colemak DH
*
* ,-------------------------------------------. ,-------------------------------------------.
* | Esc | Q | W | F | P | G | | J | L | U | Y | ; : | Bksp |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | Tab | A | R | S | T | D | | H | N | E | I | O |Ctrl/' "|
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | Sym | Z | X | C | V | B | [ { | Alt | | Nav | ] } | K | M | , < | . > | / ? | RShift |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* |Adjust| LGUI |LShift| Bksp | Ctrl | | Enter| Space| AltGr| | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_COLEMAK_DH] = LAYOUT(
KC_ESC , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J, KC_L , KC_U , KC_Y ,KC_SCLN, KC_BSPC,
KC_TAB , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H, KC_N , KC_E , KC_I , KC_O , CTL_QUOT,
SYM , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC, KC_LALT, NAV , KC_RBRC, KC_K, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT,
ADJUST, KC_LGUI, KC_LSFT, KC_BSPC ,KC_LCTL, KC_ENT , KC_SPC ,KC_ALGR, KC_LEFT, KC_RGHT
),
/*
* Nav Layer: Media, navigation
*
* ,-------------------------------------------. ,-------------------------------------------.
* | | | | | | | | PgUp | Home | | End | VolUp| Delete |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | GUI | Alt | Ctrl | Shift| | | PgDn | | | | VolDn| Insert |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_NAV] = LAYOUT(
_______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL,
_______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS,
_______, _______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/*
* Sym Layer: Numbers and symbols
*
* ,-------------------------------------------. ,-------------------------------------------.
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_SYM] = LAYOUT(
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL ,
KC_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS,
KC_PIPE , KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_LCBR, _______, _______, KC_RCBR, KC_RBRC, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/*
* Function Layer: Function keys
*
* ,-------------------------------------------. ,-------------------------------------------.
* | | F9 | F10 | F11 | F12 | | | | | | | | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | F1 | F2 | F3 | F4 | | | | | | | | | | | | |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_FUNCTION] = LAYOUT(
_______, KC_F9 , KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______,
_______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______,
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/*
* Adjust Layer: Default layer settings, RGB
*
* ,-------------------------------------------. ,-------------------------------------------.
* | | | |QWERTY| | | | | | | | | |
* |--------+------+------+------+------+------| |------+------+------+------+------+--------|
* | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | |
* |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
* | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | |
* `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
* | | | | | | | | | | | |
* | | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
*/
[_ADJUST] = LAYOUT(
_______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, DVORAK , _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______,
_______, _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, _______,
_______, _______, _______,_______, _______, _______, _______, _______, _______, _______
),
// /*
// * Layer template
// *
// * ,-------------------------------------------. ,-------------------------------------------.
// * | | | | | | | | | | | | | |
// * |--------+------+------+------+------+------| |------+------+------+------+------+--------|
// * | | | | | | | | | | | | | |
// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------|
// * | | | | | | | | | | | | | | | | | |
// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------'
// * | | | | | | | | | | | |
// * | | | | | | | | | | | |
// * `----------------------------------' `----------------------------------'
// */
// [_LAYERINDEX] = LAYOUT(
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
// ),
};
@@ -0,0 +1,4 @@
OLED_ENABLE = yes
OLED_DRIVER = SSD1306 # Enables the use of OLED displays
ENCODER_ENABLE = yes # Enables the use of one or more encoders
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
@@ -29,7 +29,7 @@ void process_rgb_matrix_typing_heatmap(uint8_t row, uint8_t col) {
if (i_row == row && i_col == col) {
g_rgb_frame_buffer[row][col] = qadd8(g_rgb_frame_buffer[row][col], 32);
} else {
# define LED_DISTANCE(led_a, led_b) sqrt16(((int8_t)(led_a.x - led_b.x) * (int8_t)(led_a.x - led_b.x)) + ((int8_t)(led_a.y - led_b.y) * (int8_t)(led_a.y - led_b.y)))
# define LED_DISTANCE(led_a, led_b) sqrt16(((int16_t)(led_a.x - led_b.x) * (int16_t)(led_a.x - led_b.x)) + ((int16_t)(led_a.y - led_b.y) * (int16_t)(led_a.y - led_b.y)))
uint8_t distance = LED_DISTANCE(g_led_config.point[g_led_config.matrix_co[row][col]], g_led_config.point[g_led_config.matrix_co[i_row][i_col]]);
# undef LED_DISTANCE
if (distance <= RGB_MATRIX_TYPING_HEATMAP_SPREAD) {
@@ -213,7 +213,7 @@ TEST_F(DefaultTapHold, tap_and_hold_mod_tap_hold_key) {
set_keymap({mod_tap_hold_key});
/* Press mod-tap-hold key. */
EXPECT_REPORT(driver, (KC_LSHIFT));
EXPECT_REPORT(driver, (KC_LEFT_SHIFT));
mod_tap_hold_key.press();
idle_for(TAPPING_TERM + 1);
testing::Mock::VerifyAndClearExpectations(&driver);
@@ -46,9 +46,9 @@ TEST_F(PermissiveHold, tap_regular_key_while_mod_tap_key_is_held) {
testing::Mock::VerifyAndClearExpectations(&driver);
/* Release regular key */
EXPECT_REPORT(driver, (KC_LSHIFT));
EXPECT_REPORT(driver, (KC_LSHIFT, regular_key.report_code));
EXPECT_REPORT(driver, (KC_LSHIFT));
EXPECT_REPORT(driver, (KC_LEFT_SHIFT));
EXPECT_REPORT(driver, (KC_LEFT_SHIFT, regular_key.report_code));
EXPECT_REPORT(driver, (KC_LEFT_SHIFT));
regular_key.release();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
@@ -81,9 +81,9 @@ TEST_F(PermissiveHold, tap_mod_tap_key_while_mod_tap_key_is_held) {
testing::Mock::VerifyAndClearExpectations(&driver);
/* Release second mod-tap-hold key */
EXPECT_REPORT(driver, (KC_LSHIFT));
EXPECT_REPORT(driver, (KC_LSHIFT, second_mod_tap_hold_key.report_code));
EXPECT_REPORT(driver, (KC_LSHIFT));
EXPECT_REPORT(driver, (KC_LEFT_SHIFT));
EXPECT_REPORT(driver, (KC_LEFT_SHIFT, second_mod_tap_hold_key.report_code));
EXPECT_REPORT(driver, (KC_LEFT_SHIFT));
second_mod_tap_hold_key.release();
run_one_scan_loop();
testing::Mock::VerifyAndClearExpectations(&driver);
@@ -42,7 +42,7 @@ TEST_F(RetroTapping, tap_and_hold_mod_tap_hold_key) {
/* Release mod-tap-hold key. */
/* TODO: Why is LSHIFT send at all? */
EXPECT_REPORT(driver, (KC_LSHIFT));
EXPECT_REPORT(driver, (KC_LEFT_SHIFT));
EXPECT_EMPTY_REPORT(driver);
EXPECT_REPORT(driver, (KC_P));
EXPECT_EMPTY_REPORT(driver);
@@ -205,7 +205,7 @@ TEST_F(TappingForceHold, tap_mod_tap_hold_key_twice_and_hold_on_second_time) {
testing::Mock::VerifyAndClearExpectations(&driver);
/* Release mod-tap-hold key. */
EXPECT_REPORT(driver, (KC_LSHIFT));
EXPECT_REPORT(driver, (KC_LEFT_SHIFT));
EXPECT_EMPTY_REPORT(driver);
mod_tap_hold_key.release();
run_one_scan_loop();