diff options
author | Mike Erwin <significant.bit@gmail.com> | 2011-06-16 23:45:38 +0400 |
---|---|---|
committer | Mike Erwin <significant.bit@gmail.com> | 2011-06-16 23:45:38 +0400 |
commit | 18b5dac5cad91abf4787d7fd7a06029a02b6609d (patch) | |
tree | e6c7d58ed78c5e21f15461b9871a7db1671ec57f /source | |
parent | d7ef491845460ab2cf839c096e43672beec11944 (diff) |
Standard views (front, top, etc.) work from buttons on SpaceExplorer and SpacePilotPro. Linux can now determine which NDOF device is plugged in.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_ops.c | 8 | ||||
-rw-r--r-- | source/blender/windowmanager/wm_event_types.h | 58 |
2 files changed, 47 insertions, 19 deletions
diff --git a/source/blender/editors/space_view3d/view3d_ops.c b/source/blender/editors/space_view3d/view3d_ops.c index 3e99c6992d1..2dd560a6408 100644 --- a/source/blender/editors/space_view3d/view3d_ops.c +++ b/source/blender/editors/space_view3d/view3d_ops.c @@ -163,8 +163,14 @@ void view3d_keymap(wmKeyConfig *keyconf) RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_all", CKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "center", 1); /* 3D mouse */ - WM_keymap_add_item(keymap, "VIEW3D_OT_view_selected", NDOF_BUTTON1, KM_PRESS, 0, 0); WM_keymap_add_item(keymap, "VIEW3D_OT_ndof", NDOF_MOTION, 0, 0, 0); + WM_keymap_add_item(keymap, "VIEW3D_OT_view_selected", NDOF_BUTTON_FIT, KM_PRESS, 0, 0); + RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_FRONT, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_FRONT); + RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_BACK, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_BACK); + RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_LEFT, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_LEFT); + RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_RIGHT, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_RIGHT); + RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_TOP, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_TOP); + RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_BOTTOM, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_BOTTOM); /* numpad view hotkeys*/ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD0, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_CAMERA); diff --git a/source/blender/windowmanager/wm_event_types.h b/source/blender/windowmanager/wm_event_types.h index 748f5018e1a..ed500ccd5c5 100644 --- a/source/blender/windowmanager/wm_event_types.h +++ b/source/blender/windowmanager/wm_event_types.h @@ -79,25 +79,47 @@ #define INBETWEEN_MOUSEMOVE 17 /* NDOF (from SpaceNavigator & friends) */ -#define NDOF_MOTION 0x12 +#define NDOF_MOTION 0x12 // keep in sync with GHOST_NDOFManager.h enum { - NDOF_BUTTON_NONE = NDOF_MOTION, /* never sent, used internally */ - NDOF_BUTTON1, - NDOF_BUTTON2/*, the following buttons will be supported soon... - NDOF_BUTTON3, and possibly get meaningful names - NDOF_BUTTON4, - NDOF_BUTTON5, - NDOF_BUTTON6, - NDOF_BUTTON7, - NDOF_BUTTON8, - NDOF_BUTTON9, - NDOF_BUTTON10, - NDOF_BUTTON11, - NDOF_BUTTON12, - NDOF_BUTTON13, - NDOF_BUTTON14, - NDOF_BUTTON15, - NDOF_BUTTON16*/ + // used internally, never sent + NDOF_BUTTON_NONE = NDOF_MOTION, + // these two are available from any 3Dconnexion device + NDOF_BUTTON_MENU, + NDOF_BUTTON_FIT, + // standard views + NDOF_BUTTON_TOP, + NDOF_BUTTON_BOTTOM, + NDOF_BUTTON_LEFT, + NDOF_BUTTON_RIGHT, + NDOF_BUTTON_FRONT, + NDOF_BUTTON_BACK, + // more views + NDOF_BUTTON_ISO1, + NDOF_BUTTON_ISO2, + // 90 degree rotations + NDOF_BUTTON_ROLL_CW, + NDOF_BUTTON_ROLL_CCW, + NDOF_BUTTON_SPIN_CW, + NDOF_BUTTON_SPIN_CCW, + NDOF_BUTTON_TILT_CW, + NDOF_BUTTON_TILT_CCW, + // device control + NDOF_BUTTON_ROTATE, + NDOF_BUTTON_PANZOOM, + NDOF_BUTTON_DOMINANT, + NDOF_BUTTON_PLUS, + NDOF_BUTTON_MINUS, + // general-purpose buttons + NDOF_BUTTON_1, + NDOF_BUTTON_2, + NDOF_BUTTON_3, + NDOF_BUTTON_4, + NDOF_BUTTON_5, + NDOF_BUTTON_6, + NDOF_BUTTON_7, + NDOF_BUTTON_8, + NDOF_BUTTON_9, + NDOF_BUTTON_10, }; |