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.
tmk 885e7adb18 Move some projects to 'orphan' directory 7 years ago
..
Makefile.lufa Move some projects to 'orphan' directory 7 years ago
Makefile.pjrc Move some projects to 'orphan' directory 7 years ago
README.md Move some projects to 'orphan' directory 7 years ago
config.h Move some projects to 'orphan' directory 7 years ago
keymap.c Move some projects to 'orphan' directory 7 years ago
keymap_7bit.h Move some projects to 'orphan' directory 7 years ago
keymap_ansi.h Move some projects to 'orphan' directory 7 years ago
keymap_ansi_150.h Move some projects to 'orphan' directory 7 years ago
keymap_iso.h Move some projects to 'orphan' directory 7 years ago
keymap_iso_150.h Move some projects to 'orphan' directory 7 years ago
led.c Move some projects to 'orphan' directory 7 years ago
matrix.c Move some projects to 'orphan' directory 7 years ago

README.md

Phantom keyboard firmware

DIY keyboard developed by Geekhack and Deskthority communities. The PCB was engineered by bpiphany from the original idea of HaveANiceDay.

Wiki on Deskthority.net

Build

Move to this directory then just run make like:

$ make -f Makefile.[pjrc|lufa] [ansi|ansi_150|iso|iso_150|7bit]

Use Makefile.pjrc if you want to use PJRC stack or use Makefile.lufa for LUFA stack.

LEDs

It is possible to configure the LEDs in 2 different ways.

1. LED Brightness

The brightness of the LEDs can be controlled by software.

To select brightness edit config.h and set LED_BRIGHTNESS to a value between 0 and 255:

#define LED_BRIGHTNESS  250

2. Sleep LED

It is possible to have the LEDs fade in and out when the computer is suspended.

To enable this feature, uncomment the SLEEP_LED_ENABLE line in the makefile you are using:

SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend

Note that this will set the LEDs to full brightness as this feature can’t be combined with the brightness control.

Keymap

The PCB supports multiple physical layouts. Each layout have their own keymap file.

Note that only the ANSI keymap is tested on actual hardware.

To customize a keymap:

  1. Edit the file that corresponds to your layout.
  2. Specify your layout when building.

See keymap.c to define your own custom layout.

1. ANSI

This is the default keymap.

See keymap_ansi.h for detail.

1.0. ANSI Default Layer

 ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
 `---'   `---------------' `---------------' `---------------' `-----------'
 ,-----------------------------------------------------------. ,-----------.
 |~  |  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp | |Ins|Hom|PgU|
 |-----------------------------------------------------------| |-----------|
 |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \| |Del|End|PgD|
 |-----------------------------------------------------------| '-----------'
 |Fn0   |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return  |
 |-----------------------------------------------------------|     ,---.
 |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |     |Up |
 |-----------------------------------------------------------| ,-----------.
 |Ctl|Gui|Alt|             Space             |Alt|Gui|App|Ctl| |Lef|Dow|Rig|
 `-----------------------------------------------------------' `-----------'

1.1. ANSI Media Layer

 ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 |   |   |   |   |   |   | |   |   |   |   | |   |   |   |   | |   |   |Slp|
 `---'   `---------------' `---------------' `---------------' `-----------'
 ,-----------------------------------------------------------. ,-----------.
 |   |   |   |   |   |   |   |   |   |   |Mut|V- |V+ |       | |   |   |   |
 |-----------------------------------------------------------| |-----------|
 |     |   |   |   |   |   |   |   |   |Stp|Ply|Prv|Nxt|Media| |   |   |   |
 |-----------------------------------------------------------| '-----------'
 |      |   |   |   |   |   |   |   |   |   |   |   |        |
 |-----------------------------------------------------------|     ,---.
 |        |   |   |Clc|   |   |   |   |   |   |   |Caps      |     |   |
 |-----------------------------------------------------------| ,-----------.
 |   |   |   |                               |   |   |   |   | |   |   |   |
 `-----------------------------------------------------------' `-----------'

