mirror of
https://github.com/deskflow/deskflow.git
synced 2026-07-04 21:04:59 +08:00
Some modifiers, notably LevelThree, were not accounted for in the modifier mask calculation. This leads to an incorrect keymap where some key symbols were listed for keys without (or insufficient) modifiers. Emulating those keys can then produce the wrong keysyms. Reproducible with server and client on English(UK) layout and typing e.g. [. That key has its own key AD11 (right of P) but is also on the third level of AE08 (the 8 key). When the server sends the keyid 91 (for [) the client looks it up in the pre-generated keymap. It is found first on the 8 key with no modifiers (because LevelThree was previously ignored), hence the client simulates a key 8 press without modifiers. This erroneously produced an 8 instead of the wanted [. Fix this by ensuring that all modifiers are accounted for in the key map. This fix is likely incomplete as it does not account for the full virtual modifier to real modifier mappings possible (e.g. Mod5 *may* be something other than AltGr) but it does push the can a bit further down the road, for someone else to release the worms. Closes: #8168 |
||
|---|---|---|
| .. | ||
| arch | ||
| base | ||
| client | ||
| common | ||
| deskflow | ||
| gui | ||
| io | ||
| mt | ||
| net | ||
| platform | ||
| server | ||
| CMakeLists.txt | ||
| Config.h.in | ||
| VersionInfo.h.in | ||