]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/hecomi/keymaps/kakunpc/keymap.c
[Keymap] add keymap hecomi alpha (#6115)
[qmk_firmware.git] / keyboards / hecomi / keymaps / kakunpc / keymap.c
1 /* Copyright 2018 takashiski
2  * Copyright 2019 kakunpc
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 #include QMK_KEYBOARD_H
18
19 // Defines the keycodes used by our macros in process_record_user
20 enum custom_keycodes {
21   QMKBEST = SAFE_RANGE,
22   QMKURL
23 };
24
25 //R1:7 + 8 = 15
26 //R2:7 + 8 = 15
27 //R3:6 + 7 = 13
28 //R4:6 + 8 = 14
29 //R5:6 + 6 = 12
30 //total : 69 keys
31 //
32 enum layers{
33     DF,
34     LW,
35     FN
36 };
37
38 #define KC_FN MO(FN)
39 #define KC_LW MO(LW)
40 #define KC_SFT(XXX) LSFT(XXX)
41
42 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43     [DF]=LAYOUT(\
44             KC_ESC,KC_GRV,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_BSPC,
45             KC_TAB  ,KC_Q,KC_W,KC_E,KC_R,KC_T,KC_Y,                 KC_Y,KC_U,KC_I,KC_O,KC_P,KC_LBRC,KC_RBRC,KC_BSLS,
46             KC_LCTRL ,KC_A,KC_S,KC_D,KC_F,KC_G,                     KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT,KC_ENT,
47             KC_LSFT   ,KC_Z,KC_X,KC_C,KC_V,KC_B,                    KC_B,KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,KC_RSFT,KC_DEL,
48             KC_LGUI,KC_NO,KC_LALT,KC_LW,KC_FN,KC_SPC,               KC_SPC,KC_FN,KC_LEFT,KC_UP,KC_DOWN,KC_RIGHT
49             ),
50     [LW]=LAYOUT(\
51             KC_NO,KC_NO,RGB_VAD,RGB_VAI,RGB_HUI,RGB_HUD,KC_TRNS,    RGB_MOD,RGB_RMOD,KC_TRNS,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
52             KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,              KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
53             KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,                    KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
54             KC_NO   ,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,                 KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
55             KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,                    KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO
56             ),
57     [FN]=LAYOUT(\
58             KC_ESC,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_BSPC,
59             KC_TAB  ,KC_NO,KC_UP,KC_NO,KC_NO,KC_NO,KC_NO,           KC_7,KC_8,KC_0,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
60             KC_LCTRL ,KC_LEFT,KC_DOWN,KC_RIGHT,KC_NO,KC_NO,         KC_4,KC_5,KC_6,KC_NO,KC_NO,KC_NO,KC_NO,
61             KC_LSFT   ,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,               KC_1,KC_2,KC_3,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,
62             KC_LGUI,KC_NO,KC_LALT,KC_MHEN,KC_NO,KC_SPC,             KC_0,KC_NO,KC_HOME,KC_PGUP,KC_PGDOWN,KC_END
63             ),
64 };
65
66 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
67   switch (keycode) {
68     case QMKBEST:
69       if (record->event.pressed) {
70         // when keycode QMKBEST is pressed
71         SEND_STRING("QMK is the best thing ever!");
72       } else {
73         // when keycode QMKBEST is released
74       }
75       break;
76     case QMKURL:
77       if (record->event.pressed) {
78         // when keycode QMKURL is pressed
79         SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
80       } else {
81         // when keycode QMKURL is released
82       }
83       break;
84   }
85   return true;
86 }
87
88 void keyboard_post_init_user(void) {
89   rgblight_enable_noeeprom();
90 }
91
92 void matrix_scan_user(void) {
93
94 }
95
96 void led_set_user(uint8_t usb_led) {
97
98 }