Space Cadet-inspired Kanata and XKB configs for Kinesis Advantage keyboards
  • Python 90.9%
  • Shell 9.1%
Find a file
htayj e5f7e81cdb
Place Alt on Mod3 and Super on Mod4
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-08-09 05:25:32 -04:00
drawings Support symlinked dotfiles generation 2026-05-13 03:59:30 -04:00
kanata Use Delete in Advantage 360 game macros 2026-06-05 22:41:48 -04:00
xkb Place Alt on Mod3 and Super on Mod4 2026-08-09 05:25:32 -04:00
draw-kanata-keymap.py Support symlinked dotfiles generation 2026-05-13 03:59:30 -04:00
kinesis.qmk.json Initial Space Cadet keyboard configs 2026-05-13 03:54:34 -04:00
LICENSE Initial Space Cadet keyboard configs 2026-05-13 03:54:34 -04:00
README.md Show keymap drawings in README 2026-05-13 04:42:30 -04:00
reload-spacecadet-xkb.sh Initial Space Cadet keyboard configs 2026-05-13 03:54:34 -04:00
space-cadet-layered-mnemonics.md Initial Space Cadet keyboard configs 2026-05-13 03:54:34 -04:00

Space Cadet Keyboard for Kinesis Advantage

Kanata and XKB configs for a Space Cadet-inspired Kinesis Advantage 2 / Advantage 360 layout.

The default variant is layer-based: hold End or PgDn for a fun layer with Space Cadet command keys. Chord-based variants are also included for reference.

Keymap drawings

Layered layout (primary)

Kinesis Advantage 2 layered Space Cadet keymap

Chorded layout (alternate)

Kinesis Advantage 2 chorded Space Cadet keymap

Contents

  • kanata/ — Kanata configs for Advantage 2 and Advantage 360.
    • *.layered.kanata.kbd are the recommended layer-based variants.
    • non-layered files are the older chord-based variants.
  • xkb/ — user XKB layout/rules/keymap for Space Cadet symbols and private-use command keysyms.
  • draw-kanata-keymap.py — converts these Kanata/XKB files into keymap-drawer YAML/SVG.
  • drawings/ — generated Advantage 2 drawings.
  • space-cadet-layered-mnemonics.md — mnemonic notes for the fun layer.
  • reload-spacecadet-xkb.sh — helper to reapply XKB after Kanata recreates its uinput device.

Requirements

Generate drawings

./draw-kanata-keymap.py \
  --kanata kanata/kinesis.advantage2.layered.kanata.kbd \
  --xkb xkb/symbols/spacecadet \
  --qmk-info-json kinesis.qmk.json \
  --output-yaml drawings/kinesis.advantage2.layered.k-draw.yaml \
  --output-svg drawings/kinesis.advantage2.layered.svg

XKB

The Space Cadet command functions are mapped to private-use keysyms (UE000...) where possible so desktop/media/system shortcuts do not fire accidentally. Apply the bundled XKB keymap with:

xkbcomp -I"$PWD/xkb" -w 0 xkb/keymap/spacecadet.xkb "$DISPLAY"

Or use reload-spacecadet-xkb.sh, which tries to discover the active X display/auth from the current session.

Dotfiles integration

This repo is intended to be usable standalone, but it is also submodule-friendly for GNU Stow dotfiles. Symlink the files you want from your dotfiles package into this repository, then stow the package as usual.