Update M0110 keymap and add a Make target 'hasu'.

- change keymap for M0110
- add a Make target 'hasu' to build with hasu keymap.
This commit is contained in:
tmk 2012-05-27 14:13:02 +09:00
parent 660ea5a2cd
commit 7597582a85
3 changed files with 47 additions and 31 deletions

View File

@ -50,3 +50,6 @@ PROGRAM_CMD = teensy_loader_cli -mmcu=$(MCU) -w -v $(TARGET).hex
include $(COMMON_DIR)/pjrc.mk include $(COMMON_DIR)/pjrc.mk
include $(COMMON_DIR)/common.mk include $(COMMON_DIR)/common.mk
hasu: EXTRAFLAGS += -DHASU
hasu: all

View File

@ -50,7 +50,7 @@ Building Frimware
To compile firmware you need AVR GCC. You can use [WinAVR](http://winavr.sourceforge.net/) on Windows. To compile firmware you need AVR GCC. You can use [WinAVR](http://winavr.sourceforge.net/) on Windows.
You can edit *Makefile* and *config.h* to change compile options and pin configuration. You can edit *Makefile* and *config.h* to change compile options and pin configuration.
$ git clone ... (or download source) $ git clone git://github.com/tmk/tmk_keyboard.git (or download source)
$ cd m0110_usb $ cd m0110_usb
$ make $ make
@ -75,13 +75,11 @@ You can change keymaps by editing *keymap.c*.
`---------------------------------------------------------' `---------------------------------------------------------'
|Ctr|Alt | Space |Gui |Ctr| |Ctr|Alt | Space |Gui |Ctr|
`-----------------------------------------------' `-----------------------------------------------'
You can register Esc by hitting(press&release) Fn0 quickly. #### *HHKB/WASD Layer*
#### *HHKB/WASD cursor Layer(Fn0)*
,---------------------------------------------------------. ,---------------------------------------------------------.
|Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delet| |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delet|
|---------------------------------------------------------| |---------------------------------------------------------|
|Caps |Hom| Up|PgU| | | | |Psc|Slk|Pau|Up |Ins| \| |Caps |Hom| Up|PgU| | | | |Psc|Slk|Pau|Up | |Ins|
|---------------------------------------------------------| |---------------------------------------------------------|
|Fn0 |Lef|Dow|Rig| | | | |Hom|PgU|Lef|Rig|Return| |Fn0 |Lef|Dow|Rig| | | | |Hom|PgU|Lef|Rig|Return|
|---------------------------------------------------------| |---------------------------------------------------------|
@ -103,17 +101,17 @@ You can change keymaps by editing *keymap.c*.
|---------------------------------------------------------| |-----------|Ent| |---------------------------------------------------------| |-----------|Ent|
|Ctrl |Alt | Space | \|Lft|Rgt|Dn | | 0| .| | |Ctrl |Alt | Space | \|Lft|Rgt|Dn | | 0| .| |
`---------------------------------------------------------' `---------------' `---------------------------------------------------------' `---------------'
#### *HHKB/WASD cursor Layer(Fn0)* #### *HHKB/WASD/mousekey Layer*
,---------------------------------------------------------. ,---------------. ,---------------------------------------------------------. ,---------------.
|Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delet| |Nlk|Mb1|Mb3|Mb2| |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delet| |Nlk|Mb1|Mb3|Mb2|
|---------------------------------------------------------| |---------------| |---------------------------------------------------------| |---------------|
|Caps |Hom| Up|PgU| | | | |Psc|Slk|Pau|Up |Ins| | |MwD|McU|MwU|MwU| |Caps |Hom| Up|PgU| | | | |Psc|Slk|Pau|Up | | | |MwD|McU|MwU|MwU|
|-----------------------------------------------------' | |---------------| |-----------------------------------------------------' | |---------------|
|Fn0 |Lef|Dow|Rig| | | | |Hom|PgU|Lef|Rig|Return| |McL|McD|McR|MwD| |Fn0 |Lef|Dow|Rig| | | | |Hom|PgU|Lef|Rig|Return| |McL|McD|McR|MwD|
|---------------------------------------------------------| |---------------| |---------------------------------------------------------| |---------------|
|Shift |End| |PgD| |VoD|VoU|Mut|End|PgD|Dow|Shif|Up | |MwL|McD|MwR| | |Shift |End| |PgD| |VoD|VoU|Mut|End|PgD|Dow|Shif|Up | |MwL|McD|MwR| |
|---------------------------------------------------------| |-----------|Mb2| |---------------------------------------------------------| |-----------|Mb2|
|Ctrl |Alt | Space |Gui | \|Lft|Rgt|Dn | | Mb1|Mb3| | |Ctrl |Alt | Space |Ins|Lft|Rgt|Dn | | Mb1|Mb3| |
`---------------------------------------------------------' `---------------' `---------------------------------------------------------' `---------------'

View File

@ -55,34 +55,49 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// Assign Fn key(0-7) to a layer to which switch with the Fn key pressed. // Assign Fn key(0-7) to a layer to which switch with the Fn key pressed.
static const uint8_t PROGMEM fn_layer[] = { static const uint8_t PROGMEM fn_layer[] = {
#ifndef HASU
1, // Fn0 1, // Fn0
2, // Fn1 0, // Fn1
3, // Fn2 0, // Fn2
1, // Fn3 0, // Fn3
0, // Fn4 0, // Fn4
0, // Fn5 0, // Fn5
0, // Fn6 0, // Fn6
0 // Fn7 0 // Fn7
#else
1, // Fn0
2, // Fn1
3, // Fn2
1, // Fn3
2, // Fn4
0, // Fn5
0, // Fn6
0 // Fn7
#endif
}; };
// Assign Fn key(0-7) to a keycode sent when release Fn key without use of the layer. // Assign Fn key(0-7) to a keycode sent when release Fn key without use of the layer.
// See layer.c for details. // See layer.c for details.
static const uint8_t PROGMEM fn_keycode[] = { static const uint8_t PROGMEM fn_keycode[] = {
#ifndef HASU #ifndef HASU
KB_ESC, // Fn0 KB_NO, // Fn0
KB_NO, // Fn1 KB_NO, // Fn1
KB_NO, // Fn2 KB_NO, // Fn2
KB_NO, // Fn3 KB_NO, // Fn3
#else
KB_NO, // Fn0
KB_SCOLON, // Fn1
KB_SLASH, // Fn2
KB_UP, // Fn3
#endif
KB_NO, // Fn4 KB_NO, // Fn4
KB_NO, // Fn5 KB_NO, // Fn5
KB_NO, // Fn6 KB_NO, // Fn6
KB_NO // Fn7 KB_NO // Fn7
#else
KB_ENTER, // Fn0
KB_SCOLON, // Fn1
KB_SLASH, // Fn2
KB_UP, // Fn3
KB_NO, // Fn4
KB_NO, // Fn5
KB_NO, // Fn6
KB_NO // Fn7
#endif
}; };
static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@ -124,7 +139,8 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `---------------------------------------------------------' `---------------' * `---------------------------------------------------------' `---------------'
* Mb: Mouse Button / Mc: Mouse Cursor / Mw: Mouse Wheel * Mb: Mouse Button / Mc: Mouse Cursor / Mw: Mouse Wheel
* *
* NOTE: You can register Esc by hitting(press&release) Fn0 quickly. * NOTE: M0110 has no arrow and keypad keys.
* NOTE: \ is located next to ] on M0110.
* NOTE: Gui between Space and \ is Enter on M0110 not exists on M0110A. * NOTE: Gui between Space and \ is Enter on M0110 not exists on M0110A.
* NOTE: LShift and RShift are logically same key. (M0110, M0110A) * NOTE: LShift and RShift are logically same key. (M0110, M0110A)
* NOTE: LOption and ROption are logically same key. (M0110) * NOTE: LOption and ROption are logically same key. (M0110)
@ -140,28 +156,27 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// HHKB & WASD // HHKB & WASD
KEYMAP( KEYMAP(
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,BTN1,BTN3,BTN2, ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,BTN1,BTN3,BTN2,
CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,BRK, UP, INS, WH_D,MS_U,WH_U,WH_U, CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,PAUS,UP, NO, WH_D,MS_U,WH_U,WH_U,
FN0, LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, ENT, MS_L,MS_D,MS_R,WH_D, FN0, LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, ENT, MS_L,MS_D,MS_R,WH_D,
LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN, UP, WH_L,MS_D,WH_R,BTN2, LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN, UP, WH_L,MS_D,WH_R,BTN2,
LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, BTN1, BTN3 LCTL,LALT, SPC, LGUI,INS, LEFT,RGHT,DOWN, BTN1, BTN3
), ),
#else #else
// hasu's keymap // hasu's keymap(To enable this use 'make hasu' to add option flag: EXTRAFLAGS=-DHASU)
// To enable use this 'make' option: make EXTRAFLAGS=-DHASU
KEYMAP( KEYMAP(
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, LGUI,EQL, PSLS,PAST, ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, LGUI,EQL, PSLS,PAST,
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, P7, P8, P9, PMNS, 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, LCTL,A, S, D, F, G, H, J, K, L, FN1, QUOT, FN0, P4, P5, P6, PPLS,
LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN2, FN3, P1, P2, P3, PENT, LSFT,Z, X, C, V, B, N, M, COMM,DOT, FN2, FN3, P1, P2, P3, PENT,
LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, LGUI, PDOT FN4, LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, LGUI, PDOT
), ),
// HHKB & WASD // HHKB & WASD
KEYMAP( KEYMAP(
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,EQL, PSLS,PAST, GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,EQL, PSLS,PAST,
CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,BRK, UP, INS, P7, P8, P9, PMNS, CAPS,HOME,UP, PGUP,NO, NO, NO, NO, PSCR,SLCK,PAUS,UP, NO, P7, P8, P9, PMNS,
LCTL,LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, ENT, P4, P5, P6, PPLS, LCTL,LEFT,DOWN,RGHT,NO, NO, NO, NO, HOME,PGUP,LEFT,RGHT, FN0, P4, P5, P6, PPLS,
LSFT,END, NO, PGDN,NO, VOLD,VOLU,MUTE,END, PGDN,DOWN, FN3, P1, P2, P3, PENT, 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 LCTL,LALT, SPC, LGUI,INS, LEFT,RGHT,DOWN, P0, PDOT
), ),
// vi mousekeys // vi mousekeys
KEYMAP( KEYMAP(
@ -169,15 +184,15 @@ 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, 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, 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, LSFT,NO, NO, NO, NO, BTN3,BTN2,BTN1,NO, NO, NO, UP, P1, P2, P3, PENT,
LCTL,LALT, BTN1, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT FN4, LALT, BTN1, LGUI,NO, LEFT,RGHT,DOWN, P0, PDOT
), ),
// vi cusorkeys // vi cusorkeys
KEYMAP( KEYMAP(
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,EQL, PSLS,PAST, GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, NLCK,EQL, PSLS,PAST,
CAPS,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, NO, NO, NO, P7, P8, P9, PMNS, CAPS,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, PSCR,SLCK,PAUS, P7, P8, P9, PMNS,
NO, NO, NO, NO, NO, NO, LEFT,DOWN,UP, RGHT,NO, NO, ENT, P4, P5, P6, PPLS, 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, LSFT,NO, NO, NO, NO, NO, HOME,PGDN,PGUP,END, FN2, UP, P1, P2, P3, PENT,
LCTL,LALT, SPC, LGUI,BSLS,LEFT,RGHT,DOWN, P0, PDOT LCTL,LALT, SPC, LGUI,INS, LEFT,RGHT,DOWN, P0, PDOT
), ),
#endif #endif
}; };