diff options
Diffstat (limited to 'keyboards/massdrop/ctrl/keymaps/xulkal/keymap.c')
-rw-r--r-- | keyboards/massdrop/ctrl/keymaps/xulkal/keymap.c | 76 |
1 files changed, 36 insertions, 40 deletions
diff --git a/keyboards/massdrop/ctrl/keymaps/xulkal/keymap.c b/keyboards/massdrop/ctrl/keymaps/xulkal/keymap.c index 1e50b4a53..8b45b53ec 100644 --- a/keyboards/massdrop/ctrl/keymaps/xulkal/keymap.c +++ b/keyboards/massdrop/ctrl/keymaps/xulkal/keymap.c | |||
@@ -13,23 +13,35 @@ enum ctrl_keycodes { | |||
13 | 13 | ||
14 | #define TG_NKRO MAGIC_TOGGLE_NKRO //Toggle 6KRO / NKRO mode | 14 | #define TG_NKRO MAGIC_TOGGLE_NKRO //Toggle 6KRO / NKRO mode |
15 | 15 | ||
16 | keymap_config_t keymap_config; | 16 | #define EXPAND_LAYOUT(...) LAYOUT(__VA_ARGS__) |
17 | 17 | ||
18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
19 | [0] = LAYOUT( | 19 | [_QWERTY] = LAYOUT( |
20 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ | 20 | KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ |
21 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, TD_BSPC, KC_INS, KC_HOME, KC_PGUP, \ | 21 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, TD_BSPC, KC_INS, KC_HOME, KC_PGUP, \ |
22 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, TD_DEL, KC_END, KC_PGDN, \ | ||
23 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ | ||
24 | KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TD_COMM, TD_DOT, KC_SLSH, KC_RSPC, KC_UP, \ | ||
25 | KC_LCPO, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LOWER, KC_APP, KC_RCPC, KC_LEFT, KC_DOWN, KC_RGHT \ | ||
26 | ), | ||
27 | |||
28 | #ifndef GAMELAYER_DISABLE | ||
29 | [_GAME] = LAYOUT( | ||
30 | KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ | ||
31 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ | ||
22 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \ | 32 | KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \ |
23 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ | 33 | KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ |
24 | KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TD_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, \ | 34 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \ |
25 | KC_LCPO, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCPC, KC_LEFT, KC_DOWN, KC_RGHT \ | 35 | KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, LOWER, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ |
26 | ), | 36 | ), |
27 | [1] = LAYOUT( | 37 | #endif |
38 | |||
39 | [_LOWER] = LAYOUT( | ||
28 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, \ | 40 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, \ |
29 | _______, RGB_RMOD, RGB_MOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, \ | 41 | _______, RGB_RMOD,RGB_MOD, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, \ |
30 | RGB_SPI, RGB_SAI, RGB_VAI, RGB_HUI, MD_BOOT, _______, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, \ | 42 | RGB_SPI, RGB_SAI, RGB_VAI, RGB_HUI, MD_BOOT, QWERTY, _______, U_T_AUTO,U_T_AGCR,_______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, \ |
31 | RGB_SPD, RGB_SAD, RGB_VAD, RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ | 43 | RGB_SPD, RGB_SAD, RGB_VAD, RGB_HUD, RGBRST, GAME, _______, _______, _______, _______, _______, _______, _______, \ |
32 | _______, RGB_TOG, _______, _______, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______, \ | 44 | _______, _______, _______, _______, _______, _______, TG_NKRO, _______, _______, _______, _______, _______, _______, \ |
33 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ | 45 | _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ |
34 | ), | 46 | ), |
35 | /* | 47 | /* |
@@ -44,62 +56,46 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
44 | */ | 56 | */ |
45 | }; | 57 | }; |
46 | 58 | ||
47 | // Runs just one time when the keyboard initializes. | ||
48 | void matrix_init_user(void) { | ||
49 | }; | ||
50 | |||
51 | // Runs constantly in the background, in a loop. | ||
52 | void matrix_scan_user(void) { | ||
53 | }; | ||
54 | |||
55 | #define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)) | 59 | #define MODS_SHIFT (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)) |
56 | #define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL)) | 60 | #define MODS_CTRL (get_mods() & MOD_BIT(KC_LCTL) || get_mods() & MOD_BIT(KC_RCTRL)) |
57 | #define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT)) | 61 | #define MODS_ALT (get_mods() & MOD_BIT(KC_LALT) || get_mods() & MOD_BIT(KC_RALT)) |
58 | 62 | ||
59 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | 63 | bool process_record_keymap(uint16_t keycode, keyrecord_t *record) |
60 | static uint32_t key_timer; | 64 | { |
65 | static uint16_t reset_timer; | ||
61 | 66 | ||
62 | switch (keycode) { | 67 | switch (keycode) { |
63 | case U_T_AUTO: | 68 | case U_T_AUTO: |
64 | if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { | 69 | if (record->event.pressed && MODS_SHIFT && MODS_CTRL) |
65 | TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode"); | 70 | TOGGLE_FLAG_AND_PRINT(usb_extra_manual, "USB extra port manual mode"); |
66 | } | ||
67 | return false; | 71 | return false; |
68 | case U_T_AGCR: | 72 | case U_T_AGCR: |
69 | if (record->event.pressed && MODS_SHIFT && MODS_CTRL) { | 73 | if (record->event.pressed && MODS_SHIFT && MODS_CTRL) |
70 | TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode"); | 74 | TOGGLE_FLAG_AND_PRINT(usb_gcr_auto, "USB GCR auto mode"); |
71 | } | ||
72 | return false; | 75 | return false; |
73 | case DBG_TOG: | 76 | case DBG_TOG: |
74 | if (record->event.pressed) { | 77 | if (record->event.pressed) |
75 | TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode"); | 78 | TOGGLE_FLAG_AND_PRINT(debug_enable, "Debug mode"); |
76 | } | ||
77 | return false; | 79 | return false; |
78 | case DBG_MTRX: | 80 | case DBG_MTRX: |
79 | if (record->event.pressed) { | 81 | if (record->event.pressed) |
80 | TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix"); | 82 | TOGGLE_FLAG_AND_PRINT(debug_matrix, "Debug matrix"); |
81 | } | ||
82 | return false; | 83 | return false; |
83 | case DBG_KBD: | 84 | case DBG_KBD: |
84 | if (record->event.pressed) { | 85 | if (record->event.pressed) |
85 | TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard"); | 86 | TOGGLE_FLAG_AND_PRINT(debug_keyboard, "Debug keyboard"); |
86 | } | ||
87 | return false; | 87 | return false; |
88 | case DBG_MOU: | 88 | case DBG_MOU: |
89 | if (record->event.pressed) { | 89 | if (record->event.pressed) |
90 | TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse"); | 90 | TOGGLE_FLAG_AND_PRINT(debug_mouse, "Debug mouse"); |
91 | } | ||
92 | return false; | 91 | return false; |
93 | case MD_BOOT: | 92 | case MD_BOOT: |
94 | if (record->event.pressed) { | 93 | if (record->event.pressed) |
95 | key_timer = timer_read32(); | 94 | reset_timer = timer_read() + 500; |
96 | } else { | 95 | else if (timer_expired(reset_timer)) |
97 | if (timer_elapsed32(key_timer) >= 500) { | ||
98 | reset_keyboard(); | 96 | reset_keyboard(); |
99 | } | ||
100 | } | ||
101 | return false; | 97 | return false; |
102 | default: | ||
103 | return true; //Process all other keycodes normally | ||
104 | } | 98 | } |
99 | |||
100 | return true; | ||
105 | } | 101 | } |