Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_view3d/view3d_fly.c
| Show First 20 Lines • Show All 131 Lines • ▼ Show 20 Lines | void fly_modal_keymap(wmKeyConfig *keyconf) | ||||
| wmKeyMap *keymap = WM_modalkeymap_get(keyconf, "View3D Fly Modal"); | wmKeyMap *keymap = WM_modalkeymap_get(keyconf, "View3D Fly Modal"); | ||||
| /* this function is called for each spacetype, only needs to add map once */ | /* this function is called for each spacetype, only needs to add map once */ | ||||
| if (keymap && keymap->modal_items) | if (keymap && keymap->modal_items) | ||||
| return; | return; | ||||
| keymap = WM_modalkeymap_add(keyconf, "View3D Fly Modal", modal_items); | keymap = WM_modalkeymap_add(keyconf, "View3D Fly Modal", modal_items); | ||||
| /* items for modal map */ | |||||
| WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_ANY, KM_ANY, 0, FLY_MODAL_CANCEL); | |||||
| WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, FLY_MODAL_CANCEL); | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_ANY, KM_ANY, 0, FLY_MODAL_CONFIRM); | |||||
| WM_modalkeymap_add_item(keymap, RETKEY, KM_PRESS, KM_ANY, 0, FLY_MODAL_CONFIRM); | |||||
| WM_modalkeymap_add_item(keymap, SPACEKEY, KM_PRESS, KM_ANY, 0, FLY_MODAL_CONFIRM); | |||||
| WM_modalkeymap_add_item(keymap, PADENTER, KM_PRESS, KM_ANY, 0, FLY_MODAL_CONFIRM); | |||||
| WM_modalkeymap_add_item(keymap, PADPLUSKEY, KM_PRESS, KM_ANY, 0, FLY_MODAL_ACCELERATE); | |||||
| WM_modalkeymap_add_item(keymap, PADMINUS, KM_PRESS, KM_ANY, 0, FLY_MODAL_DECELERATE); | |||||
| WM_modalkeymap_add_item(keymap, WHEELUPMOUSE, KM_PRESS, KM_ANY, 0, FLY_MODAL_ACCELERATE); | |||||
| WM_modalkeymap_add_item(keymap, WHEELDOWNMOUSE, KM_PRESS, KM_ANY, 0, FLY_MODAL_DECELERATE); | |||||
| WM_modalkeymap_add_item(keymap, MOUSEPAN, 0, 0, 0, FLY_MODAL_SPEED); | |||||
| WM_modalkeymap_add_item(keymap, MIDDLEMOUSE, KM_PRESS, KM_ANY, 0, FLY_MODAL_PAN_ENABLE); | |||||
| /* XXX - Bug in the event system, middle mouse release doesn't work */ | |||||
| WM_modalkeymap_add_item(keymap, MIDDLEMOUSE, KM_RELEASE, KM_ANY, 0, FLY_MODAL_PAN_DISABLE); | |||||
| /* WASD */ | |||||
| WM_modalkeymap_add_item(keymap, WKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_FORWARD); | |||||
| WM_modalkeymap_add_item(keymap, SKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_BACKWARD); | |||||
| WM_modalkeymap_add_item(keymap, AKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_LEFT); | |||||
| WM_modalkeymap_add_item(keymap, DKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_RIGHT); | |||||
| WM_modalkeymap_add_item(keymap, EKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_UP); | |||||
| WM_modalkeymap_add_item(keymap, QKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_DOWN); | |||||
| /* for legacy reasons, leave R/F working */ | |||||
| WM_modalkeymap_add_item(keymap, RKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_UP); | |||||
| WM_modalkeymap_add_item(keymap, FKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_DOWN); | |||||
| WM_modalkeymap_add_item(keymap, UPARROWKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_FORWARD); | |||||
| WM_modalkeymap_add_item(keymap, DOWNARROWKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_BACKWARD); | |||||
| WM_modalkeymap_add_item(keymap, LEFTARROWKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_LEFT); | |||||
| WM_modalkeymap_add_item(keymap, RIGHTARROWKEY, KM_PRESS, 0, 0, FLY_MODAL_DIR_RIGHT); | |||||
| WM_modalkeymap_add_item(keymap, XKEY, KM_PRESS, 0, 0, FLY_MODAL_AXIS_LOCK_X); | |||||
| WM_modalkeymap_add_item(keymap, ZKEY, KM_PRESS, 0, 0, FLY_MODAL_AXIS_LOCK_Z); | |||||
| WM_modalkeymap_add_item(keymap, LEFTALTKEY, KM_PRESS, KM_ANY, 0, FLY_MODAL_PRECISION_ENABLE); | |||||
| WM_modalkeymap_add_item(keymap, LEFTALTKEY, KM_RELEASE, KM_ANY, 0, FLY_MODAL_PRECISION_DISABLE); | |||||
| /* for legacy reasons, leave shift working */ | |||||
| WM_modalkeymap_add_item(keymap, LEFTSHIFTKEY, KM_PRESS, KM_ANY, 0, FLY_MODAL_PRECISION_ENABLE); | |||||
| WM_modalkeymap_add_item(keymap, LEFTSHIFTKEY, KM_RELEASE, KM_ANY, 0, FLY_MODAL_PRECISION_DISABLE); | |||||
| WM_modalkeymap_add_item(keymap, LEFTCTRLKEY, KM_PRESS, KM_ANY, 0, FLY_MODAL_FREELOOK_ENABLE); | |||||
| WM_modalkeymap_add_item(keymap, LEFTCTRLKEY, KM_RELEASE, KM_ANY, 0, FLY_MODAL_FREELOOK_DISABLE); | |||||
| /* assign map to operators */ | /* assign map to operators */ | ||||
| WM_modalkeymap_assign(keymap, "VIEW3D_OT_fly"); | WM_modalkeymap_assign(keymap, "VIEW3D_OT_fly"); | ||||
| } | } | ||||
| typedef struct FlyInfo { | typedef struct FlyInfo { | ||||
| /* context stuff */ | /* context stuff */ | ||||
| RegionView3D *rv3d; | RegionView3D *rv3d; | ||||
| View3D *v3d; | View3D *v3d; | ||||
| ▲ Show 20 Lines • Show All 909 Lines • Show Last 20 Lines | |||||