mirror of
https://git.k-space.ee/arti/vt1200.git
synced 2026-10-30 12:03:54 +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.
elkay
A USB HID converter for the DEC LK401 keyboard, built so that every key and LED works with veetee, the DEC VT emulator, and with any other USB host.
The LK401 speaks DEC's LK201-family serial protocol (4800 baud, RS-423 levels, +12 V supply) through a 4P4C modular cable. elkay is a small inline box: the keyboard's own cable plugs into it, and a USB cable comes out. The keyboard itself is not modified.
LK401 ──4P4C──▶ ┌──────────────── elkay box ────────────────┐ ──USB──▶ host (veetee)
│ 12 V boost ◀── USB 5 V │
│ level shift/invert ◀─▶ ATmega32U4 UART │
│ ATmega32U4 USB ──▶ HID keyboard + LEDs │
└────────────────────────────────────────────┘
Status
| Phase | What | State |
|---|---|---|
| 1 | Characterise the keyboard: pinout, current draw, signal levels (procedure) | next |
| 2 | Power and level-shifting circuit on a breadboard (hardware) | provisional design |
| 3 | Firmware: serial sniffer and command console, record every keycode | written, untested |
| 4 | Firmware: initialisation (LK401 mode, up/down modes, LEDs, click, bell) | console commands in place |
| 5 | Firmware: USB HID keyboard with LED feedback | — |
| 6 | Keymap for veetee (keymap); veetee and Linux host side done | proposed |
| 7 | Enclosure, testing, write-up | — |
Layout
| Path | Contents |
|---|---|
firmware/ |
PlatformIO project; Arduino Micro is the main target, Teensy 2.0 the alternative |
hardware/ |
Interface circuit, bill of materials, wiring notes |
docs/protocol.md |
The LK201/LK401 protocol as the firmware uses it |
docs/keymap.md |
LK401 keycode → USB HID usage → veetee binding |
docs/phase1-bench.md |
Bench procedure for identifying the connector and signals |
host/linux/ |
xkb option so Linux desktops see F13–F20 (why) |
Building
cd firmware
pio run # Arduino Micro
pio run -e teensy2 # Teensy 2.0
pio run -t upload # flash the Micro
pio device monitor # console at 115200 baud
References
- VCB02 Video Subsystem Technical Manual, EK-104AA-TM-001 (the LK201 protocol, on bitsavers/manx)
- Linux
drivers/input/keyboard/lkkbd.c, a working LK201/LK401 driver
Licence
MIT.