]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/redox/keymaps/finex/keymap.c
Update keyboards/kbdfans/kbd67/readme.md
[qmk_firmware.git] / keyboards / redox / keymaps / finex / keymap.c
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 };