]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
feat: /dev/kbd raw scancode device for game input (DOOM)
authorTulio A M Mendes <[email protected]>
Thu, 12 Feb 2026 07:32:51 +0000 (04:32 -0300)
committerTulio A M Mendes <[email protected]>
Fri, 13 Feb 2026 02:44:55 +0000 (23:44 -0300)
commit584b03329012fbfbe8fcaae35d727577032fd794
tree2c0b612b1159b652e37637e659ab90289c26cf6f
parent89fbda518d76fd4b7cf245d27ff0eb0a568f6df4
feat: /dev/kbd raw scancode device for game input (DOOM)

Added raw scancode ring buffer to the keyboard driver. The HAL
keyboard layer now fires a second callback with the unprocessed
scancode byte (both key-press and key-release events).

- hal/keyboard.h: added hal_keyboard_scan_cb_t and setter
- hal/x86/keyboard.c: fires g_scan_cb before ASCII translation
- drivers/keyboard.c: raw scancode buffer + /dev/kbd device node
  registered via devfs (non-blocking read returns raw scancodes)
- init.c: calls keyboard_register_devfs() after devfs is mounted

DOOM can now open /dev/kbd and read raw PS/2 scancodes to detect
key press/release events without TTY line buffering.
include/hal/keyboard.h
include/keyboard.h
src/drivers/keyboard.c
src/hal/x86/keyboard.c
src/kernel/init.c