diff options
| author | tmk <nobody@nowhere> | 2013-02-25 15:48:34 +0900 |
|---|---|---|
| committer | tmk <nobody@nowhere> | 2013-02-25 16:14:44 +0900 |
| commit | 6778324de2f8cbdf4eeada7b2be05937dc833e9b (patch) | |
| tree | ae877150ec20baa72995163427838ff4067fb1ff /keyboard/hhkb | |
| parent | 23c32d304bcc5146a575e547bba80ee8d86a2856 (diff) | |
| download | qmk_firmware-6778324de2f8cbdf4eeada7b2be05937dc833e9b.tar.gz qmk_firmware-6778324de2f8cbdf4eeada7b2be05937dc833e9b.zip | |
Fix keymap MACRO of pc98 adn hhkb
Diffstat (limited to 'keyboard/hhkb')
| -rw-r--r-- | keyboard/hhkb/keymap.c | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/keyboard/hhkb/keymap.c b/keyboard/hhkb/keymap.c index 1fb65873d..d4e009ede 100644 --- a/keyboard/hhkb/keymap.c +++ b/keyboard/hhkb/keymap.c | |||
| @@ -65,9 +65,9 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 65 | */ | 65 | */ |
| 66 | KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSLS,GRV, \ | 66 | KEYMAP(ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSLS,GRV, \ |
| 67 | TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSPC, \ | 67 | TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSPC, \ |
| 68 | FN6, A, S, D, F, G, H, J, K, L, FN3, QUOT,FN7, \ | 68 | LCTL,A, S, D, F, G, H, J, K, L, FN3, QUOT,FN7, \ |
| 69 | FN8, Z, X, C, V, B, N, M, COMM,DOT, FN2, FN12,FN9, \ | 69 | LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN2, FN12,FN9, \ |
| 70 | LGUI,LALT, FN5, FN13,FN4), | 70 | LGUI,LALT, FN5, FN14,FN4), |
| 71 | 71 | ||
| 72 | /* Layer 1: HHKB mode (HHKB Fn) | 72 | /* Layer 1: HHKB mode (HHKB Fn) |
| 73 | * ,-----------------------------------------------------------. | 73 | * ,-----------------------------------------------------------. |
| @@ -173,7 +173,11 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 173 | enum function_id { | 173 | enum function_id { |
| 174 | LSHIFT_LPAREN, | 174 | LSHIFT_LPAREN, |
| 175 | RSHIFT_RPAREN, | 175 | RSHIFT_RPAREN, |
| 176 | MACRO = 0xff | 176 | }; |
| 177 | |||
| 178 | enum macro_id { | ||
| 179 | SHIFT_D, | ||
| 180 | HELLO, | ||
| 177 | }; | 181 | }; |
| 178 | 182 | ||
| 179 | 183 | ||
| @@ -198,28 +202,30 @@ static const uint16_t PROGMEM fn_actions[] = { | |||
| 198 | [9] = ACTION_KEYMAP_TAP_TOGGLE(1), // FN9 | 202 | [9] = ACTION_KEYMAP_TAP_TOGGLE(1), // FN9 |
| 199 | [11] = ACTION_FUNCTION_TAP(LSHIFT_LPAREN), // FN11 Function: LShift with tap '(' | 203 | [11] = ACTION_FUNCTION_TAP(LSHIFT_LPAREN), // FN11 Function: LShift with tap '(' |
| 200 | [12] = ACTION_FUNCTION_TAP(RSHIFT_RPAREN), // FN12 Function: RShift with tap ')' | 204 | [12] = ACTION_FUNCTION_TAP(RSHIFT_RPAREN), // FN12 Function: RShift with tap ')' |
| 201 | [13] = ACTION_FUNCTION(MACRO, 1), // FN13 Macro: | 205 | [13] = ACTION_MACRO(SHIFT_D), |
| 206 | [14] = ACTION_MACRO(HELLO), | ||
| 202 | }; | 207 | }; |
| 203 | 208 | ||
| 204 | 209 | ||
| 205 | /* | 210 | /* |
| 206 | * Macro definition | 211 | * Macro definition |
| 207 | */ | 212 | */ |
| 208 | #define MACRO(...) ({ static prog_macro_t _m[] PROGMEM = { __VA_ARGS__ }; _m; }) | 213 | const prog_macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) |
| 209 | #define MACRO_NONE 0 | ||
| 210 | static const prog_macro_t *get_macro(uint8_t id, bool pressed) | ||
| 211 | { | 214 | { |
| 215 | keyevent_t event = record->event; | ||
| 216 | //uint8_t tap_count = record->tap_count; | ||
| 217 | |||
| 212 | switch (id) { | 218 | switch (id) { |
| 213 | case 0: | 219 | case SHIFT_D: |
| 214 | return (pressed ? | 220 | return (event.pressed ? |
| 215 | MACRO( MD(LSHIFT), D(D), END ) : | 221 | MACRO( MD(LSHIFT), D(D), END ) : |
| 216 | MACRO( U(D), MU(LSHIFT), END ) ); | 222 | MACRO( U(D), MU(LSHIFT), END ) ); |
| 217 | case 1: | 223 | case HELLO: |
| 218 | return (pressed ? | 224 | return (event.pressed ? |
| 219 | MACRO( I(255), T(H), T(E), T(L), T(L), W(255), T(O), END ) : | 225 | MACRO( I(0), T(H), T(E), T(L), T(L), W(255), T(O), END ) : |
| 220 | MACRO_NONE ); | 226 | MACRO_NONE ); |
| 221 | } | 227 | } |
| 222 | return 0; | 228 | return MACRO_NONE; |
| 223 | } | 229 | } |
| 224 | 230 | ||
| 225 | 231 | ||
| @@ -300,9 +306,6 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) | |||
| 300 | } | 306 | } |
| 301 | } | 307 | } |
| 302 | break; | 308 | break; |
| 303 | case MACRO: | ||
| 304 | action_macro_play(get_macro(opt, event.pressed)); | ||
| 305 | break; | ||
| 306 | } | 309 | } |
| 307 | } | 310 | } |
| 308 | 311 | ||
