diff options
author | tmk <nobody@nowhere> | 2012-05-15 03:41:07 +0900 |
---|---|---|
committer | tmk <nobody@nowhere> | 2012-05-16 02:01:45 +0900 |
commit | f5f48c2a240b43e1773c3787b8fca8859f128cf7 (patch) | |
tree | 58ed9b0f4013f33e11767836a98ffa227aa3dd0e /m0110_usb/keymap.c | |
parent | d553289e7edfdf17dfe4fb9cf45a3b23ea2e03df (diff) |
Fix bug on RAW2SCAN. Add work around for M0110A.
- Bug fix: Macro RAW2SCAN doesn't work and converted into static inline function.
- Add Exceptional handling for M0110A arrow keys and calc keys.
- Fix keymap.
Diffstat (limited to 'm0110_usb/keymap.c')
-rw-r--r-- | m0110_usb/keymap.c | 66 |
1 files changed, 35 insertions, 31 deletions
diff --git a/m0110_usb/keymap.c b/m0110_usb/keymap.c index 8c509a59b1..c6b7cbd3b3 100644 --- a/m0110_usb/keymap.c +++ b/m0110_usb/keymap.c @@ -58,7 +58,7 @@ static const uint8_t PROGMEM fn_layer[] = { 1, // Fn0 2, // Fn1 3, // Fn2 - 0, // Fn3 + 1, // Fn3 0, // Fn4 0, // Fn5 0, // Fn6 @@ -68,15 +68,17 @@ static const uint8_t PROGMEM fn_layer[] = { // Assign Fn key(0-7) to a keycode sent when release Fn key without use of the layer. // See layer.c for details. static const uint8_t PROGMEM fn_keycode[] = { +#ifndef HASU KB_ESC, // Fn0 -#ifdef HASU - KB_SCOLON, // Fn1 - KB_SLASH, // Fn2 -#else KB_NO, // Fn1 KB_NO, // Fn2 -#endif KB_NO, // Fn3 +#else + KB_NO, // Fn0 + KB_SCOLON, // Fn1 + KB_SLASH, // Fn2 + KB_UP, // Fn3 +#endif KB_NO, // Fn4 KB_NO, // Fn5 KB_NO, // Fn6 @@ -107,7 +109,6 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |---------------------------------------------------------| |-----------|Ent| * |Ctrl |Alt | Space |Gui| \|Lft|Rgt|Dn | | 0| .| | * `---------------------------------------------------------' `---------------' - * You can register Esc by hitting(press&release) Fn0 quickly. * * HHKB/WASD cursor Layer(Fn0): * ,---------------------------------------------------------. ,---------------. @@ -122,25 +123,44 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Ctrl |Alt | Space |Gui | \|Lft|Rgt|Dn | | 0| .| | * `---------------------------------------------------------' `---------------' * - * NOTE: Key between Space and \ in above diagram is M0110 Enter(assigned to Gui). + * NOTE: You can register Esc by hitting(press&release) Fn0 quickly. + * NOTE: Gui between Space and \ is Enter on M0110 not exists on M0110A. * NOTE: LShift and RShift are logically same key. (M0110, M0110A) * NOTE: LOption and ROption are logically same key. (M0110) */ -#ifdef HASU +#ifndef HASU + KEYMAP( + GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, LGUI,PEQL,PSLS,PAST, + TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, P7, P8, P9, PMNS, + FN0, A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, P4, P5, P6, PPLS, + LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, UP, P1, P2, P3, PENT, + LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT + ), + // HHKB & WASD + KEYMAP( + ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,PEQL,PSLS,PAST, + CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,BRK, UP, INS, P7, P8, P9, PMNS, + FN0, LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, ENT, P4, P5, P6, PPLS, + LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN, UP, P1, P2, P3, PENT, + LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT + ), +#else + // hasu's keymap + // To enable use this 'make' option: make EXTRAFLAGS=-DHASU KEYMAP( ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, ESC, PEQL,PSLS,PAST, TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, P7, P8, P9, PMNS, LCTL,A, S, D, F, G, H, J, K, L, FN1, QUOT, ENT, P4, P5, P6, PPLS, - LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN2, UP, P1, P2, P3, PENT, - FN0, LALT, SPC, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT + LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN2, FN3, P1, P2, P3, PENT, + LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT ), // HHKB & WASD KEYMAP( GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,PEQL,PSLS,PAST, CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,BRK, UP, INS, P7, P8, P9, PMNS, LCTL,LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, ENT, P4, P5, P6, PPLS, - LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN, UP, P1, P2, P3, PENT, - FN0, LALT, SPC, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT + LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN, FN3, P1, P2, P3, PENT, + LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT ), // vi mousekeys KEYMAP( @@ -148,7 +168,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { CAPS,NO, NO, NO, NO, NO, WH_L,WH_D,WH_U,WH_R,NO, NO, NO, P7, P8, P9, PMNS, NO, VOLD,VOLU,MUTE,NO, NO, MS_L,MS_D,MS_U,MS_R,FN1, NO, ENT, P4, P5, P6, PPLS, LSFT,NO, NO, NO, NO, BTN3,BTN2,BTN1,NO, NO, NO, UP, P1, P2, P3, PENT, - LCTL,LALT, BTN1, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT + LCTL,LALT, BTN1, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT ), // vi cusorkeys KEYMAP( @@ -156,23 +176,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { CAPS,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, NO, NO, NO, P7, P8, P9, PMNS, NO, NO, NO, NO, NO, NO, LEFT,DOWN,UP, RGHT,NO, NO, ENT, P4, P5, P6, PPLS, LSFT,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, FN2, UP, P1, P2, P3, PENT, - LCTL,LALT, SPC, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT - ), -#else - KEYMAP( - GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, LGUI,PEQL,PSLS,PAST, - TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, P7, P8, P9, PMNS, - FN0, A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, P4, P5, P6, PPLS, - LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, UP, P1, P2, P3, PENT, - LCTL,LALT, SPC, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT - ), - // HHKB & WASD - KEYMAP( - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,PEQL,PSLS,PAST, - CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,BRK, UP, INS, P7, P8, P9, PMNS, - FN0, LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, ENT, P4, P5, P6, PPLS, - LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN, UP, P1, P2, P3, PENT, - LCTL,LALT, SPC, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT + LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT ), #endif }; |