diff options
-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) { |