diff options
-rw-r--r-- | keyboards/redox/keymaps/finex/config.h | 36 | ||||
-rw-r--r-- | keyboards/redox/keymaps/finex/keymap.c | 188 | ||||
-rw-r--r-- | keyboards/redox/keymaps/finex/readme.md | 35 | ||||
-rw-r--r-- | keyboards/redox/keymaps/finex/rules.mk | 3 |
4 files changed, 262 insertions, 0 deletions
diff --git a/keyboards/redox/keymaps/finex/config.h b/keyboards/redox/keymaps/finex/config.h new file mode 100644 index 000000000..9adbcedf4 --- /dev/null +++ b/keyboards/redox/keymaps/finex/config.h | |||
@@ -0,0 +1,36 @@ | |||
1 | /* | ||
2 | Copyright 2018 Leonardo (FiNeX) Finetti <finex@finex.org> | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #pragma once | ||
19 | |||
20 | /* Use I2C or Serial, not both */ | ||
21 | |||
22 | #define USE_SERIAL | ||
23 | // #define USE_I2C | ||
24 | |||
25 | /* Select hand configuration */ | ||
26 | |||
27 | #define MASTER_LEFT | ||
28 | // #define MASTER_RIGHT | ||
29 | // #define EE_HANDS | ||
30 | |||
31 | #undef RGBLED_NUM | ||
32 | #define RGBLIGHT_ANIMATIONS | ||
33 | #define RGBLED_NUM 14 | ||
34 | #define RGBLIGHT_HUE_STEP 8 | ||
35 | #define RGBLIGHT_SAT_STEP 8 | ||
36 | #define RGBLIGHT_VAL_STEP 8 | ||
diff --git a/keyboards/redox/keymaps/finex/keymap.c b/keyboards/redox/keymaps/finex/keymap.c new file mode 100644 index 000000000..8b8f5f183 --- /dev/null +++ b/keyboards/redox/keymaps/finex/keymap.c | |||
@@ -0,0 +1,188 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | extern keymap_config_t keymap_config; | ||
4 | |||
5 | // Layer names | ||
6 | #define _QWERTY 0 | ||
7 | #define _COLEMAKDHMK 1 | ||
8 | #define _QWERTY_MAC 2 | ||
9 | #define _COLEMAKDHMK_MAC 3 | ||
10 | #define _SYMB 4 | ||
11 | #define _ADJUST 5 | ||
12 | |||
13 | // Custom keycodes | ||
14 | enum custom_keycodes { | ||
15 | QWERTY = SAFE_RANGE, | ||
16 | COLEMAKDHMK, | ||
17 | QWERTY_MAC, | ||
18 | COLEMAKDHMK_MAC, | ||
19 | SYMB, | ||
20 | ADJUST, | ||
21 | ASC_SAR, | ||
22 | ASC_DAR, | ||
23 | ASC_SQT, | ||
24 | ASC_DQT, | ||
25 | ASC_HAP, | ||
26 | ASC_SAD | ||
27 | }; | ||
28 | |||
29 | // Shortcut to make keymap more readable | ||
30 | #define KC_SYQT LT(_SYMB, KC_QUOT) | ||
31 | #define KC_SYGR LT(_SYMB, KC_GRV) | ||
32 | #define KC_SYSP LT(_SYMB, KC_SPC) | ||
33 | #define KC_ADEN LT(_ADJUST, KC_END) | ||
34 | #define KC_ADPU LT(_ADJUST, KC_PGUP) | ||
35 | #define KC_CESC LCTL_T(KC_ESC) | ||
36 | #define KC_CBSP LCTL_T(KC_BSPC) | ||
37 | #define KC_CMIN RCTL_T(KC_MINUS) | ||
38 | #define KC_GBSP LGUI_T(KC_BSPC) | ||
39 | #define KC_ADEL LALT_T(KC_DEL) | ||
40 | #define KC_APLS RALT_T(KC_PPLS) | ||
41 | #define KC_LSEN LSFT_T(KC_ENT) | ||
42 | #define KC_RSEN RSFT_T(KC_ENT) | ||
43 | #define FN1 QWERTY | ||
44 | #define FN2 COLEMAKDHMK | ||
45 | #define FN3 QWERTY_MAC | ||
46 | #define FN4 COLEMAKDHMK_MAC | ||
47 | |||
48 | // Send custom strings or change default base layer | ||
49 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
50 | if (record->event.pressed) { | ||
51 | switch(keycode) { | ||
52 | case ASC_SAR: | ||
53 | SEND_STRING("->"); | ||
54 | return false; | ||
55 | case ASC_DAR: | ||
56 | SEND_STRING("=>"); | ||
57 | return false; | ||
58 | case ASC_SQT: | ||
59 | // SS_RALT(): Avoid sending dead key on software intl layouts | ||
60 | SEND_STRING(SS_RALT("'")); | ||
61 | return false; | ||
62 | case ASC_DQT: | ||
63 | // SS_RALT(SS_LSFT()): Avoid sending dead key on software intl layouts | ||
64 | SEND_STRING(SS_RALT(SS_LSFT("\""))); | ||
65 | return false; | ||
66 | case ASC_HAP: | ||
67 | SEND_STRING(":-) "); | ||
68 | return false; | ||
69 | case ASC_SAD: | ||
70 | SEND_STRING(":-( "); | ||
71 | return false; | ||
72 | case QWERTY: | ||
73 | if (record->event.pressed) { | ||
74 | set_single_persistent_default_layer(_QWERTY); | ||
75 | } | ||
76 | return false; | ||
77 | break; | ||
78 | case COLEMAKDHMK: | ||
79 | if (record->event.pressed) { | ||
80 | set_single_persistent_default_layer(_COLEMAKDHMK); | ||
81 | } | ||
82 | return false; | ||
83 | break; | ||
84 | case QWERTY_MAC: | ||
85 | if (record->event.pressed) { | ||
86 | set_single_persistent_default_layer(_QWERTY_MAC); | ||
87 | } | ||
88 | return false; | ||
89 | break; | ||
90 | case COLEMAKDHMK_MAC: | ||
91 | if (record->event.pressed) { | ||
92 | set_single_persistent_default_layer(_COLEMAKDHMK_MAC); | ||
93 | } | ||
94 | return false; | ||
95 | break; | ||
96 | } | ||
97 | } | ||
98 | return true; | ||
99 | }; | ||
100 | |||
101 | |||
102 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
103 | |||
104 | [_QWERTY] = LAYOUT( | ||
105 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | ||
106 | KC_SYGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_SYQT , | ||
107 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
108 | KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_DEL , KC_BSPC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL , | ||
109 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
110 | KC_CESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_LBRC , KC_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_CMIN , | ||
111 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
112 | KC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC , | ||
113 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | ||
114 | KC_SYSP ,KC_BSLS ,KC_QUOT ,KC_LGUI , KC_ADEL , KC_CBSP ,KC_LSEN , KC_RSEN ,KC_SYSP , KC_APLS , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT | ||
115 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | ||
116 | ), | ||
117 | |||
118 | [_COLEMAKDHMK] = LAYOUT( | ||
119 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | ||
120 | KC_SYGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_SYQT , | ||
121 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
122 | KC_TAB ,KC_Q ,KC_W ,KC_F ,KC_P ,KC_B ,KC_DEL , KC_BSPC ,KC_J ,KC_L ,KC_U ,KC_Y ,KC_SCLN ,KC_EQL , | ||
123 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
124 | KC_CESC ,KC_A ,KC_R ,KC_S ,KC_T ,KC_G ,KC_LBRC , KC_RBRC ,KC_M ,KC_N ,KC_E ,KC_I ,KC_O ,KC_CMIN , | ||
125 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
126 | KC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_D ,KC_V ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_K ,KC_H ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC , | ||
127 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | ||
128 | KC_SYSP ,KC_BSLS ,KC_QUOT ,KC_LGUI , KC_ADEL , KC_CBSP ,KC_LSEN , KC_RSEN ,KC_SYSP , KC_APLS , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT | ||
129 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | ||
130 | ), | ||
131 | |||
132 | [_QWERTY_MAC] = LAYOUT( | ||
133 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | ||
134 | KC_SYGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_SYQT , | ||
135 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
136 | KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_DEL , KC_BSPC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_EQL , | ||
137 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
138 | KC_CESC ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_LBRC , KC_RBRC ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_CMIN , | ||
139 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
140 | KC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC , | ||
141 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | ||
142 | KC_SYSP ,KC_BSLS ,KC_QUOT ,KC_LCTL , KC_ADEL , KC_GBSP ,KC_LSEN , KC_RSEN ,KC_SYSP , KC_APLS , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT | ||
143 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | ||
144 | ), | ||
145 | |||
146 | [_COLEMAKDHMK_MAC] = LAYOUT( | ||
147 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | ||
148 | KC_SYGR ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 , KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_SYQT , | ||
149 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
150 | KC_TAB ,KC_Q ,KC_W ,KC_F ,KC_P ,KC_B ,KC_DEL , KC_BSPC ,KC_J ,KC_L ,KC_U ,KC_Y ,KC_SCLN ,KC_EQL , | ||
151 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
152 | KC_CESC ,KC_A ,KC_R ,KC_S ,KC_T ,KC_G ,KC_LBRC , KC_RBRC ,KC_M ,KC_N ,KC_E ,KC_I ,KC_O ,KC_CMIN , | ||
153 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
154 | KC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_D ,KC_V ,KC_ADPU ,KC_PGDN , KC_HOME ,KC_ADEN ,KC_K ,KC_H ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC , | ||
155 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | ||
156 | KC_SYSP ,KC_BSLS ,KC_QUOT ,KC_LCTL , KC_ADEL , KC_GBSP ,KC_LSEN , KC_RSEN ,KC_SYSP , KC_APLS , KC_LEFT ,KC_DOWN ,KC_UP ,KC_RGHT | ||
157 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | ||
158 | ), | ||
159 | |||
160 | [_SYMB] = LAYOUT( | ||
161 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | ||
162 | XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 , KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX , | ||
163 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
164 | _______ ,KC_CIRC ,KC_BSLS ,KC_PMNS ,KC_UNDS ,XXXXXXX ,_______ , _______ ,XXXXXXX ,KC_KP_7 ,KC_KP_8 ,KC_KP_9 ,KC_F11 ,KC_APP , | ||
165 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
166 | _______ ,KC_PAST ,KC_PIPE ,ASC_SQT ,KC_TILD ,KC_QUOT ,ASC_SAR , ASC_DAR ,XXXXXXX ,KC_KP_4 ,KC_KP_5 ,KC_KP_6 ,KC_F12 ,KC_PSCR , | ||
167 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
168 | _______ ,KC_HASH ,KC_AMPR ,KC_AT ,ASC_DQT ,KC_GRV ,ASC_SAD ,ASC_HAP , _______ ,_______ ,XXXXXXX ,KC_KP_1 ,KC_KP_2 ,KC_KP_3 ,KC_UP ,_______ , | ||
169 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | ||
170 | _______ ,_______ ,_______ ,_______ , _______ , _______ ,_______ , _______ ,_______ , KC_KP_0 , KC_PDOT ,KC_LEFT ,KC_DOWN ,KC_RGHT | ||
171 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | ||
172 | ), | ||
173 | |||
174 | [_ADJUST] = LAYOUT( | ||
175 | //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ | ||
176 | XXXXXXX ,FN1 ,FN2 ,FN3 ,FN4 ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , | ||
177 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
178 | XXXXXXX ,RESET ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX , | ||
179 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
180 | XXXXXXX ,XXXXXXX ,RGB_M_B ,RGB_M_R ,RGB_M_SW,RGB_M_SN,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , | ||
181 | //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤ | ||
182 | XXXXXXX ,XXXXXXX ,RGB_M_K ,RGB_M_X ,RGB_M_G ,XXXXXXX ,_______ ,XXXXXXX , XXXXXXX ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , | ||
183 | //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤ ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤ | ||
184 | XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX , XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX | ||
185 | //└────────┴────────┴────────┴────────┘ └────────┘ └────────┴────────┘ └────────┴────────┘ └────────┘ └────────┴────────┴────────┴────────┘ | ||
186 | ) | ||
187 | |||
188 | }; | ||
diff --git a/keyboards/redox/keymaps/finex/readme.md b/keyboards/redox/keymaps/finex/readme.md new file mode 100644 index 000000000..f1b6fa7c7 --- /dev/null +++ b/keyboards/redox/keymaps/finex/readme.md | |||
@@ -0,0 +1,35 @@ | |||
1 | # Customized keymap for Redox by Leonardo (FiNeX) Finetti. | ||
2 | |||
3 | |||
4 | ## Features | ||
5 | |||
6 | - Enabled USE_SERIAL for Falba.Tech Redox keyboards. | ||
7 | - PC Layouts: QWERTY, Colemak Mod DH-MK. | ||
8 | - Mac Layouts: same as above with CTRL-GUI keys inverted on the bottom row. | ||
9 | - Added redundant "Space", "Esc" and "Ctrl" keys. | ||
10 | - Added macro to print "->" and "=>" strings. | ||
11 | - Added macro to print ":-( " and ":-) " strings. | ||
12 | - Added more arrows. | ||
13 | - Added "(" and ")" on Shifts keys. | ||
14 | - Added Shift on both ) "Enter" keys. | ||
15 | - Removed Mouse and media support. | ||
16 | - Added missing "Print Screen" and "Menu" keys. | ||
17 | - Added missing "F11" and "F12" keys. | ||
18 | |||
19 | |||
20 | ## Layers | ||
21 | |||
22 | This keymap use the default one with some minor improvements to suit my needs. | ||
23 | |||
24 | ## Changelog | ||
25 | |||
26 | - 2018/11/13 | ||
27 | First public release | ||
28 | |||
29 | |||
30 | ## TODO | ||
31 | |||
32 | - Bring back mouse and multimedia keys. | ||
33 | - Add default Colemak Mod DH layout. | ||
34 | - Improve top corner keys. | ||
35 | - Improve bottom row keys (mostly KC_BSLS and KC_QUOT). | ||
diff --git a/keyboards/redox/keymaps/finex/rules.mk b/keyboards/redox/keymaps/finex/rules.mk new file mode 100644 index 000000000..21550e9fe --- /dev/null +++ b/keyboards/redox/keymaps/finex/rules.mk | |||
@@ -0,0 +1,3 @@ | |||
1 | RGBLIGHT_ENABLE = yes | ||
2 | |||
3 | COMMAND_ENABLE = no | ||