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
Use `make -f Makefile.pjrc` if you want to use PJRC stack but I find no reason to do so now.
## Keymap
Several version of keymap are available; `plain` , `poker_bit` , `poker_set` , `hasu` and `poker` (default). See keymap document(you can find in README.md of top) and `keymap_*.c` to define your own favourite keymap.
$ make KEYMAP=[poker|plain|poker_set|poker_bit|hasu]
### 1. Plain keymap
Even without any Fn layer. This will be useful if you want to use key mapping tool like AHK.
See [keymap_plain.c ](keymap_plain.c ) 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
[keymap_poker.c ](keymap_poker.c ) emulates original Poker layer emulation.
[keymap_poker_bit.c ](keymap_poker_bit.c ) and [keymap_poker_set.c ](keymap_poker_set.c ) offers better support of Esc and arrow like:
Fn + Esc = `
Fn + {left, down, up, right} = {home, pgdown, pgup, end}
`poker` keymap supports Colemak, Dvorak and Workmans, use `Magic` + {`1`, `2` , `3` } to switch and `Magic` + `0` to return to Qwerty, where `Magic` is `LShift` + `RShift` .
#### 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 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|
`-----------------------------------------------------------'
### 3. Hasu keymap
This is my keymap with HHKB, Vi cursor and Mousekey layer. See [keymap_hasu.c ](keymap_hasu.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