diff options
Diffstat (limited to 'keyboards/comet46/keymaps/satt/keymap.c')
-rw-r--r-- | keyboards/comet46/keymaps/satt/keymap.c | 256 |
1 files changed, 164 insertions, 92 deletions
diff --git a/keyboards/comet46/keymaps/satt/keymap.c b/keyboards/comet46/keymaps/satt/keymap.c index 7e728e5d0..eec40eff4 100644 --- a/keyboards/comet46/keymaps/satt/keymap.c +++ b/keyboards/comet46/keymaps/satt/keymap.c | |||
@@ -4,64 +4,96 @@ | |||
4 | #include QMK_KEYBOARD_H | 4 | #include QMK_KEYBOARD_H |
5 | #include "keymap_jis2us.h" | 5 | #include "keymap_jis2us.h" |
6 | #include "action_pseudo_lut.h" | 6 | #include "action_pseudo_lut.h" |
7 | #include "keymap_jp.h" | ||
8 | #ifdef SSD1306OLED | ||
9 | #include "ssd1306.h" | ||
10 | #endif | ||
7 | 11 | ||
8 | // Each layer gets a name for readability, which is then used in the keymap matrix below. | 12 | // Each layer gets a name for readability, which is then used in the keymap matrix below. |
9 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. | 13 | // The underscores don't mean anything - you can have a layer called STUFF or any other name. |
10 | // Layer names don't all need to be of the same length, obviously, and you can also skip them | 14 | // Layer names don't all need to be of the same length, obviously, and you can also skip them |
11 | // entirely and just use numbers. | 15 | // entirely and just use numbers. |
12 | enum comet46_layers { | 16 | enum comet46_layers { |
13 | _QWERTY, | 17 | _QWERTY, |
14 | _LOWER, | 18 | _LOWER, |
15 | _RAISE, | 19 | _RAISE, |
16 | _PSEUDO_US, | 20 | _PSEUDO_US, |
17 | _PSEUDO_US_LOWER, | 21 | _PSEUDO_US_LOWER, |
18 | _PSEUDO_US_RAISE, | 22 | _PSEUDO_US_RAISE, |
19 | _ADJUST | 23 | _ADJUST |
20 | }; | 24 | }; |
21 | 25 | ||
22 | enum custom_keycodes { | 26 | enum custom_keycodes { |
23 | QWERTY = SAFE_RANGE, | 27 | QWERTY = SAFE_RANGE, |
24 | PSEUDO_US, | 28 | PSEUDO_US, |
29 | JIS2US, | ||
25 | }; | 30 | }; |
26 | 31 | ||
27 | #define KC_LWR MO(_LOWER) | 32 | // JIS keycodes |
28 | #define KC_RSE MO(_RAISE) | 33 | #define KC_JZHT JP_ZHTG // hankaku/zenkaku|kanzi |
34 | #define KC_JCIR JP_CIRC // ^, ~ | ||
35 | #define KC_JAT JP_AT // @, ` | ||
36 | #define KC_JLBR JP_LBRC // [, { | ||
37 | #define KC_JCOL JP_COLN // :, * | ||
38 | #define KC_JRBR JP_RBRC // ], } | ||
39 | #define KC_JBSL JP_BSLS // \, _ | ||
40 | #define KC_JMHE JP_MHEN // muhenkan | ||
41 | #define KC_JHEN JP_HENK // henkan | ||
42 | #define KC_JKAN JP_KANA // katakana/hiragana|ro-mazi | ||
43 | #define KC_JMKA JP_MKANA //kana on MacOSX | ||
44 | #define KC_JMEI JP_MEISU //eisu on MacOSX | ||
45 | #define KC_JAMP JP_AMPR // & | ||
46 | #define KC_JQUO JP_QUOT // ' | ||
47 | #define KC_JLPR JP_LPRN // ( | ||
48 | #define KC_JRPR JP_RPRN // ) | ||
49 | #define KC_JEQL JP_EQL // = | ||
50 | #define KC_JTIL JP_TILD // ~ | ||
51 | #define KC_JPIP JP_PIPE // | | ||
52 | #define KC_JGRV JP_GRV // ` | ||
53 | #define KC_JLCB JP_LCBR // { | ||
54 | #define KC_JPLU JP_PLUS // + | ||
55 | #define KC_JAST JP_ASTR // * | ||
56 | #define KC_JRCB JP_RCBR // } | ||
57 | #define KC_JUND JP_UNDS // _ | ||
58 | |||
59 | // Layer related keycodes | ||
60 | #define KC_LWR MO(_LOWER) | ||
61 | #define KC_RSE MO(_RAISE) | ||
29 | #define KC_P_LW MO(_PSEUDO_US_LOWER) | 62 | #define KC_P_LW MO(_PSEUDO_US_LOWER) |
30 | #define KC_P_RS MO(_PSEUDO_US_RAISE) | 63 | #define KC_P_RS MO(_PSEUDO_US_RAISE) |
31 | #define KC_QWRT QWERTY | 64 | #define KC_QWRT QWERTY |
32 | #define KC_P_US PSEUDO_US | 65 | #define KC_P_US PSEUDO_US |
66 | #define KC_J2US JIS2US | ||
67 | |||
68 | // Special keycodes | ||
33 | #define KC_SPCT CTL_T(KC_SPC) | 69 | #define KC_SPCT CTL_T(KC_SPC) |
34 | #define KC_ENSF SFT_T(KC_ENT) | 70 | #define KC_ENSF SFT_T(KC_ENT) |
35 | #define KC_SFTA SFT_T(KC_A) | 71 | #define KC_CAEC MT(MOD_LCTL | MOD_LALT, KC_ESC) |
36 | #define KC_CTSF S(KC_LCTL) | 72 | #define KC_CSTB C_S_T(KC_TAB) |
37 | #define KC_IMON ALT_T(KC_F13) | 73 | #define KC_IMON ALT_T(KC_F13) |
38 | #define KC_IMOF GUI_T(KC_F14) | 74 | #define KC_IMOF GUI_T(KC_F14) |
39 | #define KC_SRO S(KC_RO) | ||
40 | #define KC_SYEN S(KC_JYEN) | ||
41 | #define KC_CAD LCA(KC_DEL) | 75 | #define KC_CAD LCA(KC_DEL) |
42 | #define KC_RST RESET | 76 | #define KC_RST RESET |
43 | 77 | ||
44 | #define LONGPRESS_DELAY 150 | ||
45 | |||
46 | // Fillers to make layering more clear | 78 | // Fillers to make layering more clear |
47 | #define KC_ KC_TRNS | 79 | #define KC_ KC_TRNS |
48 | #define KC_XXXX KC_NO | 80 | #define KC_XXXX KC_NO |
49 | 81 | ||
50 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 82 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
51 | 83 | ||
52 | [_QWERTY] = LAYOUT_kc( | 84 | [_QWERTY] = LAYOUT_kc( |
53 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. | 85 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. |
54 | ESC , Q , W , E , R , T , Y , U , I , O , P ,DEL , | 86 | CAEC, Q , W , E , R , T , Y , U , I , O , P ,DEL , |
55 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| | 87 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| |
56 | TAB ,SFTA, S , D , F , G ,LPRN, RPRN, H , J , K , L ,SCLN,BSPC, | 88 | CSTB, A , S , D , F , G ,LPRN, RPRN, H , J , K , L ,SCLN,BSPC, |
57 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 89 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
58 | CTSF, Z , X , C , V , B ,LBRC, RBRC, N , M ,COMM,DOT ,SLSH,QUOT, | 90 | LSFT, Z , X , C , V , B ,LBRC, RBRC, N , M ,COMM,DOT ,SLSH,QUOT, |
59 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 91 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
60 | IMOF,LWR ,SPCT, ENSF,RSE ,IMON | 92 | IMOF,LWR ,SPCT, ENSF,RSE ,IMON |
61 | // +----+----+---/ \---+----+----+ | 93 | // +----+----+---/ \---+----+----+ |
62 | ), | 94 | ), |
63 | 95 | ||
64 | [_LOWER] = LAYOUT_kc( | 96 | [_LOWER] = LAYOUT_kc( |
65 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. | 97 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. |
66 | ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, , | 98 | ,EXLM, AT ,HASH,DLR ,PERC, CIRC,AMPR,ASTR,LPRN,RPRN, , |
67 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| | 99 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| |
@@ -69,60 +101,60 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
69 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 101 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
70 | , F7 , F8 , F9 , F10, F11, F12, TILD,PIPE,UNDS,PLUS,LCBR,RCBR, , | 102 | , F7 , F8 , F9 , F10, F11, F12, TILD,PIPE,UNDS,PLUS,LCBR,RCBR, , |
71 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 103 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
72 | , , , , , | 104 | , , , , , |
73 | // +----+----+---/ \---+----+----+ | 105 | // +----+----+---/ \---+----+----+ |
74 | ), | 106 | ), |
75 | 107 | ||
76 | [_RAISE] = LAYOUT_kc( | 108 | [_RAISE] = LAYOUT_kc( |
77 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. | 109 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. |
78 | , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , , | 110 | , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , , |
79 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| | 111 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| |
80 | , , , , , , , XXXX,LEFT,DOWN, UP ,RGHT,END , , | 112 | , , , , , , , XXXX,LEFT,DOWN, UP ,RGHT,END , , |
81 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 113 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
82 | , , , , , , , HOME,XXXX,XXXX,XXXX,XXXX,XXXX, , | 114 | , , , , , , , HOME,XXXX,PGDN,PGUP,XXXX,XXXX, , |
83 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 115 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
84 | , , , , , | 116 | , , , , , |
85 | // +----+----+---/ \---+----+----+ | 117 | // +----+----+---/ \---+----+----+ |
86 | ), | 118 | ), |
87 | 119 | ||
88 | [_PSEUDO_US] = LAYOUT_kc( | 120 | [_PSEUDO_US] = LAYOUT_kc( |
89 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. | 121 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. |
90 | ESC , Q , W , E , R , T , Y , U , I , O , P ,DEL , | 122 | CAEC, Q , W , E , R , T , Y , U , I , O , P ,DEL , |
91 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| | 123 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| |
92 | TAB ,SFTA, S , D , F , G ,ASTR, LPRN, H , J , K , L ,FN0 ,BSPC, | 124 | CSTB, A , S , D , F , G ,JLPR, JRPR, H , J , K , L ,J2US,BSPC, |
93 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 125 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
94 | CTSF, Z , X , C , V , B ,FN0 , FN0 , N , M ,COMM,DOT ,SLSH,FN0 , | 126 | LSFT, Z , X , C , V , B ,J2US, J2US, N , M ,COMM,DOT ,SLSH,J2US, |
95 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 127 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
96 | IMOF,P_LW,SPCT, ENSF,P_RS,IMON | 128 | IMOF,P_LW,SPCT, ENSF,P_RS,IMON |
97 | // +----+----+---/ \---+----+----+ | 129 | // +----+----+---/ \---+----+----+ |
98 | ), | 130 | ), |
99 | 131 | ||
100 | 132 | ||
101 | [_PSEUDO_US_LOWER] = LAYOUT_kc( | 133 | [_PSEUDO_US_LOWER] = LAYOUT_kc( |
102 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. | 134 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. |
103 | ,EXLM,LBRC,HASH,DLR ,PERC, EQL ,CIRC, DQT,ASTR,LPRN, , | 135 | ,EXLM,JAT ,HASH,DLR ,PERC, JCIR,JAMP,JAST,JLPR,JRPR, , |
104 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| | 136 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| |
105 | , F1 , F2 , F3 , F4 , F5 , F6 , LCBR,JYEN,MINS,UNDS,RBRC,BSLS, , | 137 | , F1 , F2 , F3 , F4 , F5 , F6 , JGRV,JBSL,MINS,JEQL,JLBR,JRBR, , |
106 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 138 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
107 | , F7 , F8 , F9 , F10, F11, F12, PLUS,SYEN,SRO ,COLN,RCBR,PIPE, , | 139 | , F7 , F8 , F9 , F10, F11, F12, JTIL,JPIP,JUND,JPLU,JLCB,JRCB, , |
108 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 140 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
109 | , , , , , | 141 | , , , , , |
110 | // +----+----+---/ \---+----+----+ | 142 | // +----+----+---/ \---+----+----+ |
111 | ), | 143 | ), |
112 | 144 | ||
113 | [_PSEUDO_US_RAISE] = LAYOUT_kc( | 145 | [_PSEUDO_US_RAISE] = LAYOUT_kc( |
114 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. | 146 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. |
115 | , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , , | 147 | , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 0 , , |
116 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| | 148 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| |
117 | , , , , , , GRV, XXXX,LEFT,DOWN, UP ,RGHT,END , , | 149 | , , , , , ,JZHT, XXXX,LEFT,DOWN, UP ,RGHT,END , , |
118 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 150 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
119 | , , , , , , , HOME,XXXX,XXXX,XXXX,XXXX,XXXX, , | 151 | , , , , , , , HOME,XXXX,PGDN,PGUP,XXXX,XXXX, , |
120 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 152 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
121 | , , , , , | 153 | , , , , , |
122 | // +----+----+---/ \---+----+----+ | 154 | // +----+----+---/ \---+----+----+ |
123 | ), | 155 | ), |
124 | 156 | ||
125 | [_ADJUST] = LAYOUT_kc( | 157 | [_ADJUST] = LAYOUT_kc( |
126 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. | 158 | //,----+----+----+----+----+----+ +----+----+----+----+----+----. |
127 | , , , , , , , , , , , , | 159 | , , , , , , , , , , , , |
128 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| | 160 | //|----+----+----+----+----+----+----+ +----+----+----+----+----+----+----| |
@@ -130,90 +162,130 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
130 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 162 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
131 | , , , , , ,RST , P_US, , , , , , , | 163 | , , , , , ,RST , P_US, , , , , , , |
132 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| | 164 | //|----+----+----+----+----+----+----| |----+----+----+----+----+----+----| |
133 | , , , , , | 165 | , , , , , |
134 | // +----+----+---/ \---+----+----+ | 166 | // +----+----+---/ \---+----+----+ |
135 | ) | 167 | ) |
136 | 168 | ||
137 | }; | 169 | }; |
138 | 170 | ||
171 | uint32_t layer_state_set_user(uint32_t state) { | ||
172 | switch (biton32(state)) { | ||
173 | case _PSEUDO_US_LOWER: | ||
174 | case _PSEUDO_US_RAISE: | ||
175 | return update_tri_layer_state(state, _PSEUDO_US_RAISE, _PSEUDO_US_LOWER, _ADJUST); | ||
176 | break; | ||
177 | default: | ||
178 | return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); | ||
179 | break; | ||
180 | } | ||
181 | } | ||
139 | 182 | ||
140 | /* | 183 | //SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h |
141 | * user defined action function | 184 | #ifdef SSD1306OLED |
142 | */ | ||
143 | enum function_id { | ||
144 | PSEUDO_US_FUNCTION, | ||
145 | }; | ||
146 | 185 | ||
147 | void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { | 186 | // You need to add source files to SRC in rules.mk when using OLED display functions |
148 | switch (id) | 187 | void set_keylog(uint16_t keycode); |
149 | { | 188 | const char *read_keylog(void); |
150 | case PSEUDO_US_FUNCTION: | 189 | const char *read_modifier_state(void); |
151 | action_pseudo_lut(record, _QWERTY, keymap_jis2us); | 190 | const char *read_host_led_state(void); |
152 | break; | ||
153 | } | ||
154 | } | ||
155 | 191 | ||
156 | /* | 192 | void matrix_init_user(void) { |
157 | * Fn action definition | 193 | iota_gfx_init(false); // turns on the display |
158 | */ | 194 | } |
159 | const uint16_t PROGMEM fn_actions[] = { | ||
160 | [0] = ACTION_FUNCTION(PSEUDO_US_FUNCTION), | ||
161 | }; | ||
162 | 195 | ||
163 | void matrix_scan_user(void) { | 196 | void matrix_scan_user(void) { |
164 | uint8_t layer = biton32(layer_state); | 197 | iota_gfx_task(); // this is what updates the display continuously |
198 | } | ||
199 | |||
200 | void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { | ||
201 | if (memcmp(dest->display, source->display, sizeof(dest->display))) { | ||
202 | memcpy(dest->display, source->display, sizeof(dest->display)); | ||
203 | dest->dirty = true; | ||
204 | } | ||
205 | } | ||
206 | |||
207 | void render_status(struct CharacterMatrix *matrix) { | ||
208 | // Layer state | ||
209 | char layer_str[22]; | ||
210 | matrix_write(matrix, "Layer: "); | ||
211 | uint8_t layer = biton32(layer_state); | ||
212 | uint8_t default_layer = biton32(eeconfig_read_default_layer()); | ||
165 | switch (layer) { | 213 | switch (layer) { |
166 | case _LOWER: | 214 | case _QWERTY: |
167 | set_led_red; | 215 | switch (default_layer) { |
168 | break; | 216 | case _QWERTY: |
217 | snprintf(layer_str, sizeof(layer_str), "Qwerty"); | ||
218 | break; | ||
219 | case _PSEUDO_US: | ||
220 | snprintf(layer_str, sizeof(layer_str), "Psuedo_US"); | ||
221 | break; | ||
222 | default: | ||
223 | snprintf(layer_str, sizeof(layer_str), "Undef-%d", default_layer); | ||
224 | break; | ||
225 | } | ||
226 | break; | ||
169 | case _RAISE: | 227 | case _RAISE: |
170 | set_led_blue; | 228 | snprintf(layer_str, sizeof(layer_str), "Raise"); |
171 | break; | 229 | break; |
172 | case _PSEUDO_US_LOWER: | 230 | case _LOWER: |
173 | set_led_yellow; | 231 | snprintf(layer_str, sizeof(layer_str), "Lower"); |
174 | break; | 232 | break; |
175 | case _PSEUDO_US_RAISE: | 233 | case _PSEUDO_US_RAISE: |
176 | set_led_cyan; | 234 | snprintf(layer_str, sizeof(layer_str), "P_US_Raise"); |
177 | break; | 235 | break; |
236 | case _PSEUDO_US_LOWER: | ||
237 | snprintf(layer_str, sizeof(layer_str), "P_US_Lower"); | ||
238 | break; | ||
178 | case _ADJUST: | 239 | case _ADJUST: |
179 | set_led_magenta; | 240 | snprintf(layer_str, sizeof(layer_str), "Adjust"); |
180 | break; | 241 | break; |
181 | default: | 242 | default: |
182 | set_led_green; | 243 | snprintf(layer_str, sizeof(layer_str), "Undef-%d", layer); |
183 | break; | ||
184 | } | 244 | } |
185 | }; | 245 | matrix_write_ln(matrix, layer_str); |
246 | // Last entered keycode | ||
247 | matrix_write_ln(matrix, read_keylog()); | ||
248 | // Modifier state | ||
249 | matrix_write_ln(matrix, read_modifier_state()); | ||
250 | // Host Keyboard LED Status | ||
251 | matrix_write(matrix, read_host_led_state()); | ||
252 | } | ||
186 | 253 | ||
187 | uint32_t layer_state_set_user(uint32_t state) { | 254 | void iota_gfx_task_user(void) { |
188 | switch (biton32(state)) { | 255 | struct CharacterMatrix matrix; |
189 | case _PSEUDO_US: | 256 | |
190 | return update_tri_layer_state(state, _PSEUDO_US_RAISE, _PSEUDO_US_LOWER, _ADJUST); | 257 | #if DEBUG_TO_SCREEN |
191 | break; | 258 | if (debug_enable) { |
192 | case _PSEUDO_US_LOWER: | 259 | return; |
193 | return update_tri_layer_state(state, _PSEUDO_US_RAISE, _PSEUDO_US_LOWER, _ADJUST); | ||
194 | break; | ||
195 | case _PSEUDO_US_RAISE: | ||
196 | return update_tri_layer_state(state, _PSEUDO_US_RAISE, _PSEUDO_US_LOWER, _ADJUST); | ||
197 | break; | ||
198 | default: | ||
199 | return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST); | ||
200 | break; | ||
201 | } | 260 | } |
261 | #endif | ||
262 | |||
263 | matrix_clear(&matrix); | ||
264 | render_status(&matrix); | ||
265 | matrix_update(&display, &matrix); | ||
202 | } | 266 | } |
203 | 267 | ||
268 | #endif//SSD1306OLED | ||
269 | |||
204 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 270 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
271 | #ifdef SSD1306OLED | ||
272 | if (record->event.pressed) { | ||
273 | set_keylog(keycode); | ||
274 | } | ||
275 | #endif | ||
205 | switch (keycode) { | 276 | switch (keycode) { |
206 | case QWERTY: | 277 | case QWERTY: |
207 | if (record->event.pressed) { | 278 | if (record->event.pressed) { |
208 | set_single_persistent_default_layer(_QWERTY); | 279 | set_single_persistent_default_layer(_QWERTY); |
209 | } | 280 | } |
210 | return false; | ||
211 | break; | 281 | break; |
212 | case PSEUDO_US: | 282 | case PSEUDO_US: |
213 | if (record->event.pressed) { | 283 | if (record->event.pressed) { |
214 | set_single_persistent_default_layer(_PSEUDO_US); | 284 | set_single_persistent_default_layer(_PSEUDO_US); |
215 | } | 285 | } |
216 | return false; | 286 | break; |
287 | case JIS2US: | ||
288 | action_pseudo_lut(record, _QWERTY, keymap_jis2us); | ||
217 | break; | 289 | break; |
218 | } | 290 | } |
219 | return true; | 291 | return true; |