Skip to content

fix(neocfg): keyboard layout via KeyboardSetLayout (#703) - #706

Merged
alexis900 merged 1 commit into
developfrom
fix/neocfg-kbd-layout-703
Oct 14, 2026
Merged

alexis900 merged 1 commit into
developfrom
fix/neocfg-kbd-layout-703

Conversation

@alexis900

Copy link
Copy Markdown
Collaborator

Cierra #703.

Qué

userbin/neocfg/src/neodos_platform.rs usaba ObSetInfoClass::KeyboardLayout (=5) para fijar el layout. Esa clase es index-based (el kernel lee el primer byte como índice), así que pasar un nombre ("es-ES") fijaba un índice inválido ('e' = 0x65).

Ahora keyboard_layout() y set_keyboard_layout() usan libneodos::keyboard::{kbd_get_layout, kbd_set_layout}, que operan sobre \Device\Keyboard con KeyboardInfo/KeyboardSetLayout (=43) — la ruta correcta (Regla 11.6.3 de source-of-truth.md).

Verificación

neodev build --image compila (neocfg incluido).

`set_keyboard_layout` used `ObSetInfoClass::KeyboardLayout` (=5), which the
kernel treats as a byte *index*, so passing a layout name ("es-ES") set a
bogus index. Route both calls through `libneodos::keyboard`, which uses
`KeyboardSetLayout` (=43) on `\Device\Keyboard` (source-of-truth rule 11.6.3).
@alexis900
alexis900 merged commit 03b89a5 into develop Oct 14, 2026
3 checks passed
@alexis900
alexis900 deleted the fix/neocfg-kbd-layout-703 branch October 14, 2026 00:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant