Expand description
Keyboard Layout Configuration
Owns the shared keyboard modifier state and scancode processing logic. Layout-specific modules (keyboard.rs, keyboard_us.rs) only provide scancode-to-ASCII lookup tables.
Structs§
- Keyboard
State - Keyboard modifier state : shared across all layouts.
Constants§
Statics§
- AZERTY_
NORMAL - French AZERTY scancode set 1 -> ASCII mapping (lowercase)
- AZERTY_
SHIFT - French AZERTY shifted scancode -> ASCII mapping
- KEYBOARD
- Global keyboard modifier state : single instance shared by all layouts.
- QWERTY_
NORMAL - US QWERTY scancode set 1 -> ASCII mapping (lowercase)
- QWERTY_
SHIFT - US QWERTY shifted scancode -> ASCII mapping
- USE_
FRENCH_ 🔒LAYOUT
Functions§
- handle_
scancode - Read port 0x60 and process the scancode with the current layout tables.
- handle_
scancode_ raw - Process a pre-read scancode byte with the current layout tables.
- is_
french_ layout - Get the current keyboard layout setting
- process_
scancode - Process a single scancode byte with the given lookup tables.
- set_
french_ layout - Set the keyboard layout to French AZERTY
- set_
us_ layout - Set the keyboard layout to US QWERTY