Work in progress to improve keyboard shortcuts in Xfce
Long time no blog! I started to hack again last week with the goal of improving keyboard shortcuts handling in Xfce. I touched that during the Xfce 4.10 cycle and this unfortunately seem to have introduced a bunch of bugs that I'm now trying to resolve. I also took this opportunity to try to overhaul the UI and make it more understandable.
This code is available in the jeromeg/keyboard-shortcuts branches of xfwm4, libxfce4ui and xfce4-settings on the Xfce Git server. Some improvements are still planned but most of what I was planning is already implemented.
Here is a list of reported bugs which should be fixed once I merge this:
- Keyboard shortcuts on numeric keypad are ineffective
- Usability issue : the dialog for adding keyboard shortcuts isn't clear
- Unable create keyboard shortcut <Alt>+Print
- Add a button to edit/modify a keybinding
- Control modifier appears as Primary when setting shortcuts
- Keyboard shortcuts of the same shortcut
- Default shortcuts not working
- Keyboard mapping for XF86PowerButton and Ctrl+Insert ineffective
- <Shift> modifier not recognized correctly
- Keyboard shortcuts shipped by Xfce are wrong since the Gtk switch from Control to Primary
A brief summary: shortcuts now work when Caps Lock is on, shortcuts using Shift or the numeric keypad are handled correctly, a bunch of regressions are fixed, conflict handling is now more reliable and the UI should be better.
Regarding keyboard shortcuts bugs, keyboard shortcuts not working correctly after a reboot or not work working in some other cases seem to occur because of a "wrong" shortcut database often caused by a problem in the migration script in Xfce 4.6. In that case, the easier way to fix this seems to be to revert all keyboard shortcuts to default (in xfwm4-settings and xfce4-keyboard-settings) and to rebind them using the dialogs.
Readable shortcut labels in the UI
Improved dialogs to add and edit shortcuts
Improved conflict handling
Testing is welcome!
If you know what you are doing, it would be useful if you could test those changes and report me by mail any remaining issues. Suggestions for improvements are also welcome.