You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

README.md 7.2KB

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