[Bf-blender-cvs] [6dca61b91c3] master: Cleanup: remove KM_MOD_SECOND & KM_SHIFT2, KM_CTRL2.. etc

Campbell Barton noreply at git.blender.org
Fri Sep 17 08:54:41 CEST 2021


Commit: 6dca61b91c3178a22e8d6e9cdaaeaa12554ffb73
Author: Campbell Barton
Date:   Thu Sep 16 18:03:25 2021 +1000
Branches: master
https://developer.blender.org/rB6dca61b91c3178a22e8d6e9cdaaeaa12554ffb73

Cleanup: remove KM_MOD_SECOND & KM_SHIFT2, KM_CTRL2.. etc

These were added in a1c8543f2acd7086d412cb794b32f96794b00659 (2007)
but never used.
Nor did they have any meaning in practice.

Note that versioning keymap items isn't needed as these values were
never set. The code-paths that set these values also set KM_MOD_FIRST
causing `keymap_event_set` to only ever assign values of 0 or 1.

These flags complicate further exposing KM_ANY (-1)
which is also a valid value for modifiers.

===================================================================

M	source/blender/makesrna/intern/rna_wm_api.c
M	source/blender/windowmanager/WM_types.h
M	source/blender/windowmanager/intern/wm_event_system.c
M	source/blender/windowmanager/intern/wm_keymap.c
M	source/blender/windowmanager/intern/wm_window.c

===================================================================

