aboutsummaryrefslogtreecommitdiff
path: root/m0110_usb/keymap.c
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2012-05-15 03:41:07 +0900
committertmk <nobody@nowhere>2012-05-16 02:01:45 +0900
commitf5f48c2a240b43e1773c3787b8fca8859f128cf7 (patch)
tree58ed9b0f4013f33e11767836a98ffa227aa3dd0e /m0110_usb/keymap.c
parentd553289e7edfdf17dfe4fb9cf45a3b23ea2e03df (diff)
downloadqmk_firmware-f5f48c2a240b43e1773c3787b8fca8859f128cf7.tar.gz
qmk_firmware-f5f48c2a240b43e1773c3787b8fca8859f128cf7.zip
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[] = {
58 1, // Fn0 58 1, // Fn0
59 2, // Fn1 59 2, // Fn1
60 3, // Fn2 60 3, // Fn2
61 0, // Fn3 61 1, // Fn3
62 0, // Fn4 62 0, // Fn4
63 0, // Fn5 63 0, // Fn5
64 0, // Fn6 64 0, // Fn6
@@ -68,15 +68,17 @@ static const uint8_t PROGMEM fn_layer[] = {
68// Assign Fn key(0-7) to a keycode sent when release Fn key without use of the layer. 68// Assign Fn key(0-7) to a keycode sent when release Fn key without use of the layer.
69// See layer.c for details. 69// See layer.c for details.
70static const uint8_t PROGMEM fn_keycode[] = { 70static const uint8_t PROGMEM fn_keycode[] = {
71#ifndef HASU
71 KB_ESC, // Fn0 72 KB_ESC, // Fn0
72#ifdef HASU
73 KB_SCOLON, // Fn1
74 KB_SLASH, // Fn2
75#else
76 KB_NO, // Fn1 73 KB_NO, // Fn1
77 KB_NO, // Fn2 74 KB_NO, // Fn2
78#endif
79 KB_NO, // Fn3 75 KB_NO, // Fn3
76#else
77 KB_NO, // Fn0
78 KB_SCOLON, // Fn1
79 KB_SLASH, // Fn2
80 KB_UP, // Fn3
81#endif
80 KB_NO, // Fn4 82 KB_NO, // Fn4
81 KB_NO, // Fn5 83 KB_NO, // Fn5
82 KB_NO, // Fn6 84 KB_NO, // Fn6
@@ -107,7 +109,6 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
107 * |---------------------------------------------------------| |-----------|Ent| 109 * |---------------------------------------------------------| |-----------|Ent|
108 * |Ctrl |Alt | Space |Gui| \|Lft|Rgt|Dn | | 0| .| | 110 * |Ctrl |Alt | Space |Gui| \|Lft|Rgt|Dn | | 0| .| |
109 * `---------------------------------------------------------' `---------------' 111 * `---------------------------------------------------------' `---------------'
110 * You can register Esc by hitting(press&release) Fn0 quickly.
111 * 112 *
112 * HHKB/WASD cursor Layer(Fn0): 113 * HHKB/WASD cursor Layer(Fn0):
113 * ,---------------------------------------------------------. ,---------------. 114 * ,---------------------------------------------------------. ,---------------.
@@ -122,25 +123,44 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
122 * |Ctrl |Alt | Space |Gui | \|Lft|Rgt|Dn | | 0| .| | 123 * |Ctrl |Alt | Space |Gui | \|Lft|Rgt|Dn | | 0| .| |
123 * `---------------------------------------------------------' `---------------' 124 * `---------------------------------------------------------' `---------------'
124 * 125 *
125 * NOTE: Key between Space and \ in above diagram is M0110 Enter(assigned to Gui). 126 * NOTE: You can register Esc by hitting(press&release) Fn0 quickly.
127 * NOTE: Gui between Space and \ is Enter on M0110 not exists on M0110A.
126 * NOTE: LShift and RShift are logically same key. (M0110, M0110A) 128 * NOTE: LShift and RShift are logically same key. (M0110, M0110A)
127 * NOTE: LOption and ROption are logically same key. (M0110) 129 * NOTE: LOption and ROption are logically same key. (M0110)
128 */ 130 */
129#ifdef HASU 131#ifndef HASU
132 KEYMAP(
133 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, LGUI,PEQL,PSLS,PAST,
134 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, P7, P8, P9, PMNS,
135 FN0, A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, P4, P5, P6, PPLS,
136 LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, UP, P1, P2, P3, PENT,
137 LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT
138 ),
139 // HHKB & WASD
140 KEYMAP(
141 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,PEQL,PSLS,PAST,
142 CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,BRK, UP, INS, P7, P8, P9, PMNS,
143 FN0, LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, ENT, P4, P5, P6, PPLS,
144 LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN, UP, P1, P2, P3, PENT,
145 LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT
146 ),
147#else
148 // hasu's keymap
149 // To enable use this 'make' option: make EXTRAFLAGS=-DHASU
130 KEYMAP( 150 KEYMAP(
131 ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, ESC, PEQL,PSLS,PAST, 151 ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, ESC, PEQL,PSLS,PAST,
132 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, P7, P8, P9, PMNS, 152 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, P7, P8, P9, PMNS,
133 LCTL,A, S, D, F, G, H, J, K, L, FN1, QUOT, ENT, P4, P5, P6, PPLS, 153 LCTL,A, S, D, F, G, H, J, K, L, FN1, QUOT, ENT, P4, P5, P6, PPLS,
134 LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN2, UP, P1, P2, P3, PENT, 154 LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN2, FN3, P1, P2, P3, PENT,
135 FN0, LALT, SPC, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT 155 LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT
136 ), 156 ),
137 // HHKB & WASD 157 // HHKB & WASD
138 KEYMAP( 158 KEYMAP(
139 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,PEQL,PSLS,PAST, 159 GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,PEQL,PSLS,PAST,
140 CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,BRK, UP, INS, P7, P8, P9, PMNS, 160 CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,BRK, UP, INS, P7, P8, P9, PMNS,
141 LCTL,LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, ENT, P4, P5, P6, PPLS, 161 LCTL,LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, ENT, P4, P5, P6, PPLS,
142 LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN, UP, P1, P2, P3, PENT, 162 LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN, FN3, P1, P2, P3, PENT,
143 FN0, LALT, SPC, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT 163 LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT
144 ), 164 ),
145 // vi mousekeys 165 // vi mousekeys
146 KEYMAP( 166 KEYMAP(
@@ -148,7 +168,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
148 CAPS,NO, NO, NO, NO, NO, WH_L,WH_D,WH_U,WH_R,NO, NO, NO, P7, P8, P9, PMNS, 168 CAPS,NO, NO, NO, NO, NO, WH_L,WH_D,WH_U,WH_R,NO, NO, NO, P7, P8, P9, PMNS,
149 NO, VOLD,VOLU,MUTE,NO, NO, MS_L,MS_D,MS_U,MS_R,FN1, NO, ENT, P4, P5, P6, PPLS, 169 NO, VOLD,VOLU,MUTE,NO, NO, MS_L,MS_D,MS_U,MS_R,FN1, NO, ENT, P4, P5, P6, PPLS,
150 LSFT,NO, NO, NO, NO, BTN3,BTN2,BTN1,NO, NO, NO, UP, P1, P2, P3, PENT, 170 LSFT,NO, NO, NO, NO, BTN3,BTN2,BTN1,NO, NO, NO, UP, P1, P2, P3, PENT,
151 LCTL,LALT, BTN1, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT 171 LCTL,LALT, BTN1, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT
152 ), 172 ),
153 // vi cusorkeys 173 // vi cusorkeys
154 KEYMAP( 174 KEYMAP(
@@ -156,23 +176,7 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
156 CAPS,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, NO, NO, NO, P7, P8, P9, PMNS, 176 CAPS,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, NO, NO, NO, P7, P8, P9, PMNS,
157 NO, NO, NO, NO, NO, NO, LEFT,DOWN,UP, RGHT,NO, NO, ENT, P4, P5, P6, PPLS, 177 NO, NO, NO, NO, NO, NO, LEFT,DOWN,UP, RGHT,NO, NO, ENT, P4, P5, P6, PPLS,
158 LSFT,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, FN2, UP, P1, P2, P3, PENT, 178 LSFT,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, FN2, UP, P1, P2, P3, PENT,
159 LCTL,LALT, SPC, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT 179 LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT
160 ),
161#else
162 KEYMAP(
163 GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, LGUI,PEQL,PSLS,PAST,
164 TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, P7, P8, P9, PMNS,
165 FN0, A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, P4, P5, P6, PPLS,
166 LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, UP, P1, P2, P3, PENT,
167 LCTL,LALT, SPC, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT
168 ),
169 // HHKB & WASD
170 KEYMAP(
171 ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,PEQL,PSLS,PAST,
172 CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,BRK, UP, INS, P7, P8, P9, PMNS,
173 FN0, LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, ENT, P4, P5, P6, PPLS,
174 LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN, UP, P1, P2, P3, PENT,
175 LCTL,LALT, SPC, LGUI,BSLS,LEFT,DOWN,RGHT, P0, PDOT
176 ), 180 ),
177#endif 181#endif
178}; 182};