Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/blender/makesrna/intern/rna_wm_api.c2
-rw-r--r--source/blender/windowmanager/WM_types.h8
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c28
-rw-r--r--source/blender/windowmanager/intern/wm_keymap.c12
-rw-r--r--source/blender/windowmanager/intern/wm_window.c8
5 files changed, 14 insertions, 44 deletions
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