mirror of
https://github.com/brl/mutter.git
synced 2025-01-26 19:39:20 +00:00
Jasper St. Pierre
3beb187cac
keybindings: Split the resolved keybinding out from MetaKeyCombo
MetaKeyCombo is about the *unresolved* keybinding, which can either be a "keysym" (<Ctrl>F) or a "keycode" (<Ctrl>0x21). When we resolved the keysym to a keycode, we stuffed it back in the same MetaKeyCombo, which confused about what the "keycode" field was for. Thus, we often stomped on the user's explicit choice if they chose a keycode binding value. To solve this, create a separate structure, the "devirtualized key combo" or MetaKeyDevirtCombo, which contains a resolved keycode from the keysym, and a devirtualized modifier mask. The MetaKeyCombo is now always a "source" value, and the MetaKeyDevirtCombo is now always what the user chose. This also lets us significantly clean up the overlay and ISO key binding paths.
…
…
Description
Languages
C
98.9%
Meson
0.7%
Python
0.3%