]> git.donarmstrong.com Git - tmk_firmware.git/blob - keyboard/gh60/README.md
Fix rn42_linked() to use pullup
[tmk_firmware.git] / keyboard / gh60 / README.md
1 GH60 keyboard firmware
2 ======================
3 DIY compact keyboard designed and run by komar007 and Geekhack community.
4
5 - Both Rev.A and Rev.B PCB are supported by one firmware binary(issue #64)
6
7 ## GH60 Resources
8 - [KOMAR's project page](http://blog.komar.be/projects/gh60-programmable-keyboard/)
9 - [Prototyping](http://geekhack.org/index.php?topic=34959.0)
10 - [Rev.A PCB test](http://geekhack.org/index.php?topic=37570.0)
11 - [Rev.B PCB test](http://geekhack.org/index.php?topic=50685.0)
12 - [Group buy](http://geekhack.org/index.php?topic=41464.0)
13
14
15 ## Build
16 Move to this directory then just run `make` like:
17
18     $ make
19
20 Use `make -f Makefile.pjrc` if you want to use PJRC stack but I find no reason to do so now.
21
22
23 ## Keymap
24 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.
25
26 To build firmware binary hex file with a certain keymap just do `make` with `KEYMAP` option like:
27
28     $ make KEYMAP=[poker|poker_set|poker_bit|plain|hasu|spacefn|hhkb|<name>]
29
30
31 ### 1  Poker
32 [keymap_poker.c](keymap_poker.c) emulates original Poker layers
33 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.
34
35     Fn + Esc = `
36     Fn + {left, down, up, right}  = {home, pgdown, pgup, end}
37
38 #### 1.0 Default layer
39     ,-----------------------------------------------------------.
40     |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp |
41     |-----------------------------------------------------------|
42     |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|
43     |-----------------------------------------------------------|
44     |Caps  |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return  |
45     |-----------------------------------------------------------|
46     |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |
47     |-----------------------------------------------------------|
48     |Ctrl|Gui |Alt |      Space             |Fn  |Gui |App |Ctrl|
49     `-----------------------------------------------------------'
50 #### 1.1 Poker Fn layer
51     ,-----------------------------------------------------------.
52     |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|       |
53     |-----------------------------------------------------------|
54     |     |FnQ| Up|   |   |   |   |   |   |Cal|   |Hom|Ins|     |
55     |-----------------------------------------------------------|
56     |      |Lef|Dow|Rig|   |   |Psc|Slk|Pau|   |Tsk|End|        |
57     |-----------------------------------------------------------|
58     |        |Del|   |Web|Mut|VoU|VoD|   |PgU|PgD|Del|   Up     |
59     |-----------------------------------------------------------|
60     |    |    |    |         FnS            |Fn  |Left|Down|Righ|
61     `-----------------------------------------------------------'
62
63
64 ### 2. Plain
65 Without any Fn layer this will be useful if you want to use key remapping tool like AHK on host.
66 See [keymap_plain.c](keymap_plain.c) for detail.
67
68 #### 1.0 Plain Default layer
69     ,-----------------------------------------------------------.
70     |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp |
71     |-----------------------------------------------------------|
72     |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|
73     |-----------------------------------------------------------|
74     |Caps  |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return  |
75     |-----------------------------------------------------------|
76     |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |
77     |-----------------------------------------------------------|
78     |Ctrl|Gui |Alt |      Space             |Alt |Gui |App |Ctrl|
79     `-----------------------------------------------------------'
80
81
82 ### 3. Hasu
83 This is my favorite keymap with HHKB Fn, Vi cursor and Mousekey layer. See [keymap_hasu.c](keymap_hasu.c) for detail.
84
85
86 ### 4. SpaceFN
87 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).
88
89 #### 4.0 Default layer
90     ,-----------------------------------------------------------.
91     |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp |
92     |-----------------------------------------------------------|
93     |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|
94     |-----------------------------------------------------------|
95     |Caps  |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return  |
96     |-----------------------------------------------------------|
97     |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |
98     |-----------------------------------------------------------|
99     |Ctrl|Gui |Alt |      Space/Fn          |Alt |Gui |App |Ctrl|
100     `-----------------------------------------------------------'
101 #### 4.1 SpaceFN layer
102     ,-----------------------------------------------------------.
103     |`  | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
104     |-----------------------------------------------------------|
105     |     |   |   |   |   |   |   |Hom|Up |End|Psc|Slk|Pau|Ins  |
106     |-----------------------------------------------------------|
107     |      |   |   |   |   |   |PgU|Lef|Dow|Rig|   |   |        |
108     |-----------------------------------------------------------|
109     |        |   |   |   |   |Spc|PgD|`  |~  |   |   |          |
110     |-----------------------------------------------------------|
111     |    |    |    |            Fn          |    |    |    |    |
112     `-----------------------------------------------------------'
113
114
115 ### 5. HHKB
116 [keymap_hhkb.c](keymap_hhkb.c) emulates original HHKB layers.
117 #### 5.0: Default layer
118     ,-----------------------------------------------------------.
119     |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|  \|  `|
120     |-----------------------------------------------------------|
121     |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|Bspc |
122     |-----------------------------------------------------------|
123     |Ctrl  |  A|  S|  D|  F|  G|  H|  J|  K|  L|Fn3|  '|Return  |
124     |-----------------------------------------------------------|
125     |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift |Fn |
126     |-----------------------------------------------------------|
127     |    |Gui |Alt |      Space             |    |Alt |Gui |    |
128     `-----------------------------------------------------------'
129 #### 5.1: HHKB Fn layer
130     ,-----------------------------------------------------------.
131     |Pwr| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
132     |-----------------------------------------------------------|
133     |Caps |   |   |   |   |   |   |   |Psc|Slk|Pus|Up |   |     |
134     |-----------------------------------------------------------|
135     |      |VoD|VoU|Mut|Ejc|   |  *|  /|Hom|PgU|Lef|Rig|Enter   |
136     |-----------------------------------------------------------|
137     |        |   |   |   |   |   |  +|  -|End|PgD|Dow|      |   |
138     |-----------------------------------------------------------|
139     |    |    |    |                        |    |    |    |    |
140     `-----------------------------------------------------------'
141