Port and as appropriate, refactor the existing implementation. Features:
- software-drive key matrix scanning
- support for hardware matrix scanners (example: Microchip MEC17xx)
- key debounce/filtering with tuning ability for different key types
- key ghosting
- support for caps lock and keyboard function LEDs
- efficient interface to HID service for host-side communications
- separate configuration (ex: key layout, debouncing parameters, etc.) from logic for easy customization
Port and as appropriate, refactor the existing implementation. Features: