[Keymap] Misc userspace and keymap improvements (#15844)

This commit is contained in:
Reibl János Dániel 2022-01-13 18:16:03 +01:00 committed by GitHub
parent e2d1547f31
commit a3af4b09b0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 50 additions and 53 deletions

View file

@ -29,13 +29,10 @@
#define MATRIX_ROW_PINS { A6, A5, A4, A3, A2 }
#define MATRIX_COL_PINS { B10, B1, B0, B15, A8, B3, B4, B5, B14, A0, B8, B9 }
#define UNUSED_PINS
#define UNUSED_PINS { A1, A7, B2, B11, B12, B13 }
#define DIODE_DIRECTION COL2ROW
#define BACKLIGHT_PIN A1
#define BACKLIGHT_LEVELS 5
#define MOUSEKEY_INTERVAL 32
#define TAPPING_TERM 175

View file

@ -7,15 +7,14 @@ BOOTLOADER = stm32-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
KEYBOARD_SHARED_EP = yes
KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+mouse+extra
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = yes # Enable N-Key Rollover
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
BACKLIGHT_DRIVER = software
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output

View file

@ -44,15 +44,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower |Space |Space |Raise | / | Left | Down |Right |
* | Ctrl | GUI | Alt |Shift |Lower | Space |Raise | / | Left | Down |Right |
* `-----------------------------------------------------------------------------------'
*/
[_QWERTY] = LAYOUT_ortho_5x12(
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
KC_LCTL, KC_LGUI, KC_LALT, KC_RSPC, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
),
/* Hungarian
@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower |Space |Space |Raise | / | Left | Down |Right |
* | Ctrl | GUI | Alt |Shift |Lower | Space |Raise | / | Left | Down |Right |
* `-----------------------------------------------------------------------------------'
*/
[_HUNGARIAN] = LAYOUT_ortho_5x12(
@ -86,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| Z | X | C | V | B | K | M | , | . | Up |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | / | Left | Down |Right |
* | Ctrl | GUI | Alt |Shift |Lower | Space |Raise | / | Left | Down |Right |
* `-----------------------------------------------------------------------------------'
*/
[_COLEMAK] = LAYOUT_ortho_5x12(
@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL,
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_UP, KC_ENT,
BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
KC_LCTL, KC_LGUI, KC_LALT, KC_RSPC, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
),
/* Dvorak
@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
* | Ctrl | GUI | Alt |Shift |Lower | Space |Raise | Left | Down | Up |Right |
* `-----------------------------------------------------------------------------------'
*/
[_DVORAK] = LAYOUT_ortho_5x12(
@ -115,7 +115,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL,
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT,
BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
KC_LCTL, KC_LGUI, KC_LALT, KC_RSPC, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Workman
@ -128,7 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Shift| Z | X | M | C | V | K | L | , | . | Up |Enter |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | / | Left | Down |Right |
* | Ctrl | GUI | Alt |Shift |Lower | Space |Raise | / | Left | Down |Right |
* `-----------------------------------------------------------------------------------'
*/
[_WORKMAN] = LAYOUT_ortho_5x12(
@ -136,7 +136,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN, KC_DEL,
KC_ESC, KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_UP, KC_ENT,
BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
KC_LCTL, KC_LGUI, KC_LALT, KC_RSPC, LOWER, KC_SPC, KC_SPC, RAISE, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT
),
/* Lower
@ -189,7 +189,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |------+------+------+------+------+-------------+------+------+------+------+------|
* | | |Mu mod|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| HUN |Wrkmn |
* |------+------+------+------+------+------|------+------+------+------+------+------|
* | | | | | | | NKRO | Mac |Linux | | | |
* | | | | | UCM | R_UCM| NKRO |CGNorm|CGSwap| | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | | | | | | | | | | | |
* `-----------------------------------------------------------------------------------'
@ -198,7 +198,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
_______, RESET, DEBUG, _______, _______, _______, _______, TERM_ON, TERM_OFF, KC_INS, KC_PSCR, KC_DEL,
_______, _______, MU_MOD, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, HUNGARIAN, WORKMAN,
_______, _______, _______, _______, _______, _______, NK_TOGG, CG_NORM, CG_SWAP, _______, _______, _______,
_______, _______, _______, _______, UC_MOD, UC_RMOD, NK_TOGG, CG_NORM, CG_SWAP, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)

View file

@ -14,7 +14,7 @@ Qwerty
|------+------+------+------+------+------|------+------+------+------+------+------|
| Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Brite| Ctrl | Alt | GUI |Lower |Space |Space |Raise | / | Left | Down |Right |
| Ctrl | GUI | Alt |Shift |Lower | Space |Raise | / | Left | Down |Right |
`-----------------------------------------------------------------------------------'
Hungarian
@ -27,7 +27,7 @@ Qwerty
|------+------+------+------+------+------|------+------+------+------+------+------|
| Shift| Z | X | C | V | B | N | M | , | . | Up |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Brite| Ctrl | Alt | GUI |Lower |Space |Space |Raise | / | Left | Down |Right |
| Ctrl | GUI | Alt |Shift |Lower | Space |Raise | / | Left | Down |Right |
`-----------------------------------------------------------------------------------'
Colemak
@ -40,7 +40,7 @@ Colemak
|------+------+------+------+------+------|------+------+------+------+------+------|
| Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
| Ctrl | GUI | Alt |Shift |Lower | Space |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
Dvorak
@ -53,7 +53,20 @@ Dvorak
|------+------+------+------+------+------|------+------+------+------+------+------|
| Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
| Ctrl | GUI | Alt |Shift |Lower | Space |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
Workman
,-----------------------------------------------------------------------------------.
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Tab | Q | D | R | W | B | J | F | U | P | ; | Del |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Esc | A | S | H | T | G | Y | N | E | O | I | ' |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Shift| Z | X | M | C | V | K | L | , | . | Up |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Ctrl | GUI | Alt |Shift |Lower | Space |Raise | / | Left | Down |Right |
`-----------------------------------------------------------------------------------'
Lower

View file

@ -18,15 +18,13 @@
#include "raw_hid.h"
#include <string.h>
const uint8_t shift = MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT);
// Tap Dance functions
void dance_key_a (qk_tap_dance_state_t *state, void *user_data) {
if (state->count == 1) {
SEND_STRING("a");
reset_tap_dance(state);
} else if (state->count == 2) {
if (!(keyboard_report->mods & shift)) {
if (!(keyboard_report->mods & MOD_MASK_SHIFT)) {
send_unicode_string("á");
} else {
send_unicode_string("Á");
@ -41,7 +39,7 @@ void dance_key_e (qk_tap_dance_state_t *state, void *user_data) {
SEND_STRING("e");
reset_tap_dance(state);
} else if (state->count == 2) {
if (!(keyboard_report->mods & shift)) {
if (!(keyboard_report->mods & MOD_MASK_SHIFT)) {
send_unicode_string("é");
} else {
send_unicode_string("É");
@ -56,7 +54,7 @@ void dance_key_i (qk_tap_dance_state_t *state, void *user_data) {
SEND_STRING("i");
reset_tap_dance(state);
} else if (state->count == 2) {
if (!(keyboard_report->mods & shift)) {
if (!(keyboard_report->mods & MOD_MASK_SHIFT)) {
send_unicode_string("í");
} else {
send_unicode_string("Í");
@ -71,7 +69,7 @@ void dance_key_o (qk_tap_dance_state_t *state, void *user_data) {
SEND_STRING("o");
reset_tap_dance(state);
} else if (state->count == 2) {
if (!(keyboard_report->mods & shift)) {
if (!(keyboard_report->mods & MOD_MASK_SHIFT)) {
send_unicode_string("ó");
} else {
send_unicode_string("Ó");
@ -79,7 +77,7 @@ void dance_key_o (qk_tap_dance_state_t *state, void *user_data) {
reset_tap_dance(state);
} else if (state->count == 3) {
if (!(keyboard_report->mods & shift)) {
if (!(keyboard_report->mods & MOD_MASK_SHIFT)) {
send_unicode_string("ö");
} else {
send_unicode_string("Ö");
@ -87,7 +85,7 @@ void dance_key_o (qk_tap_dance_state_t *state, void *user_data) {
reset_tap_dance(state);
} else if (state->count == 4) {
if (!(keyboard_report->mods & shift)) {
if (!(keyboard_report->mods & MOD_MASK_SHIFT)) {
send_unicode_string("ő");
} else {
send_unicode_string("Ő");
@ -102,7 +100,7 @@ void dance_key_u (qk_tap_dance_state_t *state, void *user_data) {
SEND_STRING("u");
reset_tap_dance(state);
} else if (state->count == 2) {
if (!(keyboard_report->mods & shift)) {
if (!(keyboard_report->mods & MOD_MASK_SHIFT)) {
send_unicode_string("ú");
} else {
send_unicode_string("Ú");
@ -110,7 +108,7 @@ void dance_key_u (qk_tap_dance_state_t *state, void *user_data) {
reset_tap_dance(state);
} else if (state->count == 3) {
if (!(keyboard_report->mods & shift)) {
if (!(keyboard_report->mods & MOD_MASK_SHIFT)) {
send_unicode_string("ü");
} else {
send_unicode_string("Ü");
@ -118,7 +116,7 @@ void dance_key_u (qk_tap_dance_state_t *state, void *user_data) {
reset_tap_dance(state);
} else if (state->count == 4) {
if (!(keyboard_report->mods & shift)) {
if (!(keyboard_report->mods & MOD_MASK_SHIFT)) {
send_unicode_string("ű");
} else {
send_unicode_string("Ű");
@ -164,23 +162,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
case BACKLIT:
if (record->event.pressed) {
register_code(keycode_config(KC_LGUI));
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
} else {
unregister_code(keycode_config(KC_LGUI));
}
return false;
break;
case CG_NORM:
set_unicode_input_mode(UC_MAC);
break;
case CG_SWAP:
set_unicode_input_mode(UC_LNX);
break;
}
return true;
};
@ -287,3 +268,11 @@ void raw_hid_receive(uint8_t *data, uint8_t length) {
#endif
#endif
void keyboard_pre_init_user(void) {
// Set C13 pin as output
setPinOutput(C13);
// Turn off the LED
writePinHigh(C13);
}

View file

@ -35,7 +35,6 @@ enum custom_keycodes {
COLEMAK,
DVORAK,
WORKMAN,
BACKLIT
};
#define LOWER MO(_LOWER)