Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This pull request introduces a graphical user interface (GUI) configurator (
logiops_gui.py) built with Python and Tkinter, along with comprehensive documentation (readme_gui.md) and updates toREADME.md.The tool simplifies configuring Logitech mice and keyboards by eliminating the need to manually write
/etc/logid.cfgor look up raw Linux input event keycodes.Features
Device Auto-Detection: Automatically detects connected Logitech HID++ devices (e.g., MX Master 3S) by querying system logs and kernel
sysfspower supplies.Pointer & Scroll Settings: Interactive controls for DPI (200–4000), SmartShift (toggle, threshold, torque), and HiRes scrolling (invert, target).
Button & Gesture Remapping: Dedicated configuration tabs for Thumb (
0xc3), Top (0xc4), Forward (0x53), and Back (0x56) buttons. Supports single-press and 4-way swipe gestures withpreset common key combinations (Super, Print Screen, Media keys, Copy/Paste, etc.).
Side Thumbwheel Customization: Direct remapping of horizontal scroll wheels (e.g., volume control or media navigation) using correct
interval: 1;syntax.Live Health & Status: Real-time display of
logidsystemd service status, D-Bus connection monitoring, and battery level tracking via/sys/class/power_supply/.Bidirectional Config Loading: Automatically parses existing
/etc/logid.cfgfiles on startup to ensure previous user configurations persist across edits.Configuration Preview & Export: Built-in diff preview with a one-click "Copy to Clipboard" button before saving and restarting the daemon.
Service Recovery Helper: Includes a "Fix 'double run'" utility to cleanly terminate conflicting/zombie
logidinstances and restart the daemon.Changes Included
logiops_gui.py: The main standalone Tkinter GUI application.readme_gui.md: Detailed documentation covering setup, usage, terminology glossary, app launching shortcuts, and troubleshooting.README.md: Updated with a new "Graphical Configuration Tool (GUI)" section and notes onpython3-tkoptional dependencies.Testing Done
/etc/logid.cfggeneration, parsing persistence, service restarting, and side thumbwheel volume control.