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:
HID and Serial libraries and USB implementation)On Arch linux you can run:
$ pacman -S arduino avr-gcc avrdude python-pyserialYou 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 uploadThe 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.