Allow binding two keys to the same control
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
It should be possible to bind multiple keys on the keyboard to the same control. Currently, due to the fact that the keyboard shortcuts are defined in a config file, there is no way to do this.
Possible use case: Shift+@ is set to activate a rolling loop. To halve the loop, I attempt to press w, but since I'm holding down Shift+@, this registers as Shift+W. However, I can't bind both w and Shift+W to halve_loop.
This could be accomplished by modifying the format of the keyboard config file to take a list of space-separated key sequences for each control. For example, in the keyboard config file:
[Channel1]
loop_halve w Shift+W
Internally, this can be accomplished by modifying the ConfigValueKbd class to have a list of key sequences instead of a single key sequence. A proof of concept patch on the current master (commit 4d4fc62e08e9912
I'd be happy to open a pull request or improve/rebase the patch as needed. Thanks for taking a look.
description: | updated |
Changed in mixxx: | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
Thanks for the patch Christopher (and welcome!)
For backwards compatibility with previous versions of Mixxx I would prefer if the file format worked like this:
[Channel1]
loop_halve w
loop_halve Shift+W
That way older versions would just read a single loop_halve association.
Please do open a pull request if you're interested in working on this further!