diff options
Diffstat (limited to 'keyboard/clueboard2/keymaps/keymap_default.c')
-rw-r--r-- | keyboard/clueboard2/keymaps/keymap_default.c | 170 |
1 files changed, 170 insertions, 0 deletions
diff --git a/keyboard/clueboard2/keymaps/keymap_default.c b/keyboard/clueboard2/keymaps/keymap_default.c new file mode 100644 index 000000000..5d52f27a7 --- /dev/null +++ b/keyboard/clueboard2/keymaps/keymap_default.c | |||
@@ -0,0 +1,170 @@ | |||
1 | #include "clueboard2.h" | ||
2 | |||
3 | #ifdef ENABLE_RGBLIGHT | ||
4 | #include "rgblight.h" | ||
5 | #endif | ||
6 | |||
7 | // Used for SHIFT_ESC | ||
8 | #define MODS_CTRL_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)) | ||
9 | |||
10 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | ||
11 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | ||
12 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | ||
13 | // entirely and just use numbers. | ||
14 | #define _BL 0 | ||
15 | #define _FL 1 | ||
16 | #define _RS 2 | ||
17 | |||
18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
19 | /* Keymap _BL: (Base Layer) Default Layer | ||
20 | * ,--------------------------------------------------------------------------. ,----. | ||
21 | * |Esc~| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| \| BS| |PGUP| | ||
22 | * |--------------------------------------------------------------------------| |----| | ||
23 | * | Tab| Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |PGDN| | ||
24 | * |--------------------------------------------------------------------------| `----' | ||
25 | * |Capslck| A| S| D| F| G| H| J| K| L| ;| '| # | Ent| | ||
26 | * |-----------------------------------------------------------------------------. | ||
27 | * |Shift| BS| Z| X| C| V| B| N| M| ,| .| /| BS|Shift| UP| | ||
28 | * |------------------------------------------------------------------------|----|----. | ||
29 | * | Ctrl| Gui| Alt| MHen| Space| Space| Hen| Alt| Ctrl| _FL|LEFT|DOWN|RGHT| | ||
30 | * `----------------------------------------------------------------------------------' | ||
31 | */ | ||
32 | [_BL] = KEYMAP( | ||
33 | F(0), 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_GRV, KC_BSPC, KC_PGUP, \ | ||
34 | 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_PGDN, \ | ||
35 | 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_NUHS, KC_ENT, \ | ||
36 | KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \ | ||
37 | KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC,KC_SPC, KC_HENK, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT), | ||
38 | |||
39 | /* Keymap _FL: Function Layer | ||
40 | * ,--------------------------------------------------------------------------. ,----. | ||
41 | * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| F12| | Del| |BLIN| | ||
42 | * |--------------------------------------------------------------------------| |----| | ||
43 | * | | | | | | | | |PScr|SLck|Paus| | | | |BLDE| | ||
44 | * |--------------------------------------------------------------------------| `----' | ||
45 | * | | | _RS| | | | | | | | | | | | | ||
46 | * |-----------------------------------------------------------------------------. | ||
47 | * | | | | | | | | | | | | | | |PGUP| | ||
48 | * |------------------------------------------------------------------------|----|----. | ||
49 | * | | | | | | | | | | _FL|HOME|PGDN| END| | ||
50 | * `----------------------------------------------------------------------------------' | ||
51 | */ | ||
52 | [_FL] = KEYMAP( | ||
53 | KC_GRV, 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_TRNS, KC_DEL, BL_STEP, \ | ||
54 | KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_PSCR,KC_SLCK, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
55 | KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
56 | KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, \ | ||
57 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), KC_HOME, KC_PGDN, KC_END), | ||
58 | |||
59 | /* Keymap _RS: Reset layer | ||
60 | * ,--------------------------------------------------------------------------. ,----. | ||
61 | * | | | | | | | | | | | | | | | | | | | ||
62 | * |--------------------------------------------------------------------------| |----| | ||
63 | * | | | | |RESET| | | | | | | | | | | | | ||
64 | * |--------------------------------------------------------------------------| `----' | ||
65 | * | | | _RS| | | | | | | | | | | | | ||
66 | * |-----------------------------------------------------------------------------. | ||
67 | * | | | | | | | | | | | | | | | | | ||
68 | * |------------------------------------------------------------------------|----|----. | ||
69 | * | | | | | | | | | | _FL| | | | | ||
70 | * `----------------------------------------------------------------------------------' | ||
71 | */ | ||
72 | [_RS] = KEYMAP( | ||
73 | KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(0), F(6), \ | ||
74 | KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,RESET, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(7), \ | ||
75 | KC_TRNS, KC_TRNS, MO(_RS),KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \ | ||
76 | MO(_FL), KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FL), F(4), \ | ||
77 | KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, F(1), F(1), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, F(3), F(5), F(2)), | ||
78 | }; | ||
79 | |||
80 | enum function_id { | ||
81 | SHIFT_ESC, | ||
82 | RGBLED_TOGGLE, | ||
83 | RGBLED_STEP_MODE, | ||
84 | RGBLED_INCREASE_HUE, | ||
85 | RGBLED_DECREASE_HUE, | ||
86 | RGBLED_INCREASE_SAT, | ||
87 | RGBLED_DECREASE_SAT, | ||
88 | RGBLED_INCREASE_VAL, | ||
89 | RGBLED_DECREASE_VAL | ||
90 | }; | ||
91 | |||
92 | const uint16_t PROGMEM fn_actions[] = { | ||
93 | [0] = ACTION_FUNCTION(SHIFT_ESC), | ||
94 | [1] = ACTION_FUNCTION(RGBLED_TOGGLE), | ||
95 | [2] = ACTION_FUNCTION(RGBLED_STEP_MODE), | ||
96 | [3] = ACTION_FUNCTION(RGBLED_INCREASE_HUE), | ||
97 | [4] = ACTION_FUNCTION(RGBLED_DECREASE_HUE), | ||
98 | [5] = ACTION_FUNCTION(RGBLED_INCREASE_SAT), | ||
99 | [6] = ACTION_FUNCTION(RGBLED_DECREASE_SAT), | ||
100 | [7] = ACTION_FUNCTION(RGBLED_INCREASE_VAL), | ||
101 | [8] = ACTION_FUNCTION(RGBLED_DECREASE_VAL), | ||
102 | }; | ||
103 | |||
104 | void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { | ||
105 | static uint8_t shift_esc_shift_mask; | ||
106 | switch (id) { | ||
107 | case SHIFT_ESC: | ||
108 | shift_esc_shift_mask = get_mods()&MODS_CTRL_MASK; | ||
109 | if (record->event.pressed) { | ||
110 | if (shift_esc_shift_mask) { | ||
111 | add_key(KC_GRV); | ||
112 | send_keyboard_report(); | ||
113 | } else { | ||
114 | add_key(KC_ESC); | ||
115 | send_keyboard_report(); | ||
116 | } | ||
117 | } else { | ||
118 | if (shift_esc_shift_mask) { | ||
119 | del_key(KC_GRV); | ||
120 | send_keyboard_report(); | ||
121 | } else { | ||
122 | del_key(KC_ESC); | ||
123 | send_keyboard_report(); | ||
124 | } | ||
125 | } | ||
126 | break; | ||
127 | //led operations | ||
128 | case RGBLED_TOGGLE: | ||
129 | if (record->event.pressed) { | ||
130 | rgblight_toggle(); | ||
131 | } | ||
132 | |||
133 | break; | ||
134 | case RGBLED_INCREASE_HUE: | ||
135 | if (record->event.pressed) { | ||
136 | rgblight_increase_hue(); | ||
137 | } | ||
138 | break; | ||
139 | case RGBLED_DECREASE_HUE: | ||
140 | if (record->event.pressed) { | ||
141 | rgblight_decrease_hue(); | ||
142 | } | ||
143 | break; | ||
144 | case RGBLED_INCREASE_SAT: | ||
145 | if (record->event.pressed) { | ||
146 | rgblight_increase_sat(); | ||
147 | } | ||
148 | break; | ||
149 | case RGBLED_DECREASE_SAT: | ||
150 | if (record->event.pressed) { | ||
151 | rgblight_decrease_sat(); | ||
152 | } | ||
153 | break; | ||
154 | case RGBLED_INCREASE_VAL: | ||
155 | if (record->event.pressed) { | ||
156 | rgblight_increase_val(); | ||
157 | } | ||
158 | break; | ||
159 | case RGBLED_DECREASE_VAL: | ||
160 | if (record->event.pressed) { | ||
161 | rgblight_decrease_val(); | ||
162 | } | ||
163 | break; | ||
164 | case RGBLED_STEP_MODE: | ||
165 | if (record->event.pressed) { | ||
166 | rgblight_step(); | ||
167 | } | ||
168 | break; | ||
169 | } | ||
170 | } | ||