Browse Source

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

- change keymap for M0110
- add a Make target 'hasu' to build with hasu keymap.
tmk 13 years ago
parent
commit
7597582a85
3 changed files with 41 additions and 25 deletions
  1. 3 0
      m0110_usb/Makefile
  2. 6 8
      m0110_usb/README.md
  3. 32 17
      m0110_usb/keymap.c

+ 3 - 0
m0110_usb/Makefile

@@ -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

+ 6 - 8
m0110_usb/README.md

@@ -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|   |
     `---------------------------------------------------------' `---------------'
     `---------------------------------------------------------' `---------------'
 
 
 
 

+ 32 - 17
m0110_usb/keymap.c

@@ -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
+    0,              // Fn1
+    0,              // Fn2
+    0,              // Fn3
+    0,              // Fn4
+    0,              // Fn5
+    0,              // Fn6
+    0               // Fn7
+#else
     1,              // Fn0
     1,              // Fn0
     2,              // Fn1
     2,              // Fn1
     3,              // Fn2
     3,              // Fn2
     1,              // Fn3
     1,              // Fn3
-    0,              // Fn4
+    2,              // Fn4
     0,              // Fn5
     0,              // Fn5
     0,              // Fn6
     0,              // Fn6
     0               // Fn7
     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
+    KB_NO,          // Fn4
+    KB_NO,          // Fn5
+    KB_NO,          // Fn6
+    KB_NO           // Fn7
 #else
 #else
-    KB_NO,          // Fn0
+    KB_ENTER,       // Fn0
     KB_SCOLON,      // Fn1
     KB_SCOLON,      // Fn1
     KB_SLASH,       // Fn2
     KB_SLASH,       // Fn2
     KB_UP,          // Fn3
     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
+#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
 };
 };