Edit your Advantage360 (non-Pro) keyboard layout as plain text and push it over the keyboard's v-Drive. No Windows SmartSet app, no Wine.
Checked out with an LLM coding agent? .claude/skills/kinesis-adv360/SKILL.md
teaches it the syntax and the safety rules — just ask it to change a key.
Linux with udisks2 auto-mounting removable media (the v-Drive appears at
/run/media/$USER/ADV360), and a host keyboard layout of English (US).
$EDITOR layouts/layout1.txt # keep CRLF line endings
./tools/push-layout.sh # start this FIRST, it waitsThen press SmartSet + F1 (gear key, top-left of the right module) to connect
the v-Drive. The script copies, syncs, md5-verifies, and backs up whatever it
overwrote. Press SmartSet + F1 again to disconnect — that is what makes the
firmware apply the layout.
Order matters: the keyboard stops sending keystrokes while the v-Drive is on, so you cannot run the command once it is mounted.
tools/push-layout.sh [file] [slot] |
write a layout (default layouts/layout1.txt → slot 1) |
tools/pull-layout.sh |
snapshot the whole v-Drive into backups/ |
tools/vdrive-watch.sh |
dump drive contents, input devices, kernel log — for debugging |
Run pull-layout.sh before your first change so you have a known-good copy.
See .claude/skills/kinesis-adv360/SKILL.md for the full rules and
the vendor guide for the official reference (see below).
The short version — remaps are [position]>[action], macros are
{trigger}>{action}…, and the four things that cause nearly every bug:
{-mod}presses,{+mod}releases. Backwards from how it reads.- Remaps cannot produce shifted characters —
(needs a macro. - A macro's trigger modifier is not passed through to its output.
- Macros do not auto-repeat when held.
layouts/layout1.txt is a personal config, included as a worked example.
layouts/layout1.orig.txt is the pre-edit original.
Right thumb cluster:
| key | unshifted | shifted |
|---|---|---|
| PgUp | ( |
< |
| PgDn | ) |
> |
{pgup}>{s9}{x1}{-lshf}{9}{+lshf}
{lshf}{pgup}>{s9}{x1}{-lshf}{comm}{+lshf}
{pgdn}>{s9}{x1}{-lshf}{0}{+lshf}
{lshf}{pgdn}>{s9}{x1}{-lshf}{perd}{+lshf}
The number row carries no macros, so 9/0 stay plain digits with native
(/) on shift and normal auto-repeat.
settings/settings.txt on the v-Drive selects the active profile — do not edit it.
The Windows SmartSet app was tried under Wine and abandoned: it launches but Save
throws, because Wine reports the v-Drive as FIXED rather than REMOVABLE
(/dev/sdc is root:disk 0660). Not worth pursuing — this repo does the same
job directly.