diff options
author | Campbell Barton <campbell@blender.org> | 2022-09-18 03:31:14 +0300 |
---|---|---|
committer | Campbell Barton <campbell@blender.org> | 2022-09-18 03:31:14 +0300 |
commit | 0950e6fae6800cd847d1c74e35489e46b0c48229 (patch) | |
tree | 5aa7e69b072c80c953b8edd7011ec65241694454 /source/blender | |
parent | 8934f00ac5701ea349f2bcccab32e252c79aa730 (diff) |
GHOST: support left/right OS-key
Handling the OS key now match other modifiers in GHOST which detect
each key separately, making the behavior simpler to reason about since
mapping a single key to a modifier state is simpler, avoiding handling
that only applied to the OS-Key.
This means simulating key up/down events can use the correct modifier.
In the window-manager this is still only accessed accessed via KM_OSKEY.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.cc | 3 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_window.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.cc b/source/blender/windowmanager/intern/wm_event_system.cc index 4209e1e5e00..841df253dab 100644 --- a/source/blender/windowmanager/intern/wm_event_system.cc +++ b/source/blender/windowmanager/intern/wm_event_system.cc @@ -4733,7 +4733,8 @@ static int convert_key(GHOST_TKey key) return EVT_LEFTCTRLKEY; case GHOST_kKeyRightControl: return EVT_RIGHTCTRLKEY; - case GHOST_kKeyOS: + case GHOST_kKeyLeftOS: + case GHOST_kKeyRightOS: return EVT_OSKEY; case GHOST_kKeyLeftAlt: return EVT_LEFTALTKEY; diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index 9180c53aeb5..b61ebdd11be 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -137,7 +137,9 @@ static const struct { {KM_ALT, {GHOST_kKeyLeftAlt, GHOST_kKeyRightAlt}, {GHOST_kModifierKeyLeftAlt, GHOST_kModifierKeyRightAlt}}, - {KM_OSKEY, {GHOST_kKeyOS, GHOST_kKeyOS}, {GHOST_kModifierKeyOS, GHOST_kModifierKeyOS}}, + {KM_OSKEY, + {GHOST_kKeyLeftOS, GHOST_kKeyRightOS}, + {GHOST_kModifierKeyLeftOS, GHOST_kModifierKeyRightOS}}, }; enum ModSide { |