feat: VirtIO keyboard input for QEMU GUI

- Add VirtIO input device driver (device ID 18) reading from eventq
- Translate Linux keycodes (WASD, arrows) to InputEvent
- Kernel probes for VirtIO input device, falls back to UART
- Add -device virtio-keyboard-device to run-gui Makefile target
- input-qemu tries VirtIO first, falls back to UART
This commit is contained in:
2026-10-19 00:30:20 +02:00
parent 68849f698b
commit 0a47b5489a
9 changed files with 259 additions and 12 deletions

View File

@@ -51,6 +51,7 @@ members = [
"crates/bins/input-qemu",
"crates/bins/storage-qemu",
"crates/drivers/input/uart",
"crates/drivers/input/virtio",
"crates/hw-virtio",
]
resolver = "2"
@@ -108,6 +109,7 @@ driver-framebuffer-virtio = { path = "crates/drivers/framebuffer/virtio" }
driver-framebuffer-mock = { path = "crates/drivers/framebuffer/mock" }
driver-block-virtio = { path = "crates/drivers/block/virtio" }
driver-input-uart = { path = "crates/drivers/input/uart" }
driver-input-virtio = { path = "crates/drivers/input/virtio" }
# apps
snake = { path = "crates/apps/snake" }