]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/kc60/keymaps/mechmerlin/keymap.c
Update keymap to have HHKB-ish support and readme along with it
[qmk_firmware.git] / keyboards / kc60 / keymaps / mechmerlin / keymap.c
1 // This is the 60% layout preferred by u/merlin36 the host of the MechMerlin YouTube channel.
2 // The layout is highly influenced by the WKL B.Face and KBP V60 standard layouts.
3 // Layout designed for use on KC60 with no inswitch or underglow lighting. 
4
5 #include "kc60.h"
6
7 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
8   [0] = KEYMAP( /* Basic QWERTY */
9       KC_ESC,   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,  \
10       KC_TAB,   KC_Q,     KC_W,     KC_E,    KC_R,     KC_T,     KC_Y,     KC_U,    KC_I,  KC_O,     KC_P,     KC_LBRC,  KC_RBRC,  KC_BSLS,  \
11       KC_LCTL,  KC_A,     KC_S,     KC_D,    KC_F,     KC_G,     KC_H,     KC_J,    KC_K,  KC_L,     KC_SCLN,  KC_QUOT,  KC_NO,    KC_ENT,   \
12       KC_LSFT,  KC_NO,    KC_Z,     KC_X,    KC_C,     KC_V,     KC_B,     KC_N,    KC_M,  KC_COMM,  KC_DOT,   KC_SLSH,  KC_NO,    KC_RSFT,  \
13       KC_LCTL,  KC_LGUI,  KC_LALT,                     KC_SPC,                             KC_NO,    MO(2),    KC_RALT,  KC_RGUI,  KC_RCTL \
14       ),
15   [1] = KEYMAP( /* HHKB-ish Base Layout */
16       KC_ESC,   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_BSLS,  \
17       KC_TAB,   KC_Q,     KC_W,     KC_E,    KC_R,     KC_T,     KC_Y,     KC_U,    KC_I,  KC_O,     KC_P,     KC_LBRC,  KC_RBRC,  KC_DEL,  \
18       KC_LCTL,  KC_A,     KC_S,     KC_D,    KC_F,     KC_G,     KC_H,     KC_J,    KC_K,  KC_L,     KC_SCLN,  KC_QUOT,  KC_NO,    KC_ENT,   \
19       KC_LSFT,  KC_NO,    KC_Z,     KC_X,    KC_C,     KC_V,     KC_B,     KC_N,    KC_M,  KC_COMM,  KC_DOT,   KC_SLSH,  KC_NO,    KC_RSFT,  \
20       KC_LCTL,  KC_LGUI,  KC_LALT,                     KC_SPC,                             KC_NO,    MO(3),    KC_RALT,  KC_RGUI,  KC_RCTL \
21       ),
22   [2] = KEYMAP( /* FN Layer 1 - Basic QWERTY */
23       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_DEL,  \
24       KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,  RESET,     KC_TRNS,   KC_TRNS,   KC_TRNS,  KC_TRNS,  KC_TRNS,   KC_TRNS,    KC_TRNS,  KC_TRNS,  KC_TRNS,  \
25       KC_CAPS,  KC_TRNS,   KC_TRNS,   KC_TRNS,  KC_TRNS,   KC_TRNS,   TG(1),     KC_TRNS,  KC_TRNS,  KC_TRNS,   KC_TRNS,    KC_TRNS,  KC_NO,    KC_TRNS, \
26       KC_TRNS,  KC_NO,     KC_TRNS,   KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,  KC_MUTE,  KC_VOLD,   KC_VOLU,    KC_TRNS,  KC_NO,    KC_PGUP,  \
27       KC_TRNS,  KC_TRNS,   KC_TRNS,                        TG(4),                          KC_NO,    KC_TRNS,   KC_HOME,    KC_PGDN,  KC_END \
28       ),
29   [3] = KEYMAP( /* FN Layer 2 - HHKB-ish Base Layout */
30       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_INS,  \
31       KC_CAPS,  KC_TRNS,   KC_TRNS,   KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,  KC_TRNS,  KC_TRNS,   KC_TRNS,    KC_UP,    KC_TRNS,  KC_BSPC,  \
32       KC_TRNS,  KC_VOLD,   KC_VOLU,   KC_MUTE,  KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,  KC_TRNS,  KC_HOME,   KC_PGUP,    KC_RIGHT, KC_NO,    KC_TRNS,   \
33       KC_TRNS,  KC_NO,     KC_TRNS,   KC_TRNS,  KC_TRNS,   KC_TRNS,   KC_TRNS,   KC_TRNS,  KC_TRNS,  KC_END,    KC_PGDN,    KC_DOWN,  KC_NO,    KC_TRNS,  \
34       KC_TRNS,  KC_TRNS,   KC_TRNS,                        KC_TRNS,                        KC_NO,    KC_TRNS,   KC_TRNS,    KC_TRNS,  KC_TRNS \
35       ),
36   [4] = KEYMAP( /* Arrow Layers - Basic QWERTY ONLY */
37       KC_TRNS,   KC_TRNS,    KC_TRNS,     KC_TRNS,    KC_TRNS,     KC_TRNS,     KC_TRNS,     KC_TRNS,    KC_TRNS,  KC_TRNS,    KC_TRNS,   KC_TRNS,  KC_TRNS,  KC_TRNS,  \
38       KC_TRNS,   KC_TRNS,    KC_TRNS,     KC_TRNS,    KC_TRNS,     KC_TRNS,     KC_TRNS,     KC_TRNS,    KC_TRNS,  KC_TRNS,    KC_TRNS,   KC_TRNS,  KC_TRNS,  KC_TRNS,  \
39       KC_TRNS,   KC_TRNS,    KC_TRNS,     KC_TRNS,    KC_TRNS,     KC_TRNS,     KC_TRNS,     KC_TRNS,    KC_TRNS,  KC_TRNS,    KC_TRNS,   KC_TRNS,  KC_NO,    KC_TRNS,   \
40       KC_TRNS,   KC_NO,      KC_TRNS,     KC_TRNS,    KC_TRNS,     KC_TRNS,     KC_TRNS,     KC_TRNS,    KC_TRNS,  KC_TRNS,    KC_TRNS,   KC_TRNS,  KC_NO,    KC_UP,  \
41       KC_TRNS,   KC_TRNS,    KC_TRNS,                              KC_TRNS,                              KC_NO,    KC_TRNS,    KC_LEFT,   KC_DOWN,  KC_RIGHT \
42       ),
43   [5] = KEYMAP( /* Blank Layer for later usage */
44       KC_TRNS,   KC_TRNS,    KC_TRNS,     KC_TRNS,    KC_TRNS,     KC_TRNS,     KC_TRNS,     KC_TRNS,    KC_TRNS,  KC_TRNS,    KC_TRNS,   KC_TRNS,  KC_TRNS,  KC_TRNS,  \
45       KC_TRNS,   KC_TRNS,    KC_TRNS,     KC_TRNS,    KC_TRNS,     KC_TRNS,     KC_TRNS,     KC_TRNS,    KC_TRNS,  KC_TRNS,    KC_TRNS,   KC_TRNS,  KC_TRNS,  KC_TRNS,  \
46       KC_TRNS,   KC_TRNS,    KC_TRNS,     KC_TRNS,    KC_TRNS,     KC_TRNS,     KC_TRNS,     KC_TRNS,    KC_TRNS,  KC_TRNS,    KC_TRNS,   KC_TRNS,  KC_NO,    KC_TRNS,   \
47       KC_TRNS,   KC_NO,      KC_TRNS,     KC_TRNS,    KC_TRNS,     KC_TRNS,     KC_TRNS,     KC_TRNS,    KC_TRNS,  KC_TRNS,    KC_TRNS,   KC_TRNS,  KC_NO,    KC_TRNS,  \
48       KC_TRNS,   KC_TRNS,    KC_TRNS,                              KC_TRNS,                              KC_NO,    KC_TRNS,    KC_TRNS,   KC_TRNS,  KC_TRNS \
49       ),
50
51 };
52
53 const uint16_t PROGMEM fn_actions[] = {
54
55 };
56
57 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
58 {
59   // MACRODOWN only works in this function
60   return MACRO_NONE;
61 };