2. ANSI 150

Layout with 1.5 unit modifiers.

See keymap_ansi_150.h for detail.

2.0. ANSI 150 Default Layer

 ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
 `---'   `---------------' `---------------' `---------------' `-----------'
 ,-----------------------------------------------------------. ,-----------.
 |~  |  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp | |Ins|Hom|PgU|
 |-----------------------------------------------------------| |-----------|
 |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \| |Del|End|PgD|
 |-----------------------------------------------------------| '-----------'
 |Fn0   |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Return  |
 |-----------------------------------------------------------|     ,---.
 |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |     |Up |
 |-----------------------------------------------------------| ,-----------.
 |Ctl |Gui|Alt |             Space             |Alt |Gui|Ctl | |Lef|Dow|Rig|
 `-----------------------------------------------------------' `-----------'

2.1. ANSI 150 Media Layer

 ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 |   |   |   |   |   |   | |   |   |   |   | |   |   |   |   | |   |   |Slp|
 `---'   `---------------' `---------------' `---------------' `-----------'
 ,-----------------------------------------------------------. ,-----------.
 |   |   |   |   |   |   |   |   |   |   |Mut|V- |V+ |       | |   |   |   |
 |-----------------------------------------------------------| |-----------|
 |     |   |   |   |   |   |   |   |   |Stp|Ply|Prv|Nxt|Media| |   |   |   |
 |-----------------------------------------------------------| '-----------'
 |      |   |   |   |   |   |   |   |   |   |   |   |        |
 |-----------------------------------------------------------|     ,---.
 |        |   |   |Clc|   |   |   |   |   |   |   |Caps      |     |   |
 |-----------------------------------------------------------| ,-----------.
 |    |   |    |                               |    |   |    | |   |   |   |
 `-----------------------------------------------------------' `-----------'

3. ISO

ISO layout.

See keymap_iso.h for detail.

3.0. ISO Default Layer

 ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
 `---'   `---------------' `---------------' `---------------' `-----------'
 ,-----------------------------------------------------------. ,-----------.
 |~  |  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp | |Ins|Hom|PgU|
 |-----------------------------------------------------------| |-----------|
 |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|     | |Del|End|PgD|
 |------------------------------------------------------` Ret| '-----------'
 |Fn0   |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #|    |
 |-----------------------------------------------------------|     ,---.
 |Shif|  \|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |     |Up |
 |-----------------------------------------------------------| ,-----------.
 |Ctl|Gui|Alt|             Space             |Alt|Gui|App|Ctl| |Lef|Dow|Rig|
 `-----------------------------------------------------------' `-----------'

3.1. ISO Media Layer

 ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 |   |   |   |   |   |   | |   |   |   |   | |   |   |   |   | |   |   |Slp|
 `---'   `---------------' `---------------' `---------------' `-----------'
 ,-----------------------------------------------------------. ,-----------.
 |   |   |   |   |   |   |   |   |   |   |Mut|V- |V+ |       | |   |   |   |
 |-----------------------------------------------------------| |-----------|
 |     |   |   |   |   |   |   |   |   |Stp|Ply|Prv|Nxt|     | |   |   |   |
 |------------------------------------------------------` Med| '-----------'
 |      |   |   |   |   |   |   |   |   |   |   |   |   |    |
 |-----------------------------------------------------------|     ,---.
 |    |   |   |   |Clc|   |   |   |   |   |   |   |Caps      |     |   |
 |-----------------------------------------------------------| ,-----------.
 |   |   |   |                               |   |   |   |   | |   |   |   |
 `-----------------------------------------------------------' `-----------'

4. ISO 150

ISO layout with 1.5 unit modifiers.

See keymap_iso_150.h for detail.

