keychron_qmk_firmware/keyboards/phantom
Jack Humbert b476d65b9c Update keyboards' rules.mk/Makefiles (#1442)
this may change some of the keyboards' default settings - if you experience anything odd, please check back to this commit
2017-06-30 16:09:52 -04:00
..
keymaps Adjust Phantom for standard PCB 2017-06-23 12:07:18 +02:00
config.h Adjust Phantom for standard PCB 2017-06-23 12:07:18 +02:00
Makefile
phantom.c Move Phantom LED handling to phantom.c 2017-06-23 12:07:18 +02:00
phantom.h Adjust Phantom for standard PCB 2017-06-23 12:07:18 +02:00
readme.md Update Phantom readme 2017-06-23 12:07:18 +02:00
rules.mk Update keyboards' rules.mk/Makefiles (#1442) 2017-06-30 16:09:52 -04:00

Phantom keyboard firmware

A community-developed keyboard PCB designed to fit inside the case of a Filco Majestouch.

See the Deskthority wiki for more information.

Bootloader

The Phantom uses a Teensy 2.0 as a controller.

The Teensy has a special bootloader that can be accessed by pressing the button on the Teensy PCB. It is also possible to use Boot Magic and Command to access the bootloader.

To write the firmware to the Teensy use Teensy loader.

Quantum MK Firmware

For the full Quantum feature list, see the documentation.

RGB underlight

It is possible to connect a WS2812B LED strip to the Teensy for RGB underlight support.

For this to work the DIN connection on the WS2812B strip should be soldered to PE2 on the Teensy (see reference image https://i.imgur.com/aDfNoHT.jpg).

See rgbmod for a keymap that utilizes the RGB underlight feature.

Building

The Phantom allows for a huge amount of different layouts.

Depending on which layout and keymap you would like to use, you will have to compile the firmware slightly differently. All of the commands should be run in the keyboards/phantom folder.

Custom keymaps

To define your own keymap, copy one of the existing keymap folders and give it the name of your keymap. Then check the keymap documentation for details on how to modify the keymap.

To make it easy to define keymaps for the most common layouts a few macros are provided.

Layout Macro
Winkey ANSI KEYMAP()
Winkeyless ANSI KEYMAP_WINKEYLESS()
Winkey ISO KEYMAP_ISO()
Winkeyless ISO KEYMAP_ISO_WINKEYLESS()
7BIT KEYMAP_7BIT()

To build the firmware with a custom keymap, run make <keymap name>