]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/roadkit/keymaps/khord/keymap.c
Do some cleanup for the API
[qmk_firmware.git] / keyboards / roadkit / keymaps / khord / keymap.c
1 #include "roadkit.h"
2 #include "action_layer.h"
3 #include "eeconfig.h"
4
5 extern keymap_config_t keymap_config;
6
7 #define _NP 0
8 #define _L1 1
9 #define _L2 2
10
11 // Fillers to make layering more clear
12 #define _______ KC_TRNS
13 #define XXXXXXX KC_NO
14
15 enum custom_keycodes {
16   NUMPAD = SAFE_RANGE,
17   ADMIN,
18   SMSPC1,
19   STR192,
20   STR255
21 };
22
23 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24
25 /* Numpad
26  * ,-----------------------.
27  * |  7  |  8  |  9  |Bksp |
28  * |-----`-----`-----`-----|
29  * |  4  |  5  |  6  | Tab |
30  * |-----`-----`-----`-----|
31  * |  1  |  2  |  3  |Enter|
32  * |-----`-----`-----`-----|
33  * |  0  |Space|  .  |  /  |
34  * `-----`-----`-----`-----'
35  * | L1  | L2  |     |     | Layer hold
36  */
37   [_NP] = /* Numpad */
38     LAYOUT_ortho_4x4(KC_P7,        KC_P8,         KC_P9,   KC_BSPC, \
39                    KC_P4,        KC_P5,         KC_P6,   KC_TAB, \
40                    KC_P1,        KC_P2,         KC_P3,   KC_PENT, \
41                    LT(1, KC_P0), LT(2, KC_SPC), KC_PDOT, KC_PSLS),
42
43 /* L1
44  * ,-----------------------.
45  * |Reset|     |     | Del |
46  * |-----`-----`-----`-----|
47  * | Left| Down| Up  |Right|
48  * |-----`-----`-----`-----|
49  * | 192.| 255 |     |     |
50  * |-----`-----`-----`-----|
51  * |_____| LED |  .  |     |
52  * `-----`-----`-----`-----'
53  */
54   [_L1] = /* LAYER 1 */
55     LAYOUT_ortho_4x4(RESET,   XXXXXXX, XXXXXXX, KC_DEL, \
56                    KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, \
57                    STR192,  STR255,  XXXXXXX, XXXXXXX, \
58                    _______, BL_STEP, _______, XXXXXXX),
59  
60 /* L2
61  * ,-----------------------.
62  * |     |     | str | str |
63  * |-----`-----`-----`-----|
64  * |     |     |     |     |
65  * |-----`-----`-----`-----|
66  * |     |     |     |     |
67  * |-----`-----`-----`-----|
68  * |     |_____|     |     |
69  * `-----`-----`-----`-----'
70  */
71   [_L2] = /* LAYER 2 */
72     LAYOUT_ortho_4x4(XXXXXXX, XXXXXXX, ADMIN,   SMSPC1, \
73                    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
74                    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
75                    XXXXXXX, _______, XXXXXXX, XXXXXXX)
76 };
77
78 void persistent_default_layer_set(uint16_t default_layer) {
79   eeconfig_update_default_layer(default_layer);
80   default_layer_set(default_layer);
81 }
82
83 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
84   switch (keycode) {
85     case ADMIN:
86       if (record->event.pressed) {
87         SEND_STRING("Administrator");
88       }
89       return false;
90       break;
91     case SMSPC1:
92       if (record->event.pressed) {
93         SEND_STRING("Simspace1!");
94       }
95       return false;
96       break;
97     case STR192:
98       if (record->event.pressed) {
99         SEND_STRING("192.168.");
100       }
101       return false;
102       break;
103     case STR255:
104       if (record->event.pressed) {
105         SEND_STRING("255");
106       }
107       return false;
108       break;
109   }
110   return true;
111 };