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 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. Phantom keyboard firmware
  2. ======================
  3. DIY keyboard developed by Geekhack and Deskthority communities.
  4. The PCB was engineered by bpiphany from the original idea of HaveANiceDay.
  5. ## Wiki on Deskthority.net
  6. - [Info](http://deskthority.net/wiki/Phantom)
  7. - [Assembly Instructions](http://deskthority.net/wiki/Phantom)
  8. Build
  9. -----
  10. Move to this directory then just run `make` like:
  11. $ make -f Makefile.[pjrc|lufa] [ansi|ansi_150|iso|iso_150|7bit]
  12. Use `Makefile.pjrc` if you want to use PJRC stack or use `Makefile.lufa` for LUFA stack.
  13. LEDs
  14. ----
  15. It is possible to configure the LEDs in 2 different ways.
  16. ### 1. LED Brightness
  17. The brightness of the LEDs can be controlled by software.
  18. To select brightness edit [config.h](config.h) and set `LED_BRIGHTNESS` to a value
  19. between 0 and 255:
  20. #define LED_BRIGHTNESS 250
  21. ### 2. Sleep LED
  22. It is possible to have the LEDs fade in and out when the computer is suspended.
  23. To enable this feature, uncomment the `SLEEP_LED_ENABLE` line in the makefile you are using:
  24. SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
  25. *Note that this will set the LEDs to full brightness as this feature can't be combined with the brightness control.*
  26. Keymap
  27. ------
  28. The PCB supports multiple physical layouts.
  29. Each layout have their own keymap file.
  30. *Note that only the ANSI keymap is tested on actual hardware.*
  31. To customize a keymap:
  32. 1. Edit the file that corresponds to your layout.
  33. 2. Specify your layout when building.
  34. See [keymap.c](keymap.c) to define your own custom layout.
  35. ### 1. ANSI
  36. This is the default keymap.
  37. See [keymap_ansi.h](keymap_ansi.h) for detail.
  38. #### 1.0. ANSI Default Layer
  39. ,---. ,---------------. ,---------------. ,---------------. ,-----------.
  40. |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
  41. `---' `---------------' `---------------' `---------------' `-----------'
  42. ,-----------------------------------------------------------. ,-----------.
  43. |~ | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |Ins|Hom|PgU|
  44. |-----------------------------------------------------------| |-----------|
  45. |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del|End|PgD|
  46. |-----------------------------------------------------------| '-----------'
  47. |Fn0 | A| S| D| F| G| H| J| K| L| ;| '|Return |
  48. |-----------------------------------------------------------| ,---.
  49. |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | |Up |
  50. |-----------------------------------------------------------| ,-----------.
  51. |Ctl|Gui|Alt| Space |Alt|Gui|App|Ctl| |Lef|Dow|Rig|
  52. `-----------------------------------------------------------' `-----------'
  53. #### 1.1. ANSI Media Layer
  54. ,---. ,---------------. ,---------------. ,---------------. ,-----------.
  55. | | | | | | | | | | | | | | | | | | | |Slp|
  56. `---' `---------------' `---------------' `---------------' `-----------'
  57. ,-----------------------------------------------------------. ,-----------.
  58. | | | | | | | | | | |Mut|V- |V+ | | | | | |
  59. |-----------------------------------------------------------| |-----------|
  60. | | | | | | | | | |Stp|Ply|Prv|Nxt|Media| | | | |
  61. |-----------------------------------------------------------| '-----------'
  62. | | | | | | | | | | | | | |
  63. |-----------------------------------------------------------| ,---.
  64. | | | |Clc| | | | | | | |Caps | | |
  65. |-----------------------------------------------------------| ,-----------.
  66. | | | | | | | | | | | | |
  67. `-----------------------------------------------------------' `-----------'
  68. ### 2. ANSI 150
  69. Layout with 1.5 unit modifiers.
  70. See [keymap_ansi_150.h](keymap_ansi_150.h) for detail.
  71. #### 2.0. ANSI 150 Default Layer
  72. ,---. ,---------------. ,---------------. ,---------------. ,-----------.
  73. |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
  74. `---' `---------------' `---------------' `---------------' `-----------'
  75. ,-----------------------------------------------------------. ,-----------.
  76. |~ | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |Ins|Hom|PgU|
  77. |-----------------------------------------------------------| |-----------|
  78. |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del|End|PgD|
  79. |-----------------------------------------------------------| '-----------'
  80. |Fn0 | A| S| D| F| G| H| J| K| L| ;| '|Return |
  81. |-----------------------------------------------------------| ,---.
  82. |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | |Up |
  83. |-----------------------------------------------------------| ,-----------.
  84. |Ctl |Gui|Alt | Space |Alt |Gui|Ctl | |Lef|Dow|Rig|
  85. `-----------------------------------------------------------' `-----------'
  86. #### 2.1. ANSI 150 Media Layer
  87. ,---. ,---------------. ,---------------. ,---------------. ,-----------.
  88. | | | | | | | | | | | | | | | | | | | |Slp|
  89. `---' `---------------' `---------------' `---------------' `-----------'
  90. ,-----------------------------------------------------------. ,-----------.
  91. | | | | | | | | | | |Mut|V- |V+ | | | | | |
  92. |-----------------------------------------------------------| |-----------|
  93. | | | | | | | | | |Stp|Ply|Prv|Nxt|Media| | | | |
  94. |-----------------------------------------------------------| '-----------'
  95. | | | | | | | | | | | | | |
  96. |-----------------------------------------------------------| ,---.
  97. | | | |Clc| | | | | | | |Caps | | |
  98. |-----------------------------------------------------------| ,-----------.
  99. | | | | | | | | | | | |
  100. `-----------------------------------------------------------' `-----------'
  101. ### 3. ISO
  102. ISO layout.
  103. See [keymap_iso.h](keymap_iso.h) for detail.
  104. #### 3.0. ISO Default Layer
  105. ,---. ,---------------. ,---------------. ,---------------. ,-----------.
  106. |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
  107. `---' `---------------' `---------------' `---------------' `-----------'
  108. ,-----------------------------------------------------------. ,-----------.
  109. |~ | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |Ins|Hom|PgU|
  110. |-----------------------------------------------------------| |-----------|
  111. |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | |Del|End|PgD|
  112. |------------------------------------------------------` Ret| '-----------'
  113. |Fn0 | A| S| D| F| G| H| J| K| L| ;| '| #| |
  114. |-----------------------------------------------------------| ,---.
  115. |Shif| \| Z| X| C| V| B| N| M| ,| .| /|Shift | |Up |
  116. |-----------------------------------------------------------| ,-----------.
  117. |Ctl|Gui|Alt| Space |Alt|Gui|App|Ctl| |Lef|Dow|Rig|
  118. `-----------------------------------------------------------' `-----------'
  119. #### 3.1. ISO Media Layer
  120. ,---. ,---------------. ,---------------. ,---------------. ,-----------.
  121. | | | | | | | | | | | | | | | | | | | |Slp|
  122. `---' `---------------' `---------------' `---------------' `-----------'
  123. ,-----------------------------------------------------------. ,-----------.
  124. | | | | | | | | | | |Mut|V- |V+ | | | | | |
  125. |-----------------------------------------------------------| |-----------|
  126. | | | | | | | | | |Stp|Ply|Prv|Nxt| | | | | |
  127. |------------------------------------------------------` Med| '-----------'
  128. | | | | | | | | | | | | | | |
  129. |-----------------------------------------------------------| ,---.
  130. | | | | |Clc| | | | | | | |Caps | | |
  131. |-----------------------------------------------------------| ,-----------.
  132. | | | | | | | | | | | | |
  133. `-----------------------------------------------------------' `-----------'
  134. ### 4. ISO 150
  135. ISO layout with 1.5 unit modifiers.
  136. See [keymap_iso_150.h](keymap_iso_150.h) for detail.
  137. #### 4.0. ISO 150 Default Layer
  138. ,---. ,---------------. ,---------------. ,---------------. ,-----------.
  139. |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
  140. `---' `---------------' `---------------' `---------------' `-----------'
  141. ,-----------------------------------------------------------. ,-----------.
  142. |~ | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |Ins|Hom|PgU|
  143. |-----------------------------------------------------------| |-----------|
  144. |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | |Del|End|PgD|
  145. |------------------------------------------------------` Ret| '-----------'
  146. |Fn0 | A| S| D| F| G| H| J| K| L| ;| '| #| |
  147. |-----------------------------------------------------------| ,---.
  148. |Shif| \| Z| X| C| V| B| N| M| ,| .| /|Shift | |Up |
  149. |-----------------------------------------------------------| ,-----------.
  150. |Ctl |Gui|Alt | Space |Alt |Gui|Ctl | |Lef|Dow|Rig|
  151. `-----------------------------------------------------------' `-----------'
  152. #### 4.1. ISO 150 Media Layer
  153. ,---. ,---------------. ,---------------. ,---------------. ,-----------.
  154. | | | | | | | | | | | | | | | | | | | |Slp|
  155. `---' `---------------' `---------------' `---------------' `-----------'
  156. ,-----------------------------------------------------------. ,-----------.
  157. | | | | | | | | | | |Mut|V- |V+ | | | | | |
  158. |-----------------------------------------------------------| |-----------|
  159. | | | | | | | | | |Stp|Ply|Prv|Nxt| | | | | |
  160. |------------------------------------------------------` Med| '-----------'
  161. | | | | | | | | | | | | | | |
  162. |-----------------------------------------------------------| ,---.
  163. | | | | |Clc| | | | | | | |Caps | | |
  164. |-----------------------------------------------------------| ,-----------.
  165. | | | | | | | | | | | |
  166. `-----------------------------------------------------------' `-----------'
  167. ### 5. 7bit
  168. Layout using all the available keys on the PCB.
  169. This keymap is only provided as an example of what can be done using this layout.
  170. No real thought has been put into this keymap.
  171. See [keymap_7bit.h](keymap_7bit.h) for detail.
  172. #### 5.0. 7bit Default Layer
  173. ,-----------------------------------------------------------. ,-----------.
  174. |Esc|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|V- |V+ | |PrS|ScL|Pau|
  175. `-----------------------------------------------------------' `-----------'
  176. ,-----------------------------------------------------------. ,-----------.
  177. |~ | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| (| )| |Ins|Hom|PgU|
  178. |-----------------------------------------------------------| |-----------|
  179. |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]|Backs| |Del|End|PgD|
  180. |-----------------------------------------------------------| |-----------|
  181. |Fn0 | A| S| D| F| G| H| J| K| L| ;| '| \| Ret| |Stp|Ply|Med|
  182. |-----------------------------------------------------------| |-----------|
  183. |Cap|Shif| Z| X| C| V| B| N| M| ,| .| /|Shift |Cap| |Prv|Up |Nxt|
  184. |-----------------------------------------------------------| |-----------|
  185. |Ctrl |Gui|Alt |Spc |Bspc |Del|Ret |Alt |Gui |App|Ctrl | |Lef|Dow|Rig|
  186. `-----------------------------------------------------------' `-----------'
  187. #### 5.1. 7bit Media Layer
  188. ,-----------------------------------------------------------. ,-----------.
  189. | | | | | | | | | | | | | | | | | | |Slp|
  190. `-----------------------------------------------------------' `-----------'
  191. ,-----------------------------------------------------------. ,-----------.
  192. | | | | | | | | | | |Mut|V- |V+ | | | | | | |
  193. |-----------------------------------------------------------| |-----------|
  194. | | | | | | | | | |Stp|Ply|Prv|Nxt|Media| | | | |
  195. |-----------------------------------------------------------| |-----------|
  196. | | | | | | | | | | | | | | | | | | |
  197. |-----------------------------------------------------------| |-----------|
  198. | | | | | | | | | | | | | | | | | | |
  199. |-----------------------------------------------------------| |-----------|
  200. | | | | | | | | | | | | | | | |
  201. `-----------------------------------------------------------' `-----------'