Add GPIO-based volume button driver for Lenovo IdeaPad Flex 5i Chromebook Gen 8 Features: - Volume button detection via GPIO polling - Key repeat with configurable timings - Systemd service integration - Professional documentation
1.2 KiB
1.2 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.0] - 2025-01-13
Added
- Initial release
- GPIO-based volume button detection for Lenovo IdeaPad Flex 5i Chromebook Gen 8
- Support for Volume Up and Volume Down buttons via GPIO pins 3 and 4
- Key repeat functionality (1 second hold delay, 200ms repeat interval)
- Systemd service for automatic startup
- Installation script for easy deployment
- Comprehensive README documentation
- MIT License
Technical Details
- Python 3 implementation using gpiod and evdev libraries
- 10ms GPIO polling interval for responsive button detection
- Open Drain Low (ODL) logic handling
- Proper state machine for button press/hold/release detection
- Graceful shutdown handling with SIGINT/SIGTERM
- Virtual input device creation via uinput
Compatibility
- Tested on Lenovo IdeaPad Flex 5i Chromebook Gen 8 (Taeko)
- Intel Core i3-1215U processor
- MrChromebox custom BIOS (version 2408.1)
- Arch Linux kernel 6.17.1
- Python 3.13.7
- libgpiod 2.2.2
- python-evdev 1.9.2