Muyue bc9d6f8639 Initial release v1.0.0
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
2025-10-13 11:06:35 +02:00

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