aboutsummaryrefslogtreecommitdiff
path: root/keyboards/hhkb/keymaps/smt/keymap.c
diff options
context:
space:
mode:
authorEric <22215921+ericywl@users.noreply.github.com>2018-04-30 23:19:12 +0800
committerDrashna Jaelre <drashna@live.com>2018-04-30 08:19:12 -0700
commitc76ab936c859d7da1e87d6f6ad4bbec2740fe57f (patch)
tree331dc22d58608102d9c775422b4e0cb0e996c688 /keyboards/hhkb/keymaps/smt/keymap.c
parent3aeaf4e3ea6c590ea2c75946d2d0b04f1dfa59a9 (diff)
downloadqmk_firmware-c76ab936c859d7da1e87d6f6ad4bbec2740fe57f.tar.gz
qmk_firmware-c76ab936c859d7da1e87d6f6ad4bbec2740fe57f.zip
Changed KEYMAP to LAYOUT for HHKB (#2857)
Diffstat (limited to 'keyboards/hhkb/keymaps/smt/keymap.c')
-rw-r--r--keyboards/hhkb/keymaps/smt/keymap.c144
1 files changed, 74 insertions, 70 deletions
diff --git a/keyboards/hhkb/keymaps/smt/keymap.c b/keyboards/hhkb/keymaps/smt/keymap.c
index 484df851a..428861640 100644
--- a/keyboards/hhkb/keymaps/smt/keymap.c
+++ b/keyboards/hhkb/keymaps/smt/keymap.c
@@ -1,18 +1,19 @@
1/* -*- eval: (turn-on-orgtbl); -*- 1/* -*- eval: (turn-on-orgtbl); -*-
2 * default HHKB Layout 2 * default HHKB Layout
3 */ 3 */
4#include "hhkb.h" 4#include QMK_KEYBOARD_H
5 5
6#define _QWERTY 0 6#define _QWERTY 0
7#define _COLEMAK 1 7#define _COLEMAK 1
8#define _DVORAK 2 8#define _DVORAK 2
9#define _HHKB 3 9#define _HHKB 3
10 10
11enum planck_keycodes { 11enum planck_keycodes
12 QWERTY = SAFE_RANGE, 12{
13 COLEMAK, 13 QWERTY = SAFE_RANGE,
14 DVORAK, 14 COLEMAK,
15 HHKB 15 DVORAK,
16 HHKB
16}; 17};
17 18
18// Fillers to make layering more clear 19// Fillers to make layering more clear
@@ -20,10 +21,10 @@ enum planck_keycodes {
20#define XXXXXXX KC_NO 21#define XXXXXXX KC_NO
21 22
22// Custom macros 23// Custom macros
23#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl 24#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
24#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift 25#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
25#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Alt+Shift) 26#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Alt+Shift)
26#define MEH_GRV MEH_T(KC_GRV) // Tap for Backtick, hold for Meh (Ctrl+Alt+Shift) 27#define MEH_GRV MEH_T(KC_GRV) // Tap for Backtick, hold for Meh (Ctrl+Alt+Shift)
27 28
28const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 29const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
29 30
@@ -43,14 +44,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
43 |------+------+-----------------------+------+------| 44 |------+------+-----------------------+------+------|
44 */ 45 */
45 46
46 [_QWERTY] = KEYMAP( // Qwerty layer 47 [_QWERTY] = LAYOUT( // Qwerty layer
47 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, MEH_GRV, \ 48 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, MEH_GRV,
48 HPR_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_BSPC, \ 49 HPR_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_BSPC,
49 CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, SFT_ENT, \ 50 CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, SFT_ENT,
50 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_HHKB), \ 51 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_HHKB),
51 KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT), 52 KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
52
53
54 53
55 /* Layer COLEMAK: Colemak Layer 54 /* Layer COLEMAK: Colemak Layer
56 |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| 55 |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
@@ -68,14 +67,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
68 |------+------+-----------------------+------+------| 67 |------+------+-----------------------+------+------|
69 */ 68 */
70 69
71 [_COLEMAK] = KEYMAP( // Colemak layer 70 [_COLEMAK] = LAYOUT( // Colemak layer
72 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, MEH_GRV, \ 71 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, MEH_GRV,
73 HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, \ 72 HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC,
74 CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, SFT_ENT, \ 73 CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, SFT_ENT,
75 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_HHKB), \ 74 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_HHKB),
76 KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT), 75 KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
77
78
79 76
80 /* Layer DVORAK: Dvorak Layer 77 /* Layer DVORAK: Dvorak Layer
81 |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---| 78 |-------+---+---+---+---+---+---+---+---+---+---+-------+-----+-------+---|
@@ -93,14 +90,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
93 |------+------+-----------------------+------+------| 90 |------+------+-----------------------+------+------|
94 */ 91 */
95 92
96 [_DVORAK] = KEYMAP( // Dvorak layer 93 [_DVORAK] = LAYOUT( // Dvorak layer
97 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, MEH_GRV, \ 94 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, MEH_GRV,
98 HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, \ 95 HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC,
99 CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, SFT_ENT, \ 96 CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, SFT_ENT,
100 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(_HHKB), \ 97 KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, MO(_HHKB),
101 KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT), 98 KC_LALT, KC_LGUI, /* */ KC_SPC, KC_RGUI, KC_RALT),
102
103
104 99
105 /* Layer HHKB: HHKB mode (HHKB Fn) 100 /* Layer HHKB: HHKB mode (HHKB Fn)
106 |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----| 101 |------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-------+-------+-----|
@@ -119,13 +114,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
119 114
120 */ 115 */
121 116
122 [_HHKB] = KEYMAP( 117 [_HHKB] = LAYOUT(
123 KC_PWR, 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, KC_DEL, \ 118 KC_PWR, 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, KC_DEL,
124 KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_BSPC, \ 119 KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP, _______, KC_BSPC,
125 _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT, \ 120 _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_PENT,
126 _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, \ 121 _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
127 _______, _______, _______, _______, _______)}; 122 _______, _______, _______, _______, _______)};
128
129 123
130const uint16_t PROGMEM fn_actions[] = { 124const uint16_t PROGMEM fn_actions[] = {
131 125
@@ -133,44 +127,54 @@ const uint16_t PROGMEM fn_actions[] = {
133 127
134const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 128const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
135{ 129{
136 // MACRODOWN only works in this function 130 // MACRODOWN only works in this function
137 switch(id) { 131 switch (id)
138 case 0: 132 {
139 if (record->event.pressed) { 133 case 0:
134 if (record->event.pressed)
135 {
140 register_code(KC_RSFT); 136 register_code(KC_RSFT);
141 } else { 137 }
138 else
139 {
142 unregister_code(KC_RSFT); 140 unregister_code(KC_RSFT);
143 } 141 }
144 break; 142 break;
145 } 143 }
146 return MACRO_NONE; 144 return MACRO_NONE;
147}; 145};
148 146
149void persistent_default_layer_set(uint16_t default_layer) { 147void persistent_default_layer_set(uint16_t default_layer)
150 eeconfig_update_default_layer(default_layer); 148{
151 default_layer_set(default_layer); 149 eeconfig_update_default_layer(default_layer);
150 default_layer_set(default_layer);
152} 151}
153 152
154bool process_record_user(uint16_t keycode, keyrecord_t *record) { 153bool process_record_user(uint16_t keycode, keyrecord_t *record)
155 switch (keycode) { 154{
155 switch (keycode)
156 {
156 case QWERTY: 157 case QWERTY:
157 if (record->event.pressed) { 158 if (record->event.pressed)
158 persistent_default_layer_set(1UL<<_QWERTY); 159 {
159 } 160 persistent_default_layer_set(1UL << _QWERTY);
160 return false; 161 }
161 break; 162 return false;
163 break;
162 case COLEMAK: 164 case COLEMAK:
163 if (record->event.pressed) { 165 if (record->event.pressed)
164 persistent_default_layer_set(1UL<<_COLEMAK); 166 {
165 } 167 persistent_default_layer_set(1UL << _COLEMAK);
166 return false; 168 }
167 break; 169 return false;
170 break;
168 case DVORAK: 171 case DVORAK:
169 if (record->event.pressed) { 172 if (record->event.pressed)
170 persistent_default_layer_set(1UL<<_DVORAK); 173 {
171 } 174 persistent_default_layer_set(1UL << _DVORAK);
172 return false; 175 }
173 break; 176 return false;
174 } 177 break;
175 return true; 178 }
179 return true;
176} 180}