diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..a514e10 --- /dev/null +++ b/build.sh @@ -0,0 +1,32 @@ +#!/bin/sh +set -e + +QMK_DIRECOTRY="$HOME/dev/explore/qmk_firmware" + +KEYBOARD_BINDINGS="$(pwd)/gdk.json" +KEYBOARD_NAME="xd75" +KEYMAP_NAME="gdk" +KEYBOARD_DIRECTORY="$QMK_DIRECOTRY/keyboards/$KEYBOARD_NAME/keymaps/$KEYMAP_NAME" +KEYMAP_FILE="$KEYBOARD_DIRECTORY/keymap.c" + +_log_error() { + echo "$1" + exit 1 +} + +_log() { + echo "--> $1" +} + +[ -d "$QMK_DIRECOTRY" ] || _log_err "Missing qmk firmware directory" +[ -d "$KEYBOARD_DIRECTORY" ] || _log_err "Missing keyboard directory" + +cd "$QMK_DIRECOTRY" + +_log "Generating keymap.c from $KEYBOARD_BINDINGS" +sudo qmk json2c -o "$KEYMAP_FILE" "$KEYBOARD_BINDINGS" + +_log "Flashing firmware" +sudo qmk flash --keyboard "$KEYBOARD_NAME" --keymap "$KEYMAP_NAME" + +_log "All done"