diff --git a/source/blender/makesrna/intern/rna_wm_api.c b/source/blender/makesrna/intern/rna_wm_api.c
index e123604cbe9..79cc689c6c2 100644
--- a/source/blender/makesrna/intern/rna_wm_api.c
+++ b/source/blender/makesrna/intern/rna_wm_api.c
@@ -641,7 +641,7 @@ static wmEvent *rna_Window_event_add_simulate(wmWindow *win,
   e.is_repeat = false;
   e.x = x;
   e.y = y;
-  /* NOTE: KM_MOD_FIRST, KM_MOD_SECOND aren't used anywhere, set as bools. */
+
   e.shift = shift;
   e.ctrl = ctrl;
   e.alt = alt;
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h
index 01b4c0419a8..453acfa5134 100644
--- a/source/blender/windowmanager/WM_types.h
+++ b/source/blender/windowmanager/WM_types.h
@@ -239,16 +239,10 @@ typedef enum eOperatorPropTags {
 #define KM_CTRL 2
 #define KM_ALT 4
 #define KM_OSKEY 8
-/* means modifier should be pressed 2nd */
-#define KM_SHIFT2 16
-#define KM_CTRL2 32
-#define KM_ALT2 64
-#define KM_OSKEY2 128
 
 /* KM_MOD_ flags for `wmKeyMapItem` and `wmEvent.alt/shift/oskey/ctrl`. */
 /* note that KM_ANY and KM_NOTHING are used with these defines too */
-#define KM_MOD_FIRST 1
-#define KM_MOD_SECOND 2
+#define KM_MOD_HELD 1
 
 /* type: defined in wm_event_types.c */
 #define KM_TEXTINPUT -2
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 238172276e7..ae09786356a 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -4858,47 +4858,27 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, void
         case EVT_LEFTSHIFTKEY:
         case EVT_RIGHTSHIFTKEY:
           if (event.val == KM_PRESS) {
-            if (event_state->ctrl || event_state->alt || event_state->oskey) {
-              keymodifier = (KM_MOD_FIRST | KM_MOD_SECOND);
-            }
-            else {
-              keymodifier = KM_MOD_FIRST;
-            }
+            keymodifier = KM_MOD_HELD;
           }
           event.shift = event_state->shift = keymodifier;
           break;
         case EVT_LEFTCTRLKEY:
         case EVT_RIGHTCTRLKEY:
           if (event.val == KM_PRESS) {
-            if (event_state->shift || event_state->alt || event_state->oskey) {
-              keymodifier = (KM_MOD_FIRST | KM_MOD_SECOND);
-            }
-            else {
-              keymodifier = KM_MOD_FIRST;
-            }
+            keymodifier = KM_MOD_HELD;
           }
           event.ctrl = event_state->ctrl = keymodifier;
           break;
         case EVT_LEFTALTKEY:
         case EVT_RIGHTALTKEY:
           if (event.val == KM_PRESS) {
-            if (event_state->ctrl || event_state->shift || event_state->oskey) {
-              keymodifier = (KM_MOD_FIRST | KM_MOD_SECOND);
-            }
-            else {
-              keymodifier = KM_MOD_FIRST;
-            }
+            keymodifier = KM_MOD_HELD;
           }
           event.alt = event_state->alt = keymodifier;
           break;
         case EVT_OSKEY:
           if (event.val == KM_PRESS) {
-            if (event_state->ctrl || event_state->alt || event_state->shift) {
-              keymodifier = (KM_MOD_FIRST | KM_MOD_SECOND);
-            }
-            else {
-              keymodifier = KM_MOD_FIRST;
-            }
+            keymodifier = KM_MOD_HELD;
           }
           event.oskey = event_state->oskey = keymodifier;
           break;
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c
index f1fe3e89007..bcd21fd7ac3 100644
--- a/source/blender/windowmanager/intern/wm_keymap.c
+++ b/source/blender/windowmanager/intern/wm_keymap.c
@@ -484,13 +484,10 @@ static void keymap_event_set(
     kmi->shift = kmi->ctrl = kmi->alt = kmi->oskey = KM_ANY;
   }
   else {
-    kmi->shift = (modifier & KM_SHIFT) ? KM_MOD_FIRST :
-                                         ((modifier & KM_SHIFT2) ? KM_MOD_SECOND : false);
-    kmi->ctrl = (modifier & KM_CTRL) ? KM_MOD_FIRST :
-                                       ((modifier & KM_CTRL2) ? KM_MOD_SECOND : false);
-    kmi->alt = (modifier & KM_ALT) ? KM_MOD_FIRST : ((modifier & KM_ALT2) ? KM_MOD_SECOND : false);
-    kmi->oskey = (modifier & KM_OSKEY) ? KM_MOD_FIRST :
-                                         ((modifier & KM_OSKEY2) ? KM_MOD_SECOND : false);
+    kmi->shift = (modifier & KM_SHIFT) ? KM_MOD_HELD : KM_NOTHING;
+    kmi->ctrl = (modifier & KM_CTRL) ? KM_MOD_HELD : KM_NOTHING;
+    kmi->alt = (modifier & KM_ALT) ? KM_MOD_HELD : KM_NOTHING;
+    kmi->oskey = (modifier & KM_OSKEY) ? KM_MOD_HELD : KM_NOTHING;
   }
 }
 
@@ -1164,7 +1161,6 @@ int WM_keymap_item_raw_to_string(const short shift,
 
   buf[0] = '\0';
 
-  /* TODO: support order (KM_SHIFT vs. KM_SHIFT2) ? */
   if (shift == KM_ANY && ctrl == KM_ANY && alt == KM_ANY && oskey == KM_ANY) {
     /* Don't show anything for any mapping. */
   }
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c
index 0402b0d778a..887aed7ffc7 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -1197,7 +1197,7 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr C_void_ptr
 #ifdef USE_WIN_ACTIVATE
         else {
           if (keymodifier & KM_SHIFT) {
-            win->eventstate->shift = KM_MOD_FIRST;
+            win->eventstate->shift = KM_MOD_HELD;
           }
         }
 #endif
@@ -1210,7 +1210,7 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr C_void_ptr
 #ifdef USE_WIN_ACTIVATE
         else {
           if (keymodifier & KM_CTRL) {
-            win->eventstate->ctrl = KM_MOD_FIRST;
+            win->eventstate->ctrl = KM_MOD_HELD;
           }
         }
 #endif
@@ -1223,7 +1223,7 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr C_void_ptr
 #ifdef USE_WIN_ACTIVATE
         else {
           if (keymodifier & KM_ALT) {
-            win->eventstate->alt = KM_MOD_FIRST;
+            win->eventstate->alt = KM_MOD_HELD;
           }
         }
 #endif
@@ -1236,7 +1236,7 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr C_void_ptr
 #ifdef USE_WIN_ACTIVATE
         else {
           if (keymodifier & KM_OSKEY) {
-            win->eventstate->oskey = KM_MOD_FIRST;
+            win->eventstate->oskey = KM_MOD_HELD;
           }
         }
 #endif



More information about the Bf-blender-cvs mailing list