Shift click on modifier works again.

For some reason, adding a keymap entry with KM_SHIFT didn't work, had to use KM_ANY and passthrough invalid modifiers.

Left a note to investigate later.
This commit is contained in:
Martin Poirier
2009-11-12 19:42:53 +00:00
parent fdcc0ff7c7
commit 20681f4980
2 changed files with 8 additions and 1 deletions

View File

@@ -2017,6 +2017,9 @@ static int manipulator_invoke(bContext *C, wmOperator *op, wmEvent *event)
if(!(v3d->twflag & V3D_USE_MANIPULATOR)) return OPERATOR_PASS_THROUGH;
if(!(v3d->twflag & V3D_DRAW_MANIPULATOR)) return OPERATOR_PASS_THROUGH;
/* only no modifier or shift */
if(event->keymodifier != 0 && event->keymodifier != KM_SHIFT) return OPERATOR_PASS_THROUGH;
/* note; otherwise opengl won't work */
view3d_operator_needs_opengl(C);

View File

@@ -115,7 +115,11 @@ void view3d_keymap(wmKeyConfig *keyconf)
/* only for region 3D window */
keymap= WM_keymap_find(keyconf, "View3D", SPACE_VIEW3D, 0);
WM_keymap_verify_item(keymap, "VIEW3D_OT_manipulator", LEFTMOUSE, KM_PRESS, 0, 0); /* manipulator always on left mouse, not on action mouse*/
WM_keymap_verify_item(keymap, "VIEW3D_OT_manipulator", LEFTMOUSE, KM_PRESS, KM_ANY, 0);
/*
* Doesn't work with KM_SHIFT, have to use KM_ANY and filter in invoke
* */
// WM_keymap_verify_item(keymap, "VIEW3D_OT_manipulator", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
WM_keymap_verify_item(keymap, "VIEW3D_OT_cursor3d", ACTIONMOUSE, KM_PRESS, 0, 0);