Files
SplitOverlay/firmware/prepare-source.sh
T
khadzhibekovpa 292d61bb47
CI / build-and-test (push) Canceled after 0s
feat: initial release of SplitOverlay (KeyOverlay 1.0.0)
Semi-transparent always-on-top Windows overlay that shows the keymap of a
Vial/QMK split keyboard (Silakka54).

- draws all layers from a Vial .vil layout, transparent keys fall through
- detects the active layer from the keyboard via a Raw HID command (firmware/)
- shows characters of the active Windows input language
- can split the two halves into separate, independently movable windows
- highlights pressed keys; tray menu for opacity, size and options
- Inno Setup installer and portable build; GitHub-style CI workflow
2026-10-20 09:43:17 +03:00

33 lines
1.3 KiB
Bash

#!/usr/bin/env bash
# Prepares the firmware source tree: vial-qmk + the Silakka54 LED keymap (v1.4led) + the KeyOverlay HID command.
# Usage: bash firmware/prepare-source.sh [work-dir] (default work-dir: .firmware-work next to this repo)
# Safe to run again: sources are only cloned once, copied files are refreshed.
set -euo pipefail
HERE="$(cd "$(dirname "$0")" && pwd)"
WORK="${1:-$HERE/../.firmware-work}"
QMK="$WORK/vial-qmk"
SRC="$WORK/silakka54-src"
DEST="$QMK/keyboards/silakka54led"
mkdir -p "$WORK"
if [ ! -d "$QMK" ]; then
git clone --depth 1 --branch vial https://github.com/vial-kb/vial-qmk.git "$QMK"
git -C "$QMK" submodule update --init --depth 1 --recursive
fi
if [ ! -d "$SRC" ]; then
git clone --depth 1 --branch v1.4led https://github.com/Squalius-cephalus/silakka54.git "$SRC"
fi
# The LED keymap lives in the silakka54 repo, not in vial-qmk: copy it in as its own keyboard folder.
mkdir -p "$DEST"
cp -r "$SRC/firmware/." "$DEST/"
cp "$HERE/keyoverlay_hid.c" "$DEST/keymaps/vial_led/"
RULES="$DEST/keymaps/vial_led/rules.mk"
grep -q "keyoverlay_hid.c" "$RULES" || printf '\nSRC += keyoverlay_hid.c\n' >> "$RULES"
echo "Firmware source ready in: $QMK"
echo "Next: docker build -t keyoverlay-fw-build firmware, then run firmware/build-in-container.sh (see firmware/README.md)"