GH60 keyboard firmware
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								======================
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								DIY compact keyboard designed and run by komar007 and Geekhack community.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## Threads on Geekhack.org
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  [Prototyping ](http://geekhack.org/index.php?topic=34959.0 )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  [Beta-test ](http://geekhack.org/index.php?topic=37570.0 )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## Build
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Move to this directory then just run `make`  like:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								   $ make -f Makfile.[pjrc|lufa]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Use `Makefile.pjrc`  if you want to use PJRC stack or use `Makefile.lufa`  for LUFA stack.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## Boot Magic
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Plugin pressing these `Boot Magic`  key.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-  `Fn`  key for bootloader kick up.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								-  `D`  key for Debug enable.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								## Keymap
 
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Two version of keymap are available. `Plan` , `Poker`  and `Funky` (default).
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								See keymap.c to define your own favourite keymap.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    $ make -f Makefile.[pjrc|lufa] [plain|poker]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								### 1. Plain keymap
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								This will be useful if you want to use key mapping tool like AHK.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								See [keymap_plain.h ](keymap_plain.h ) for detail.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#### 1.0 Plain 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|  ;|  '|Return  |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Ctrl|Gui |Alt |      Space             |Alt |Gui |App |Ctrl|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    `-----------------------------------------------------------'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								### 2  Poker keymap
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								See [keymap_poker.h ](keymap_poker.h ) for Poker layer emulation, [keymap_poker_bit.h ](keymap_poker_bit.h ) and [keymap_poker_set.h ](keymap_poker_set.h ) for better support of Esc and arrow.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								 These keymap supports Colemak, Dvorak and Workmans, use `Magic`  + {`1`, `2` , `3` } to switch and `Magic`  + `0`  to return to Qwerty.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#### 2.0 Poker 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|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    `-----------------------------------------------------------'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#### 2.1 Poker Arrow Layer
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ,-----------------------------------------------------------.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |   |   |   |   |   |   |   |   |   |   |   |   |   |       |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |     |   |   |   |   |   |   |   |   |   |   |   |   |     |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |      |   |   |   |   |   |   |   |   |   |   |   |        |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |        |   |   |   |   |   |   |   |   |   |   |  Up      |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |    |    |    |                        |Fn  |Left|Down|Righ|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    `-----------------------------------------------------------'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#### 2.2 Poker Esc Layer
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ,-----------------------------------------------------------.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Esc|   |   |   |   |   |   |   |   |   |   |   |   |       |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |     |   |   |   |   |   |   |   |   |   |   |   |   |     |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |      |   |   |   |   |   |   |   |   |   |   |   |        |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |        |   |   |   |   |   |   |   |   |   |   |          |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |    |    |    |                        |Fn  |    |    |    |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    `-----------------------------------------------------------'
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#### 2.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|          |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |    |    |    |         FnS            |Fn  |    |    |    |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    `-----------------------------------------------------------'
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								### 3. Funky keymap
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								This is my keymap(default) with HHKB, Vi cursor and Mousekey layer.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								See [keymap.c ](keymap.c ) for detail.
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#### 3.0 Funky 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  |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|*L2|Shift     |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    |Ctrl|Gui |Alt |      Space             |Alt |*L3 |*L3 |*L1 |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    `-----------------------------------------------------------'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#### 3.1 Funky HHKB mode
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ,-----------------------------------------------------------.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Caps |   |   |   |   |   |   |   |Psc|Slk|Pus|Up |   |Inser|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Contro|VoD|VoU|Mut|   |   |  *|  /|Hom|PgU|Lef|Rig|Enter   |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Shift   |   |   |   |   |   |  +|  -|End|PgD|Dow|Shift     |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    |Ctrl|Gui |Alt |      Space             |Alt |Gui |App |*L0 |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    `-----------------------------------------------------------'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#### 3.2 Funky Vi mode
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ,-----------------------------------------------------------.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |  `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Tab  |Hom|PgD|Up |PgU|End|Hom|PgD|PgU|End|   |   |   |     |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Contro|   |Lef|Dow|Rig|   |Lef|Dow|Up |Rig|   |   |Return  |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    |Shift   |   |   |   |   |   |Hom|PgD|PgU|End|*L0|Shift     |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Ctrl|Gui |Alt |      Space             |Alt |Gui |App |Ctrl|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    `-----------------------------------------------------------'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								#### 3.3 Funky Mouse mode
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ,-----------------------------------------------------------.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |  `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Tab  |MwL|MwD|McU|MwU|MwR|MwL|MwD|MwU|MwR|   |   |   |     |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    |Contro|   |McL|McD|McR|   |McL|McD|McU|McR|*L0|   |Return  |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |Shift   |   |   |Mb1|Mb2|Mb3|Mb2|Mb1|   |   |   |Shift     |
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    |-----------------------------------------------------------|
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    |Ctrl|Gui |Alt |      Space             |Alt |*L0 |*L0 |Ctrl|
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    `-----------------------------------------------------------'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel