diff options
Diffstat (limited to 'keyboards/mechmini/v2/keymaps/default/keymap.c')
| -rwxr-xr-x | keyboards/mechmini/v2/keymaps/default/keymap.c | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/keyboards/mechmini/v2/keymaps/default/keymap.c b/keyboards/mechmini/v2/keymaps/default/keymap.c index e35f25ee4..23f61f918 100755 --- a/keyboards/mechmini/v2/keymaps/default/keymap.c +++ b/keyboards/mechmini/v2/keymaps/default/keymap.c | |||
| @@ -4,11 +4,15 @@ | |||
| 4 | #define _FN1 1 | 4 | #define _FN1 1 |
| 5 | #define _FN2 2 | 5 | #define _FN2 2 |
| 6 | 6 | ||
| 7 | #define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) | 7 | enum custom_keycodes { |
| 8 | SFT_ESC | ||
| 9 | }; | ||
| 10 | |||
| 11 | #define MODS_SHIFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) | ||
| 8 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 12 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 9 | 13 | ||
| 10 | [_BL] = LAYOUT_split_space( | 14 | [_BL] = LAYOUT_split_space( |
| 11 | F(0), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, | 15 | SFT_ESC,KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, |
| 12 | KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, | 16 | KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT, |
| 13 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_RSFT, KC_DOT, | 17 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_RSFT, KC_DOT, |
| 14 | KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RCTL, MO(1), MO(2)), | 18 | KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RCTL, MO(1), MO(2)), |
| @@ -42,10 +46,6 @@ void matrix_init_user(void) { | |||
| 42 | void matrix_scan_user(void) { | 46 | void matrix_scan_user(void) { |
| 43 | } | 47 | } |
| 44 | 48 | ||
| 45 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
| 46 | return true; | ||
| 47 | } | ||
| 48 | |||
| 49 | void led_set_user(uint8_t usb_led) { | 49 | void led_set_user(uint8_t usb_led) { |
| 50 | 50 | ||
| 51 | if (usb_led & (1 << USB_LED_NUM_LOCK)) { | 51 | if (usb_led & (1 << USB_LED_NUM_LOCK)) { |
| @@ -80,21 +80,11 @@ void led_set_user(uint8_t usb_led) { | |||
| 80 | 80 | ||
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | enum function_id { | 83 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 84 | SHIFT_ESC, | 84 | switch (keycode) { |
| 85 | }; | 85 | case SFT_ESC: |
| 86 | |||
| 87 | const uint16_t PROGMEM fn_actions[] = { | ||
| 88 | [0] = ACTION_FUNCTION(SHIFT_ESC), | ||
| 89 | }; | ||
| 90 | |||
| 91 | void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { | ||
| 92 | static uint8_t shift_esc_shift_mask; | ||
| 93 | switch (id) { | ||
| 94 | case SHIFT_ESC: | ||
| 95 | shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; | ||
| 96 | if (record->event.pressed) { | 86 | if (record->event.pressed) { |
| 97 | if (shift_esc_shift_mask) { | 87 | if (get_mods() & MODS_SHIFT_MASK) { |
| 98 | add_key(KC_GRV); | 88 | add_key(KC_GRV); |
| 99 | send_keyboard_report(); | 89 | send_keyboard_report(); |
| 100 | } else { | 90 | } else { |
| @@ -102,7 +92,7 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { | |||
| 102 | send_keyboard_report(); | 92 | send_keyboard_report(); |
| 103 | } | 93 | } |
| 104 | } else { | 94 | } else { |
| 105 | if (shift_esc_shift_mask) { | 95 | if (get_mods() & MODS_SHIFT_MASK) { |
| 106 | del_key(KC_GRV); | 96 | del_key(KC_GRV); |
| 107 | send_keyboard_report(); | 97 | send_keyboard_report(); |
| 108 | } else { | 98 | } else { |
| @@ -110,6 +100,10 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { | |||
| 110 | send_keyboard_report(); | 100 | send_keyboard_report(); |
| 111 | } | 101 | } |
| 112 | } | 102 | } |
| 113 | break; | 103 | |
| 104 | return false; | ||
| 105 | |||
| 106 | default: | ||
| 107 | return true; | ||
| 114 | } | 108 | } |
| 115 | } | 109 | } |
