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
36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [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
|