]> git.donarmstrong.com Git - tmk_firmware.git/blobdiff - keyboard/gh60/README.md
Merge branch 'rhaberkorn-serial-mouse'
[tmk_firmware.git] / keyboard / gh60 / README.md
index 289467aba792e9674e3bf02fb2ca06e4a8444fef..510cb5c8b65cf72a52b2472e4e8094d9cbe31e63 100644 (file)
@@ -2,33 +2,70 @@ GH60 keyboard firmware
 ======================
 DIY compact keyboard designed and run by komar007 and Geekhack community.
 
-## Threads on Geekhack.org
+- Both Rev.A and Rev.B PCB are supported by one firmware binary(issue #64)
+
+## GH60 Resources
+- [KOMAR's project page](http://blog.komar.be/projects/gh60-programmable-keyboard/)
 - [Prototyping](http://geekhack.org/index.php?topic=34959.0)
-- [Beta-test](http://geekhack.org/index.php?topic=37570.0)
+- [Rev.A PCB test](http://geekhack.org/index.php?topic=37570.0)
+- [Rev.B PCB test](http://geekhack.org/index.php?topic=50685.0)
+- [Group buy](http://geekhack.org/index.php?topic=41464.0)
 
 
 ## Build
 Move to this directory then just run `make` like:
 
-   $ make -f Makfile.[pjrc|lufa]
-
+    $ make
 
-## Boot Magic
-- `Fn` key for bootloader kick up.
-- `D` key for Debug enable.
+Use `make -f Makefile.pjrc` if you want to use PJRC stack but I find no reason to do so now.
 
 
 ## Keymap
-Two version of keymap are available. `Plan` and `Funky`.
-See keymap.c to define your own favourite keymap.
+Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named `keymap_<name>.c` and see keymap document(you can find in top README.md) and existent keymap files.
+
+To build firmware binary hex file with a certain keymap just do `make` with `KEYMAP` option like:
+
+    $ make KEYMAP=[poker|poker_set|poker_bit|plain|hasu|spacefn|hhkb|<name>]
+
+
+### 1  Poker
+[keymap_poker.c](keymap_poker.c) emulates original Poker layers
+while both [keymap_poker_bit.c](keymap_poker_bit.c) and [keymap_poker_set.c](keymap_poker_set.c) implements same layout in different way and they fix a minor issue of original Poker and enhance arrow keys.
+
+    Fn + Esc = `
+    Fn + {left, down, up, right}  = {home, pgdown, pgup, end}
+
+#### 1.0 Default layer
+    ,-----------------------------------------------------------.
+    |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp |
+    |-----------------------------------------------------------|
+    |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|
+    |-----------------------------------------------------------|
+    |Caps  |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return  |
+    |-----------------------------------------------------------|
+    |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |
+    |-----------------------------------------------------------|
+    |Ctrl|Gui |Alt |      Space             |Fn  |Gui |App |Ctrl|
+    `-----------------------------------------------------------'
+#### 1.1 Poker Fn layer
+    ,-----------------------------------------------------------.
+    |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|       |
+    |-----------------------------------------------------------|
+    |     |FnQ| Up|   |   |   |   |   |   |Cal|   |Hom|Ins|     |
+    |-----------------------------------------------------------|
+    |      |Lef|Dow|Rig|   |   |Psc|Slk|Pau|   |Tsk|End|        |
+    |-----------------------------------------------------------|
+    |        |Del|   |Web|Mut|VoU|VoD|   |PgU|PgD|Del|   Up     |
+    |-----------------------------------------------------------|
+    |    |    |    |         FnS            |Fn  |Left|Down|Righ|
+    `-----------------------------------------------------------'
 
-### 1. Plain keymap
-This will be useful if you want to use key mapping tool like AHK.
-To get this plain keymap do `make`:
 
-    $ make -f Makefile.[pjrc|lufa] plain
+### 2. Plain
+Without any Fn layer this will be useful if you want to use key remapping tool like AHK on host.
+See [keymap_plain.c](keymap_plain.c) for detail.
 
-### Layer 0
+#### 1.0 Plain Default layer
     ,-----------------------------------------------------------.
     |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp |
     |-----------------------------------------------------------|
@@ -42,60 +79,63 @@ To get this plain keymap do `make`:
     `-----------------------------------------------------------'
 
 
-### 2. Funky layers.
+### 3. Hasu
+This is my favorite keymap with HHKB Fn, Vi cursor and Mousekey layer. See [keymap_hasu.c](keymap_hasu.c) for detail.
 
-    $ make -f Makefile.[pjrc|lufa]
 
-#### Layer 0: Default Layer
+### 4. SpaceFN
+This layout proposed by spiceBar uses space bar to change layer with using Dual role key technique. See [keymap_spacefn.c](keymap_spacefn.c) and [SpaceFN discussion](http://geekhack.org/index.php?topic=51069.0).
+
+#### 4.0 Default layer
     ,-----------------------------------------------------------.
     |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp |
     |-----------------------------------------------------------|
     |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|
     |-----------------------------------------------------------|
-    |Caps  |  A|  S|  D|  F|  G|  H|  J|  K|  L|*L3|  '|Return  |
+    |Caps  |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return  |
     |-----------------------------------------------------------|
-    |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|*L2|Shift     |
+    |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |
     |-----------------------------------------------------------|
-    |Ctrl|Gui |Alt |      Space             |Alt |*L3 |*L3 |*L1 |
+    |Ctrl|Gui |Alt |      Space/Fn          |Alt |Gui |App |Ctrl|
     `-----------------------------------------------------------'
-
-#### Layer 1: HHKB mode
+#### 4.1 SpaceFN layer
     ,-----------------------------------------------------------.
-    |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
+    |`  | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
     |-----------------------------------------------------------|
-    |Caps |   |   |   |   |   |   |   |Psc|Slk|Pus|Up |   |Inser|
+    |     |   |   |   |   |   |   |Hom|Up |End|Psc|Slk|Pau|Ins  |
     |-----------------------------------------------------------|
-    |Contro|VoD|VoU|Mut|   |   |  *|  /|Hom|PgU|Lef|Rig|Enter   |
+    |      |   |   |   |   |   |PgU|Lef|Dow|Rig|   |   |        |
     |-----------------------------------------------------------|
-    |Shift   |   |   |   |   |   |  +|  -|End|PgD|Dow|Shift     |
+    |        |   |   |   |   |Spc|PgD|`  |~  |   |   |          |
     |-----------------------------------------------------------|
-    |Ctrl|Gui |Alt |      Space             |Alt |Gui |App |*L0 |
+    |    |    |    |            Fn          |    |    |    |    |
     `-----------------------------------------------------------'
 
-#### Layer 2: Vi mode
+
+### 5. HHKB
+[keymap_hhkb.c](keymap_hhkb.c) emulates original HHKB layers.
+#### 5.0: Default layer
     ,-----------------------------------------------------------.
-    |  `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp |
+    |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|  \|  `|
     |-----------------------------------------------------------|
-    |Tab  |Hom|PgD|Up |PgU|End|Hom|PgD|PgU|End|   |   |   |     |
+    |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|Bspc |
     |-----------------------------------------------------------|
-    |Contro|   |Lef|Dow|Rig|   |Lef|Dow|Up |Rig|   |   |Return  |
+    |Ctrl  |  A|  S|  D|  F|  G|  H|  J|  K|  L|Fn3|  '|Return  |
     |-----------------------------------------------------------|
-    |Shift   |   |   |   |   |   |Hom|PgD|PgU|End|*L0|Shift     |
+    |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift |Fn |
     |-----------------------------------------------------------|
-    |Ctrl|Gui |Alt |      Space             |Alt |Gui |App |Ctrl|
+    |    |Gui |Alt |      Space             |    |Alt |Gui |    |
     `-----------------------------------------------------------'
-
-#### Layer 3: Mouse mode
+#### 5.1: HHKB Fn layer
     ,-----------------------------------------------------------.
-    |  `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp |
+    |Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
     |-----------------------------------------------------------|
-    |Tab  |MwL|MwD|McU|MwU|MwR|MwL|MwD|MwU|MwR|   |   |   |     |
+    |Caps |   |   |   |   |   |   |   |Psc|Slk|Pus|Up |   |     |
     |-----------------------------------------------------------|
-    |Contro|   |McL|McD|McR|   |McL|McD|McU|McR|*L0|   |Return  |
+    |      |VoD|VoU|Mut|Ejc|   |  *|  /|Hom|PgU|Lef|Rig|Enter   |
     |-----------------------------------------------------------|
-    |Shift   |   |   |Mb1|Mb2|Mb3|Mb2|Mb1|   |   |   |Shift     |
+    |        |   |   |   |   |   |  +|  -|End|PgD|Dow|      |   |
     |-----------------------------------------------------------|
-    |Ctrl|Gui |Alt |      Space             |Alt |*L0 |*L0 |Ctrl|
+    |    |    |    |                        |    |    |    |    |
     `-----------------------------------------------------------'
-    Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel