keychron_qmk_firmware/keyboards/dichotomy
2024-07-03 18:35:54 +10:00
..
keymaps/default Normalise mouse keycodes (#23975) 2024-07-03 18:35:54 +10:00
config.h Remove unused MATRIX_HAS_GHOST from config.h (#19726) 2023-02-03 00:04:10 +00:00
dichotomy.c Update GPIO API usage in keyboard code (#23361) 2024-05-03 15:21:29 +10:00
dichotomy.h Update GPIO API usage in keyboard code (#23361) 2024-05-03 15:21:29 +10:00
keyboard.json Migrate build target markers to keyboard.json - DE (#23515) 2024-04-14 18:28:15 +01:00
matrix.c Remove matrix_init_quantum/matrix_scan_quantum (#19806) 2023-02-11 03:47:17 +00:00
readme.md
rules.mk Data-Driven Keyboard Conversions: D (#23461) 2024-04-13 06:33:49 +01:00

Dichotomy Keyboard Firmware

These configuration files were based off the Mitosis keyboard. This keyboard uses a completely different 'matrix scan' system to other keyboards, it relies on an external nRF51822 microcontroller maintaining a matrix of keystates received from the keyboard halves - it also receives mouse pointer information from the keyboard halves, which is implemented through a new feature, "Pointing Device". The matrix.c file contains the code to poll the external microcontroller for the key matrix, and the keymap.c file contains similar code to obtain the mouse report. As long as the relavant functions in these files are not changed, all other QMK features are supported.

Build log of the keyboard can be found here

Hardware design files can be found here

Firmware for the nordic MCUs can be found here

Quantum MK Firmware

For the full Quantum feature list, see the parent readme.

Building

Download or clone the whole firmware and navigate to the keyboards/atreus folder. Once your dev env is setup, you'll be able to type make to generate your .hex - you can then use make dfu to program your PCB once you hit the reset button.

Depending on which keymap you would like to use, you will have to compile slightly differently.

Default

To build with the default keymap, simply run make default.

Other Keymaps

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 <name>.c and see keymap document (you can find in top readme.md) and existent keymap files.

To build the firmware binary hex file with a keymap just do make with a keymap like this:

$ make [default|jack|<name>]

Keymaps follow the format <name>.c and are stored in the keymaps folder.