diff options
| author | Max Rumpf <max.rumpf1998@gmail.com> | 2018-10-15 22:23:19 +0200 |
|---|---|---|
| committer | Drashna Jaelre <drashna@live.com> | 2018-10-15 13:23:19 -0700 |
| commit | 4e2817eff18f868b6d62710b67f46808d6efd22d (patch) | |
| tree | 3c1665596de6c6752e0d02346c5efdb8a5e57425 /keyboards/contra | |
| parent | 31d12662bde435e6636347ee842108b1cb3d8d48 (diff) | |
| download | qmk_firmware-4e2817eff18f868b6d62710b67f46808d6efd22d.tar.gz qmk_firmware-4e2817eff18f868b6d62710b67f46808d6efd22d.zip | |
Keymap: Some tweaks to Maxr1998's Contra layout (#4144)
* Make some keys more accessible, prevent mistypings
* Add "Gaming" layer which maps L-Ctrl to space (left-handed jumping compatibility-mode for all games)
Diffstat (limited to 'keyboards/contra')
| -rw-r--r-- | keyboards/contra/keymaps/maxr1998/keymap.c | 70 |
1 files changed, 55 insertions, 15 deletions
diff --git a/keyboards/contra/keymaps/maxr1998/keymap.c b/keyboards/contra/keymaps/maxr1998/keymap.c index afdd3d94a..87bf33894 100644 --- a/keyboards/contra/keymaps/maxr1998/keymap.c +++ b/keyboards/contra/keymaps/maxr1998/keymap.c | |||
| @@ -20,13 +20,17 @@ | |||
| 20 | enum contra_layers { | 20 | enum contra_layers { |
| 21 | _QWERTZ, | 21 | _QWERTZ, |
| 22 | _FUNC, | 22 | _FUNC, |
| 23 | _NUMROW | 23 | _NUMROW, |
| 24 | _NUMROW_L3, | ||
| 25 | _GAMING | ||
| 24 | }; | 26 | }; |
| 25 | 27 | ||
| 26 | #define KC_I3 LM(_NUMROW, MOD_LALT) | 28 | #define KC_I3 LM(_NUMROW, MOD_LALT) |
| 27 | #define KC_NR MO(_NUMROW) | 29 | #define KC_NR MO(_NUMROW) |
| 28 | #define NR_L3 SAFE_RANGE | 30 | #define NR_L3 SAFE_RANGE |
| 29 | #define FUN MO(_FUNC) | 31 | #define FUN MO(_FUNC) |
| 32 | #define G_1 TO(_GAMING) | ||
| 33 | #define G_0 TG(_GAMING) | ||
| 30 | 34 | ||
| 31 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 35 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 32 | 36 | ||
| @@ -52,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 52 | * ,-----------------------------------------------------------------------------------. | 56 | * ,-----------------------------------------------------------------------------------. |
| 53 | * | | | | | | | | Ü | | Ö | | Del | | 57 | * | | | | | | | | Ü | | Ö | | Del | |
| 54 | * |------+------+------+------+------+-------------+------+------+------+------+------| | 58 | * |------+------+------+------+------+-------------+------+------+------+------+------| |
| 55 | * | Lock | Ä | ß | | | | | RGBS | RGBB | RGBS | | | | 59 | * | Lock | Ä | ß | | | GAME | | RGBS | RGBB | RGBS | | | |
| 56 | * |------+------+------+------+------+------|------+------+------+------+------+------| | 60 | * |------+------+------+------+------+------|------+------+------+------+------+------| |
| 57 | * | | | | | | | | RGBH-| RGBT | RGBH+| PgUp | | | 61 | * | | | | | | | | RGBH-| RGBT | RGBH+| PgUp | | |
| 58 | * |------+------+------+------+------+------+------+------+------+------+------+------| | 62 | * |------+------+------+------+------+------+------+------+------+------+------+------| |
| @@ -61,14 +65,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 61 | */ | 65 | */ |
| 62 | [_FUNC] = { | 66 | [_FUNC] = { |
| 63 | {_______, _______, _______, _______, _______, _______, _______, DE_UE, _______, DE_OE, _______, KC_DEL }, | 67 | {_______, _______, _______, _______, _______, _______, _______, DE_UE, _______, DE_OE, _______, KC_DEL }, |
| 64 | {KC_LOCK, DE_AE, DE_SS, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_SW,_______, _______}, | 68 | {KC_LOCK, DE_AE, DE_SS, _______, _______, G_1, _______, RGB_M_P, RGB_M_B, RGB_M_SW,_______, _______}, |
| 65 | {_______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_TOG, RGB_HUI, KC_PGUP, _______}, | 69 | {_______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_TOG, RGB_HUI, KC_PGUP, _______}, |
| 66 | {_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END } | 70 | {_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, KC_HOME, KC_PGDN, KC_END } |
| 67 | }, | 71 | }, |
| 68 | 72 | ||
| 69 | /* Numrow layer (special characters with Shift and ISO_L3_Shift) | 73 | /* Numrow layer (special characters with Shift and ISO_L3_Shift) |
| 70 | * ,-----------------------------------------------------------------------------------. | 74 | * ,-----------------------------------------------------------------------------------. |
| 71 | * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ß | | 75 | * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | |
| 72 | * |------+------+------+------+------+-------------+------+------+------+------+------| | 76 | * |------+------+------+------+------+-------------+------+------+------+------+------| |
| 73 | * | | | | | | | | | | | #' | | | 77 | * | | | | | | | | | | | #' | | |
| 74 | * |------+------+------+------+------+------|------+------+------+------+------+------| | 78 | * |------+------+------+------+------+------|------+------+------+------+------+------| |
| @@ -78,25 +82,61 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 78 | * `-----------------------------------------------------------------------------------' | 82 | * `-----------------------------------------------------------------------------------' |
| 79 | */ | 83 | */ |
| 80 | [_NUMROW] = { | 84 | [_NUMROW] = { |
| 81 | {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS }, | 85 | {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, _______}, |
| 82 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DE_HASH, _______}, | 86 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DE_HASH, _______}, |
| 83 | {_______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______}, | 87 | {_______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______}, |
| 84 | {_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______} | 88 | {_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______} |
| 89 | }, | ||
| 90 | [_NUMROW_L3] = { | ||
| 91 | {_______, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, DE_8, DE_9, DE_0, _______}, | ||
| 92 | {_______, DE_Q, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | ||
| 93 | {_______, DE_LESS, _______, _______, _______, _______, _______, _______, _______, _______, DE_MINS, _______}, | ||
| 94 | {_______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, _______, _______, _______} | ||
| 95 | }, | ||
| 96 | |||
| 97 | /* Gaming | ||
| 98 | * ,-----------------------------------------------------------------------------------. | ||
| 99 | * | | | | | | | | | | | | | | ||
| 100 | * |------+------+------+------+------+-------------+------+------+------+------+------| | ||
| 101 | * | | | | | | | | | | | | | | ||
| 102 | * |------+------+------+------+------+------|------+------+------+------+------+------| | ||
| 103 | * | | | | | | | | | | | | | | ||
| 104 | * |------+------+------+------+------+------+------+------+------+------+------+------| | ||
| 105 | * | Space| | | | | | | | Reset| | | | | ||
| 106 | * `-----------------------------------------------------------------------------------' | ||
| 107 | */ | ||
| 108 | [_GAMING] = { | ||
| 109 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | ||
| 110 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | ||
| 111 | {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, | ||
| 112 | {KC_SPC, _______, _______, _______, _______, _______, _______, _______, G_0, _______, _______, _______} | ||
| 85 | } | 113 | } |
| 86 | }; | 114 | }; |
| 87 | 115 | ||
| 88 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 116 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 89 | if (keycode == NR_L3) { | 117 | switch(keycode) { |
| 90 | if (record->event.pressed) { | 118 | case KC_BSPC: |
| 91 | register_code(DE_ALGR); | 119 | if (record->event.pressed) { |
| 92 | layer_on(_NUMROW); | 120 | if (get_mods() & (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT))) { |
| 93 | } else { | 121 | register_code(DE_SS); |
| 94 | layer_off(_NUMROW); | 122 | return false; |
| 95 | unregister_code(DE_ALGR); | 123 | } |
| 96 | } | 124 | } else { |
| 97 | return false; | 125 | unregister_code(DE_SS); |
| 126 | } | ||
| 127 | return true; | ||
| 128 | case NR_L3: | ||
| 129 | if (record->event.pressed) { | ||
| 130 | register_code(DE_ALGR); | ||
| 131 | layer_on(_NUMROW_L3); | ||
| 132 | } else { | ||
| 133 | layer_off(_NUMROW_L3); | ||
| 134 | unregister_code(DE_ALGR); | ||
| 135 | } | ||
| 136 | return false; | ||
| 137 | default: | ||
| 138 | return true; | ||
| 98 | } | 139 | } |
| 99 | return true; | ||
| 100 | } | 140 | } |
| 101 | 141 | ||
| 102 | void led_set_user(uint8_t usb_led) { | 142 | void led_set_user(uint8_t usb_led) { |
