Davs Let's Split Keyboard firmware.
I made this as a fun learning project. The code is working and I've been using it on my keyboard since 2017. You can think of this as "QMK lite". As the code is written for only a single keyboard and MCU, it should be easier to understand as QMK.
The code is designed for the Let's Split keyboard created by wootpatoot.
The project can be compiled on Linux, if you have to following packages installed:
- Arduino (for the
HID
andSerial
libraries andUSB
implementation) - avr-gcc (for compilation)
- pyserial (for resetting the MCU via USB)
- avrdude (for flashing)
On Arch linux you can run:
$ pacman -S arduino avr-gcc avrdude python-pyserial
You need to specify the location of you keymap file (see sample_keymap/sample_keymap.cpp
) via the DALSIK_KEYMAP
env variable. I recommend using direnv for this:
$ cd ~/where/the/dalsik/project/is/cloned
$ cat .envrc
export DALSIK_KEYMAP=/path/to/my/keymap/file.cpp
# Clean the previous build artifacts (optional)
$ make clean
# Compile the project
$ make verify
# Run the tests
$ make test
# Flash the MCU
$ make upload
The project assumes that one side of the split keyboard is always on the left and the other is on the right. The sidedness is encoded in EEPROM. To initially set the sidedness of the keyboards, uncomment the corresponding #define SET_KEYBOARD
line in src/dalsik/dalsik.h
and do a clean verify upload
flashing on both sides.
Master election is automatic based on the USB connection. When changing the keymap, only the master side needs to be reflashed. Should the USB connector break on the master keyboard, you can connect the USB cable to the other side, reflash it with your current keymap (if necessary) and it will work.