Releases: AndyCappDev/tourbox-linux
v2.6.0 - "Zero Latency, Native Feel"
TourBox Linux v2.6.0 - "Zero Latency, Native Feel"
A Native Driver Feel on Linux
This release brings the TourBox Linux driver's responsiveness and input handling on par with the official TourBox driver. Through extensive user testing and feedback, we've eliminated the latency and timing issues that previously distinguished the Linux experience.
The result: Button response that feels seamless and instant - users report forgetting they're using a community driver because the input handling just feels right.
What's New
Immediate Fire for Double-Press Actions
Double-press buttons now fire with zero latency. The base action triggers the instant you press the button, with no waiting period for double-press detection.
- First press → Base action fires immediately
- Second press (within timeout) → Double-press action fires
- Hold behavior works perfectly for pan/zoom operations
This "dirty input" approach means you get a quick tap of the base action before any double-press, but the tradeoff is instant response - exactly what you need for time-sensitive operations like canvas panning.
Activate on Release
Buttons with "Activate on Release" enabled also use immediate fire:
- Combos stay clean → No accidental base action before your combo fires
- Double-press is instant → Base action fires immediately on release, no delay
- Perfect for modifier buttons with complex combo setups
Improved Double-Press Timeout Controls
- New slider UI → Drag for quick 50ms adjustments
- Spin box → Type exact values for precision (50-500ms range)
- New default → 300ms (changed from 200ms based on user feedback)
Mouse Actions with Modifiers
You can now combine modifier keys with mouse actions:
- Ctrl+Scroll Up/Down → Native zoom in most applications
- Shift+Click, Ctrl+Click → Selection modifiers
- All four modifiers supported: Ctrl, Alt, Shift, Super
Documentation
- Updated GUI User Guide with new features and controls
- Added Button Timing Trade-offs guide explaining immediate fire behavior
Acknowledgments
Special thanks to PunkunHm for extensive testing, detailed feedback, and the invaluable "homemade analysis" that shaped this release. Their methodical testing of latency, double-press behavior, and timeout adjustments directly informed the immediate fire implementation. This release wouldn't have reached native-driver quality without their contributions.
v2.5.1 - Fix modifier-only key mappings in GUI
Bug Fixes
GUI: Fixed "None" option being incorrectly disabled in the Key dropdown, preventing users from mapping controls to modifier-only actions (e.g., mapping Side Button to just Ctrl without an additional key)
v2.5.0 - Double-Press Button Actions
New Features
Double-Press Actions
- Assign a second action to any of the 14 physical buttons that triggers on a quick double-tap
- Effectively doubles your available shortcuts without using modifier combinations
- Example: Single-press Side → Super key, Double-press Side → Ctrl+Alt+T
Configurable Timeout
- Adjust the double-press detection window per profile (200ms - 500ms)
- Default: 300ms - balance between responsiveness and ease of triggering
GUI Improvements
- New "Double-Press Action" section in Control Editor with Configure/Clear buttons
- Double-press timeout setting in Profile Settings dialog
- Controls Configuration table shows both actions: "Super (2×: Ctrl+Alt+T)"
- Fixed text field layout issues in Profile Settings dialog
Driver Improvements
- Base action deferral for modifier buttons with combos (~150ms window)
- Prevents accidental base action firing when pressing combos quickly
- Proper cleanup of double-press state on profile switch
Documentation
- New "Using Double-Press Actions" section in GUI User Guide
- Explains latency implications and best practices
- Troubleshooting tips for common issues
Notes
- Double-press adds latency to single-press actions (equal to timeout)
- Best used for less frequently used actions where slight delay is acceptable
- Works alongside modifier combos - get three actions from one button!
v2.4.3 - Button Behavior Improvements
Last-Wins Behavior
When buttons are mapped to keyboard modifiers (e.g., Side → Ctrl, Top → Shift), pressing a new button while another is held now automatically releases the previous button's action first. This prevents unintended modifier stacking during fast button sequences.
Modifier-to-Modifier Combos
Fixed an issue where combos between two modifier buttons wouldn't trigger correctly. For example, if both tour and side are configured as modifiers with a tour.side = KEY_L combo, pressing Side while holding Tour now correctly sends L instead of both base actions.
Stuck Key Fix
Fixed a bug where combo keys could remain pressed if the modifier button was released before the combo target button.
Technical Details
- Added HOLDABLE_BUTTONS constant to distinguish physical buttons from rotary controls
- Added state tracking for active button events and combo events
- Proper state cleanup on profile switch and device disconnect
v2.4.2 - Added Mouse Button Support
Mouse Button Support
- Added Left Click, Right Click, and Middle Click actions
- The "Mouse Wheel" action type has been renamed to "Mouse" and now includes all mouse actions in a single dropdown
- Map any button or combo to mouse clicks for creative workflows
Restart Driver Menu Option
- New File → Restart Driver menu option
- Quickly restart the driver service without logging out or rebooting
- Useful when switching between USB and Bluetooth connections
- Automatically reloads all profiles after restart
v2.4.1 - USB Auto-Detection Fix
Bug Fix
- Fixed USB auto-detection for devices with different firmware responses. Some TourBox units respond to the unlock command with a different first byte (e.g.,
0x7ainstead of0x07). The probe now accepts any valid-length response rather than checking for a specific byte.
Workarounds (for older versions)
If you're on an older version and experiencing USB detection issues:
- Use
--port /dev/ttyACM0to specify the port directly - Use
--usbflag to force USB mode
v2.4.0 - Profile Management & Media Keys
New Features
Profile Enable/Disable
- New "Active" column in the Profiles list with checkbox to enable/disable profiles
- Disabled profiles are skipped during automatic window matching
- Allows multiple profiles for the same application - enable only the one you want active
- Changes take effect immediately without restarting the driver
Profile Conflict Detection
- Profiles with conflicting window rules now show an orange ⚠ warning icon
- Hover over the warning to see which profiles conflict
- Helps identify when multiple active profiles match the same application
- Only the first profile alphabetically is used when conflicts exist
Media Keys Support
- Added media keys to the Control Editor dropdown:
- Volume Up, Volume Down, Mute
- Play/Pause, Stop
- Previous Track, Next Track
- Media keys now display correctly in the Controls Configuration list
Bug Fixes
- Fixed media key display showing "Min Interesting" instead of "Mute" (evdev constant collision)
Documentation
- Updated GUI User Guide with new features documentation
- Added sections on enabling/disabling profiles and resolving conflicts
Full Changelog: v2.3.1...v2.4.0
v2.3.1 - Fix key mappings not saving
Bug Fixes
- Fixed key mappings not saving in new profile format - When using the GUI to change button mappings, changes were not being persisted to the profile file. The save operation now correctly applies modifications before writing to disk.
v2.3.0 - Import & Export Profiles
What's New
Profile Import/Export - Share your TourBox configurations with the community! You can now import and export individual profiles as standalone files.
Features
- Import profiles - Load profiles shared by other users or restore from backups
- Export profiles - Save any profile to a file for sharing or backup
- Cleaner profile list - Internal 'TourBox GUI' profile is now hidden from the profile manager
Improvements
- Updated GUI User Guide with new features documentation
- Various documentation clarifications and fixes
v2.2.0 - Haptic Feedback Support
What's New
Haptic Feedback Support - The TourBox Elite's built-in vibration motors are now fully supported! Feel tactile feedback as you rotate the knob, scroll wheel, and dial.
Features
- Three strength levels - Choose from Off, Weak, or Strong vibration feedback
- Per-profile settings - Different haptic configurations for different applications
- Per-dial control - Set different strengths for knob, scroll wheel, and dial independently
- Per-combo settings - Custom haptic for modifier+dial combinations (e.g., different feedback for side + knob vs knob alone)
- GUI support - Configure haptic in Profile Settings dialog and Control Editor
- Dynamic switching - Haptic settings update instantly when switching profiles
Notes
- Haptic feedback is only available on TourBox Elite and Elite Plus (Neo does not have haptic motors)
- Works with both USB and Bluetooth connections