4.0. ISO 150 Default Layer

 ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 |Esc|   |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau|
 `---'   `---------------' `---------------' `---------------' `-----------'
 ,-----------------------------------------------------------. ,-----------.
 |~  |  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp | |Ins|Hom|PgU|
 |-----------------------------------------------------------| |-----------|
 |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|     | |Del|End|PgD|
 |------------------------------------------------------` Ret| '-----------'
 |Fn0   |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  #|    |
 |-----------------------------------------------------------|     ,---.
 |Shif|  \|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift     |     |Up |
 |-----------------------------------------------------------| ,-----------.
 |Ctl |Gui|Alt |             Space             |Alt |Gui|Ctl | |Lef|Dow|Rig|
 `-----------------------------------------------------------' `-----------'

4.1. ISO 150 Media Layer

 ,---.   ,---------------. ,---------------. ,---------------. ,-----------.
 |   |   |   |   |   |   | |   |   |   |   | |   |   |   |   | |   |   |Slp|
 `---'   `---------------' `---------------' `---------------' `-----------'
 ,-----------------------------------------------------------. ,-----------.
 |   |   |   |   |   |   |   |   |   |   |Mut|V- |V+ |       | |   |   |   |
 |-----------------------------------------------------------| |-----------|
 |     |   |   |   |   |   |   |   |   |Stp|Ply|Prv|Nxt|     | |   |   |   |
 |------------------------------------------------------` Med| '-----------'
 |      |   |   |   |   |   |   |   |   |   |   |   |   |    |
 |-----------------------------------------------------------|     ,---.
 |    |   |   |   |Clc|   |   |   |   |   |   |   |Caps      |     |   |
 |-----------------------------------------------------------| ,-----------.
 |    |   |    |                               |    |   |    | |   |   |   |
 `-----------------------------------------------------------' `-----------'

5. 7bit

Layout using all the available keys on the PCB.

This keymap is only provided as an example of what can be done using this layout. No real thought has been put into this keymap.

See keymap_7bit.h for detail.

5.0. 7bit Default Layer

 ,-----------------------------------------------------------. ,-----------.
 |Esc|F1 |F2 |F3 |F4 |F5 |F6 |F7 |F8 |F9 |F10|F11|F12|V- |V+ | |PrS|ScL|Pau|
 `-----------------------------------------------------------' `-----------'
 ,-----------------------------------------------------------. ,-----------.
 |~  |  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|  (|  )| |Ins|Hom|PgU|
 |-----------------------------------------------------------| |-----------|
 |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|Backs| |Del|End|PgD|
 |-----------------------------------------------------------| |-----------|
 |Fn0   |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|  \| Ret| |Stp|Ply|Med|
 |-----------------------------------------------------------| |-----------|
 |Cap|Shif|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift |Cap| |Prv|Up |Nxt|
 |-----------------------------------------------------------| |-----------|
 |Ctrl |Gui|Alt  |Spc  |Bspc |Del|Ret  |Alt  |Gui  |App|Ctrl | |Lef|Dow|Rig|
 `-----------------------------------------------------------' `-----------'

5.1. 7bit Media Layer

 ,-----------------------------------------------------------. ,-----------.
 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   | |   |   |Slp|
 `-----------------------------------------------------------' `-----------'
 ,-----------------------------------------------------------. ,-----------.
 |   |   |   |   |   |   |   |   |   |   |Mut|V- |V+ |   |   | |   |   |   |
 |-----------------------------------------------------------| |-----------|
 |     |   |   |   |   |   |   |   |   |Stp|Ply|Prv|Nxt|Media| |   |   |   |
 |-----------------------------------------------------------| |-----------|
 |      |   |   |   |   |   |   |   |   |   |   |   |   |    | |   |   |   |
 |-----------------------------------------------------------| |-----------|
 |   |    |   |   |   |   |   |   |   |   |   |   |      |   | |   |   |   |
 |-----------------------------------------------------------| |-----------|
 |     |   |     |     |     |   |     |     |     |   |     | |   |   |   |
 `-----------------------------------------------------------' `-----------'