mirror of
https://git.k-space.ee/arti/vt1200.git
synced 2026-10-31 12:05:05 +02:00
Distils public docs into reference/keyboard-mouse/PROTOCOL.md for the level-1 Keyboard (27) / Mouse (26) device tests: - keyboard: 4800 8N1 RS-423, self-test via FD -> 01 00 00 00 (errors 3D/3E) - mouse: 4800 8O1 RS-232, self-test via 'T' -> 4-byte report (errors 3D/3E, >=0x20 fatal) - separate ports: DUART2 A=keyboard, B=mouse (NOT daisy-chained) MAME already has an LK201 device (src/mame/dec/lk201.cpp/.h) but no DEC mouse.
47 lines
1.6 KiB
Markdown
47 lines
1.6 KiB
Markdown
# Linux host setup
|
||
|
||
elkay sends the LK401's F13–F20 as the standard USB keys F13–F20. The kernel reports them as
|
||
`KEY_F13`–`KEY_F20`, but xkb's default symbols then turn them into other keys:
|
||
|
||
| LK401 key | Default keysym | GNOME does |
|
||
|-----------|----------------|------------|
|
||
| F13 | XF86Tools | opens Settings |
|
||
| F14 | XF86Launch5 | |
|
||
| Help (F15) | XF86Launch6 | |
|
||
| Do (F16) | XF86Launch7 | |
|
||
| F17 | XF86Launch8 | |
|
||
| F18 | XF86Launch9 | |
|
||
| F19 | none | |
|
||
| F20 | XF86AudioMicMute | mutes the microphone |
|
||
|
||
GNOME acts on F13 and F20 before any application sees them, so veetee can't fix this on its
|
||
own. The xkb option `elkay:fkeys` gives all eight keys the keysyms F13–F20, and veetee's default
|
||
keymap already binds those.
|
||
|
||
## Install
|
||
|
||
```sh
|
||
host/linux/install-xkb.sh
|
||
```
|
||
|
||
This copies `xkb/` to `~/.config/xkb/`, where libxkbcommon looks for user rules, and adds
|
||
`elkay:fkeys` to GNOME's `xkb-options`, keeping any options already set. On other desktops, run
|
||
it and then enable the option in the keyboard settings.
|
||
|
||
The option applies to every keyboard. That's harmless: few PC keyboards have F13–F20, and the
|
||
ones that do then send F13–F20 too.
|
||
|
||
## Remove
|
||
|
||
```sh
|
||
gsettings reset org.gnome.desktop.input-sources xkb-options # or remove just elkay:fkeys
|
||
rm ~/.config/xkb/symbols/elkay ~/.config/xkb/rules/evdev
|
||
```
|
||
|
||
## Testing without the keyboard
|
||
|
||
`xkb/` was checked by compiling `evdev / pc105 / us` keymaps with libxkbcommon, with and
|
||
without the option. Keycodes FK13–FK20 resolve to F13–F20 only with it. The rules file includes
|
||
the system rules *first*: rules apply in file order, and the option has to come after
|
||
`inet(evdev)` to override it.
|