]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/chocopad/keymaps/khord/keymap.c
keymap: Update khord let's split keymap and add chocopad keymap (#3482)
[qmk_firmware.git] / keyboards / chocopad / keymaps / khord / keymap.c
1 #include "chocopad.h"
2
3 #define _BASE 0
4 #define _FN1 1
5 #define _FN2 2
6
7 // Fillers to make layering more clear
8 #define KC_ KC_TRNS
9 #define KC_XX KC_NO
10
11 #define KC_L1 LT(1, KC_P0)
12 #define KC_L2 LT(2, KC_SPC)
13 #define KC_RST RESET
14 #define KC_BSTP BL_STEP
15 #define KC_RTOG RGB_TOG
16 #define KC_RMOD RGB_MOD
17 #define KC_RHUI RGB_HUI
18 #define KC_RHUD RGB_HUD
19 #define KC_RSAI RGB_SAI
20 #define KC_RSAD RGB_SAD
21 #define KC_RVAI RGB_VAI
22 #define KC_RVAD RGB_VAD
23 #define KC_MAC1 ADMIN
24 #define KC_MAC2 SMSPC
25 #define KC_M192 M192
26 #define KC_M255 M255
27
28 enum custom_keycodes {
29   NUMPAD = SAFE_RANGE,
30   ADMIN,
31   SMSPC,
32   M192,
33   M255
34 };
35
36 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37
38   [_BASE] = KC_KEYMAP(
39   //,----+----+----+----.
40       P7 , P8 , P9 ,BSPC,
41   //|----+----+----+----|
42       P4 , P5 , P6 ,TAB ,
43   //|----+----+----+----|
44       P1 , P2 , P3 ,PENT,
45   //|----+----+----+----|
46       L1 , L2 ,PDOT,PSLS
47   //`----+----+----+----'
48   ),
49
50   [_FN1] = KC_KEYMAP(
51   //,----+----+----+----.
52      ESC ,MAC1,MAC2,DEL ,
53   //|----+----+----+----|
54      LEFT,DOWN, UP ,RGHT,
55   //|----+----+----+----|
56      M192,M255, XX , XX ,
57   //|----+----+----+----|
58          , XX ,    , XX
59   //`----+----+----+----'
60   ),
61
62   [_FN2] = KC_KEYMAP(
63   //,----+----+----+----.
64      RST , XX , XX , XX ,
65   //|----+----+----+----|
66      RTOG,RHUI,RSAI,RVAI,
67   //|----+----+----+----|
68      RMOD,RHUD,RSAD,RVAD,
69   //|----+----+----+----|
70      BSTP,    , XX , XX
71   //`----+----+----+----'
72   )
73
74 };
75
76 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
77   switch (keycode) {
78     case ADMIN:
79       if (record->event.pressed) {
80         SEND_STRING("Administrator");
81       }
82       return false;
83       break;
84     case SMSPC:
85       if (record->event.pressed) {
86         SEND_STRING("Simspace1!");
87       }
88       return false;
89       break;
90     case M192:
91       if (record->event.pressed) {
92         SEND_STRING("192.168.");
93       }
94       return false;
95       break;
96     case M255:
97       if (record->event.pressed) {
98         SEND_STRING("255");
99       }
100       return false;
101       break;
102   }
103   return true;
104 };