summaryrefslogtreecommitdiff
path: root/m0110_usb/keymap.c
diff options
context:
space:
mode:
authortmk2012-05-15 03:41:07 +0900
committertmk2012-05-16 02:01:45 +0900
commitf5f48c2a240b43e1773c3787b8fca8859f128cf7 (patch)
tree58ed9b0f4013f33e11767836a98ffa227aa3dd0e /m0110_usb/keymap.c
parentd553289e7edfdf17dfe4fb9cf45a3b23ea2e03df (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.c66
1 files changed, 35 insertions, 31 deletions
diff --git a/m0110_usb/keymap.c b/m0110_usb/keymap.c
index 8c509a59b..c6b7cbd3b 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
};