Keyboard Scanner

April 30, 2026 · View on GitHub

Claude Code plugin for profiling Linux keyboards, mapping keycodes, and identifying underused keys that can be repurposed for shortcuts and macros.

Install

/plugin marketplace add danielrosehill/Claude-Code-Plugins
/plugin install keyboard-scanner@danielrosehill

What it does

Walks a structured workflow:

  1. Intake — questionnaire to profile each keyboard (laptop vs desktop, make/model, layout, switch type, existing customizations, use case).
  2. Keycode scan — dumps the system's full keycode-to-keysym mapping using xmodmap, setxkbmap, evdev definitions, xinput, libinput, etc. Detects X11 vs Wayland.
  3. Remap suggestions — analyses the profile and scan, then proposes remappings tailored to use case (programmer / writer / general). Points at concrete tools — keyd, kmonad, xremap, xmodmap, xbindkeys, input-remapper, autokey.

Multiple keyboards are supported (laptop built-in + external mechanical, etc.) — run /intake once per keyboard.

Slash commands

CommandPurpose
/intakeInteractive questionnaire to profile a keyboard
/scan-keycodesScan and document all keycodes on the system
/suggest-remapsGenerate remap / shortcut / macro suggestions
/list-profilesShow all profiled keyboards and their scan status

Agents

  • keyboard-profiler — specialised subagent for deep keyboard analysis and keycode mapping.

Data storage

Profiles, scans, and suggestions are written under the user-data directory:

  • $CLAUDE_USER_DATA/keyboard-scanner/ if set
  • else $XDG_DATA_HOME/claude-plugins/keyboard-scanner/
  • else ~/.local/share/claude-plugins/keyboard-scanner/

Subdirs: keyboards/, keycodes/, profiles/, keymaps/, suggestions/.

Requirements

  • Linux (X11 or Wayland)
  • Claude Code CLI
  • Standard input tools available: xmodmap, setxkbmap, xinput, evtest, libinput, lsusb

License

MIT