Changeset View
Changeset View
Standalone View
Standalone View
source/blender/windowmanager/intern/wm_operators.c
| Show First 20 Lines • Show All 3,208 Lines • ▼ Show 20 Lines | static void gesture_circle_modal_keymap(wmKeyConfig *keyconf) | ||||
| /* WARNING - name is incorrect, use for non-3d views */ | /* WARNING - name is incorrect, use for non-3d views */ | ||||
| wmKeyMap *keymap = WM_modalkeymap_get(keyconf, "View3D Gesture Circle"); | wmKeyMap *keymap = WM_modalkeymap_get(keyconf, "View3D Gesture Circle"); | ||||
| /* 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) return; | if (keymap && keymap->modal_items) return; | ||||
| keymap = WM_modalkeymap_add(keyconf, "View3D Gesture Circle", modal_items); | keymap = WM_modalkeymap_add(keyconf, "View3D Gesture Circle", modal_items); | ||||
| /* items for modal map */ | |||||
| WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, GESTURE_MODAL_CANCEL); | |||||
| WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_ANY, KM_ANY, 0, GESTURE_MODAL_CANCEL); | |||||
| WM_modalkeymap_add_item(keymap, RETKEY, KM_PRESS, KM_ANY, 0, GESTURE_MODAL_CONFIRM); | |||||
| WM_modalkeymap_add_item(keymap, PADENTER, KM_PRESS, 0, 0, GESTURE_MODAL_CONFIRM); | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, 0, 0, GESTURE_MODAL_SELECT); | |||||
| /* Note: use 'KM_ANY' for release, so the circle exits on any mouse release, | |||||
| * this is needed when circle select is activated as a tool. */ | |||||
| /* left mouse shift for deselect too */ | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, KM_SHIFT, 0, GESTURE_MODAL_DESELECT); | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_RELEASE, KM_ANY, 0, GESTURE_MODAL_NOP); | |||||
| WM_modalkeymap_add_item(keymap, MIDDLEMOUSE, KM_PRESS, 0, 0, GESTURE_MODAL_DESELECT); // default 2.4x | |||||
| WM_modalkeymap_add_item(keymap, MIDDLEMOUSE, KM_RELEASE, KM_ANY, 0, GESTURE_MODAL_NOP); // default 2.4x | |||||
| WM_modalkeymap_add_item(keymap, WHEELUPMOUSE, KM_PRESS, 0, 0, GESTURE_MODAL_CIRCLE_SUB); | |||||
| WM_modalkeymap_add_item(keymap, PADMINUS, KM_PRESS, 0, 0, GESTURE_MODAL_CIRCLE_SUB); | |||||
| WM_modalkeymap_add_item(keymap, WHEELDOWNMOUSE, KM_PRESS, 0, 0, GESTURE_MODAL_CIRCLE_ADD); | |||||
| WM_modalkeymap_add_item(keymap, PADPLUSKEY, KM_PRESS, 0, 0, GESTURE_MODAL_CIRCLE_ADD); | |||||
| WM_modalkeymap_add_item(keymap, MOUSEPAN, 0, 0, 0, GESTURE_MODAL_CIRCLE_SIZE); | |||||
| /* assign map to operators */ | /* assign map to operators */ | ||||
| WM_modalkeymap_assign(keymap, "VIEW3D_OT_select_circle"); | WM_modalkeymap_assign(keymap, "VIEW3D_OT_select_circle"); | ||||
| WM_modalkeymap_assign(keymap, "UV_OT_select_circle"); | WM_modalkeymap_assign(keymap, "UV_OT_select_circle"); | ||||
| WM_modalkeymap_assign(keymap, "CLIP_OT_select_circle"); | WM_modalkeymap_assign(keymap, "CLIP_OT_select_circle"); | ||||
| WM_modalkeymap_assign(keymap, "MASK_OT_select_circle"); | WM_modalkeymap_assign(keymap, "MASK_OT_select_circle"); | ||||
| WM_modalkeymap_assign(keymap, "NODE_OT_select_circle"); | WM_modalkeymap_assign(keymap, "NODE_OT_select_circle"); | ||||
| WM_modalkeymap_assign(keymap, "GPENCIL_OT_select_circle"); | WM_modalkeymap_assign(keymap, "GPENCIL_OT_select_circle"); | ||||
| WM_modalkeymap_assign(keymap, "GRAPH_OT_select_circle"); | WM_modalkeymap_assign(keymap, "GRAPH_OT_select_circle"); | ||||
| WM_modalkeymap_assign(keymap, "ACTION_OT_select_circle"); | WM_modalkeymap_assign(keymap, "ACTION_OT_select_circle"); | ||||
| } | } | ||||
| /* straight line modal operators */ | /* straight line modal operators */ | ||||
| static void gesture_straightline_modal_keymap(wmKeyConfig *keyconf) | static void gesture_straightline_modal_keymap(wmKeyConfig *keyconf) | ||||
| { | { | ||||
| static const EnumPropertyItem modal_items[] = { | static const EnumPropertyItem modal_items[] = { | ||||
| {GESTURE_MODAL_CANCEL, "CANCEL", 0, "Cancel", ""}, | {GESTURE_MODAL_CANCEL, "CANCEL", 0, "Cancel", ""}, | ||||
| {GESTURE_MODAL_SELECT, "SELECT", 0, "Select", ""}, | {GESTURE_MODAL_SELECT, "SELECT", 0, "Select", ""}, | ||||
| {GESTURE_MODAL_BEGIN, "BEGIN", 0, "Begin", ""}, | {GESTURE_MODAL_BEGIN, "BEGIN", 0, "Begin", ""}, | ||||
| {0, NULL, 0, NULL, NULL} | {0, NULL, 0, NULL, NULL} | ||||
| }; | }; | ||||
| wmKeyMap *keymap = WM_modalkeymap_get(keyconf, "Gesture Straight Line"); | wmKeyMap *keymap = WM_modalkeymap_get(keyconf, "Gesture Straight Line"); | ||||
| /* 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) return; | if (keymap && keymap->modal_items) return; | ||||
| keymap = WM_modalkeymap_add(keyconf, "Gesture Straight Line", modal_items); | keymap = WM_modalkeymap_add(keyconf, "Gesture Straight Line", modal_items); | ||||
| /* items for modal map */ | |||||
| WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, GESTURE_MODAL_CANCEL); | |||||
| WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_ANY, KM_ANY, 0, GESTURE_MODAL_CANCEL); | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, 0, 0, GESTURE_MODAL_BEGIN); | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_RELEASE, KM_ANY, 0, GESTURE_MODAL_SELECT); | |||||
| /* assign map to operators */ | /* assign map to operators */ | ||||
| WM_modalkeymap_assign(keymap, "IMAGE_OT_sample_line"); | WM_modalkeymap_assign(keymap, "IMAGE_OT_sample_line"); | ||||
| WM_modalkeymap_assign(keymap, "PAINT_OT_weight_gradient"); | WM_modalkeymap_assign(keymap, "PAINT_OT_weight_gradient"); | ||||
| WM_modalkeymap_assign(keymap, "MESH_OT_bisect"); | WM_modalkeymap_assign(keymap, "MESH_OT_bisect"); | ||||
| } | } | ||||
| /* box_select-like modal operators */ | /* box_select-like modal operators */ | ||||
| Show All 9 Lines | static void gesture_box_modal_keymap(wmKeyConfig *keyconf) | ||||
| wmKeyMap *keymap = WM_modalkeymap_get(keyconf, "Gesture Box"); | wmKeyMap *keymap = WM_modalkeymap_get(keyconf, "Gesture Box"); | ||||
| /* 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) return; | if (keymap && keymap->modal_items) return; | ||||
| keymap = WM_modalkeymap_add(keyconf, "Gesture Box", modal_items); | keymap = WM_modalkeymap_add(keyconf, "Gesture Box", modal_items); | ||||
| /* items for modal map */ | |||||
| WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, GESTURE_MODAL_CANCEL); | |||||
| /* Note: cancel only on press otherwise you cannot map this to RMB-gesture */ | |||||
| WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_PRESS, KM_ANY, 0, GESTURE_MODAL_CANCEL); | |||||
| WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_RELEASE, KM_ANY, 0, GESTURE_MODAL_SELECT); | |||||
| /* allow shift leftclick for deselect too */ | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, KM_SHIFT, 0, GESTURE_MODAL_BEGIN); | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_RELEASE, KM_SHIFT, 0, GESTURE_MODAL_DESELECT); | |||||
| /* any unhandled leftclick release handles select */ | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, 0, 0, GESTURE_MODAL_BEGIN); | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_RELEASE, KM_ANY, 0, GESTURE_MODAL_SELECT); | |||||
| WM_modalkeymap_add_item(keymap, MIDDLEMOUSE, KM_PRESS, 0, 0, GESTURE_MODAL_BEGIN); | |||||
| WM_modalkeymap_add_item(keymap, MIDDLEMOUSE, KM_RELEASE, 0, 0, GESTURE_MODAL_DESELECT); | |||||
| /* assign map to operators */ | /* assign map to operators */ | ||||
| WM_modalkeymap_assign(keymap, "ACTION_OT_select_box"); | WM_modalkeymap_assign(keymap, "ACTION_OT_select_box"); | ||||
| WM_modalkeymap_assign(keymap, "ANIM_OT_channels_select_box"); | WM_modalkeymap_assign(keymap, "ANIM_OT_channels_select_box"); | ||||
| WM_modalkeymap_assign(keymap, "ANIM_OT_previewrange_set"); | WM_modalkeymap_assign(keymap, "ANIM_OT_previewrange_set"); | ||||
| WM_modalkeymap_assign(keymap, "INFO_OT_select_box"); | WM_modalkeymap_assign(keymap, "INFO_OT_select_box"); | ||||
| WM_modalkeymap_assign(keymap, "FILE_OT_select_box"); | WM_modalkeymap_assign(keymap, "FILE_OT_select_box"); | ||||
| WM_modalkeymap_assign(keymap, "GRAPH_OT_select_box"); | WM_modalkeymap_assign(keymap, "GRAPH_OT_select_box"); | ||||
| WM_modalkeymap_assign(keymap, "MARKER_OT_select_box"); | WM_modalkeymap_assign(keymap, "MARKER_OT_select_box"); | ||||
| Show All 32 Lines | static void gesture_zoom_border_modal_keymap(wmKeyConfig *keyconf) | ||||
| wmKeyMap *keymap = WM_modalkeymap_get(keyconf, "Gesture Zoom Border"); | wmKeyMap *keymap = WM_modalkeymap_get(keyconf, "Gesture Zoom Border"); | ||||
| /* 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) return; | if (keymap && keymap->modal_items) return; | ||||
| keymap = WM_modalkeymap_add(keyconf, "Gesture Zoom Border", modal_items); | keymap = WM_modalkeymap_add(keyconf, "Gesture Zoom Border", modal_items); | ||||
| /* items for modal map */ | |||||
| WM_modalkeymap_add_item(keymap, ESCKEY, KM_PRESS, KM_ANY, 0, GESTURE_MODAL_CANCEL); | |||||
| WM_modalkeymap_add_item(keymap, RIGHTMOUSE, KM_ANY, KM_ANY, 0, GESTURE_MODAL_CANCEL); | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_PRESS, 0, 0, GESTURE_MODAL_BEGIN); | |||||
| WM_modalkeymap_add_item(keymap, LEFTMOUSE, KM_RELEASE, 0, 0, GESTURE_MODAL_IN); | |||||
| WM_modalkeymap_add_item(keymap, MIDDLEMOUSE, KM_PRESS, 0, 0, GESTURE_MODAL_BEGIN); | |||||
| WM_modalkeymap_add_item(keymap, MIDDLEMOUSE, KM_RELEASE, 0, 0, GESTURE_MODAL_OUT); | |||||
| /* assign map to operators */ | /* assign map to operators */ | ||||
| WM_modalkeymap_assign(keymap, "VIEW2D_OT_zoom_border"); | WM_modalkeymap_assign(keymap, "VIEW2D_OT_zoom_border"); | ||||
| WM_modalkeymap_assign(keymap, "VIEW3D_OT_zoom_border"); | WM_modalkeymap_assign(keymap, "VIEW3D_OT_zoom_border"); | ||||
| WM_modalkeymap_assign(keymap, "IMAGE_OT_view_zoom_border"); | WM_modalkeymap_assign(keymap, "IMAGE_OT_view_zoom_border"); | ||||
| } | } | ||||
| /* default keymap for windows and screens, only call once per WM */ | /* default keymap for windows and screens, only call once per WM */ | ||||
| void wm_window_keymap(wmKeyConfig *keyconf) | void wm_window_keymap(wmKeyConfig *keyconf) | ||||
| { | { | ||||
| wmKeyMap *keymap = WM_keymap_ensure(keyconf, "Window", 0, 0); | WM_keymap_ensure(keyconf, "Window", 0, 0); | ||||
| wmKeyMapItem *kmi; | |||||
| /* note, this doesn't replace existing keymap items */ | |||||
| #ifdef USE_WM_KEYMAP_27X | |||||
| WM_keymap_verify_item(keymap, "WM_OT_window_new", WKEY, KM_PRESS, KM_CTRL | KM_ALT, 0); | |||||
| #endif | |||||
| #ifdef __APPLE__ | |||||
| WM_keymap_add_item(keymap, "WM_OT_read_homefile", NKEY, KM_PRESS, KM_OSKEY, 0); | |||||
| WM_keymap_add_menu(keymap, "TOPBAR_MT_file_open_recent", OKEY, KM_PRESS, KM_SHIFT | KM_OSKEY, 0); | |||||
| WM_keymap_add_item(keymap, "WM_OT_open_mainfile", OKEY, KM_PRESS, KM_OSKEY, 0); | |||||
| WM_keymap_add_item(keymap, "WM_OT_save_mainfile", SKEY, KM_PRESS, KM_OSKEY, 0); | |||||
| WM_keymap_add_item(keymap, "WM_OT_save_as_mainfile", SKEY, KM_PRESS, KM_SHIFT | KM_OSKEY, 0); | |||||
| WM_keymap_add_item(keymap, "WM_OT_quit_blender", QKEY, KM_PRESS, KM_OSKEY, 0); | |||||
| #endif | |||||
| WM_keymap_add_item(keymap, "WM_OT_read_homefile", NKEY, KM_PRESS, KM_CTRL, 0); | |||||
| #ifdef USE_WM_KEYMAP_27X | |||||
| WM_keymap_add_item(keymap, "WM_OT_save_homefile", UKEY, KM_PRESS, KM_CTRL, 0); | |||||
| #endif | |||||
| WM_keymap_add_menu(keymap, "TOPBAR_MT_file_open_recent", OKEY, KM_PRESS, KM_SHIFT | KM_CTRL, 0); | |||||
| WM_keymap_add_item(keymap, "WM_OT_open_mainfile", OKEY, KM_PRESS, KM_CTRL, 0); | |||||
| #ifdef USE_WM_KEYMAP_27X | |||||
| WM_keymap_add_item(keymap, "WM_OT_open_mainfile", F1KEY, KM_PRESS, 0, 0); | |||||
| WM_keymap_add_item(keymap, "WM_OT_link", OKEY, KM_PRESS, KM_CTRL | KM_ALT, 0); | |||||
| WM_keymap_add_item(keymap, "WM_OT_append", F1KEY, KM_PRESS, KM_SHIFT, 0); | |||||
| #endif | |||||
| WM_keymap_add_item(keymap, "WM_OT_save_mainfile", SKEY, KM_PRESS, KM_CTRL, 0); | |||||
| #ifdef USE_WM_KEYMAP_27X | |||||
| WM_keymap_add_item(keymap, "WM_OT_save_mainfile", WKEY, KM_PRESS, KM_CTRL, 0); | |||||
| #endif | |||||
| WM_keymap_add_item(keymap, "WM_OT_save_as_mainfile", SKEY, KM_PRESS, KM_SHIFT | KM_CTRL, 0); | |||||
| #ifdef USE_WM_KEYMAP_27X | |||||
| WM_keymap_add_item(keymap, "WM_OT_save_as_mainfile", F2KEY, KM_PRESS, 0, 0); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_save_as_mainfile", SKEY, KM_PRESS, KM_ALT | KM_CTRL, 0); | |||||
| RNA_boolean_set(kmi->ptr, "copy", true); | |||||
| WM_keymap_verify_item(keymap, "WM_OT_window_fullscreen_toggle", F11KEY, KM_PRESS, KM_ALT, 0); | |||||
| #endif | |||||
| WM_keymap_add_item(keymap, "WM_OT_quit_blender", QKEY, KM_PRESS, KM_CTRL, 0); | |||||
| /* F-Keys are a hassle on some macos systems. */ | |||||
| #ifdef __APPLE__ | |||||
| WM_keymap_add_item(keymap, "WM_OT_search_menu", FKEY, KM_PRESS, KM_OSKEY, 0); | |||||
| #endif | |||||
| #ifdef USE_WM_KEYMAP_27X | |||||
| WM_keymap_add_item(keymap, "WM_OT_doc_view_manual_ui_context", F1KEY, KM_PRESS, KM_ALT, 0); | |||||
| /* debug/testing */ | |||||
| WM_keymap_verify_item(keymap, "WM_OT_redraw_timer", TKEY, KM_PRESS, KM_ALT | KM_CTRL, 0); | |||||
| WM_keymap_verify_item(keymap, "WM_OT_debug_menu", DKEY, KM_PRESS, KM_ALT | KM_CTRL, 0); | |||||
| #else | |||||
| WM_keymap_add_item(keymap, "WM_OT_doc_view_manual_ui_context", F1KEY, KM_PRESS, 0, 0); | |||||
| WM_keymap_add_menu(keymap, "TOPBAR_MT_file_specials", F2KEY, KM_PRESS, 0, 0); | |||||
| WM_keymap_add_item(keymap, "WM_OT_search_menu", F3KEY, KM_PRESS, 0, 0); | |||||
| WM_keymap_add_menu(keymap, "TOPBAR_MT_window_specials", F4KEY, KM_PRESS, 0, 0); | |||||
| #endif | |||||
| /* menus that can be accessed anywhere in blender */ | |||||
| WM_keymap_add_menu(keymap, "SCREEN_MT_user_menu", QKEY, KM_PRESS, 0, 0); | |||||
| #ifdef WITH_INPUT_NDOF | |||||
| WM_keymap_add_menu(keymap, "USERPREF_MT_ndof_settings", NDOF_BUTTON_MENU, KM_PRESS, 0, 0); | |||||
| #endif | |||||
| WM_keymap_add_item(keymap, "WM_OT_toolbar", SPACEKEY, KM_PRESS, 0, 0); | |||||
| /* Space switching */ | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F3KEY, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", "area.type"); | |||||
| RNA_string_set(kmi->ptr, "value", "NODE_EDITOR"); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F4KEY, KM_PRESS, KM_SHIFT, 0); /* new in 2.5x, was data browser */ | |||||
| RNA_string_set(kmi->ptr, "data_path", "area.type"); | |||||
| RNA_string_set(kmi->ptr, "value", "CONSOLE"); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F5KEY, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", "area.type"); | |||||
| RNA_string_set(kmi->ptr, "value", "VIEW_3D"); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F6KEY, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", "area.type"); | |||||
| RNA_string_set(kmi->ptr, "value", "GRAPH_EDITOR"); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F7KEY, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", "area.type"); | |||||
| RNA_string_set(kmi->ptr, "value", "PROPERTIES"); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F8KEY, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", "area.type"); | |||||
| RNA_string_set(kmi->ptr, "value", "SEQUENCE_EDITOR"); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F9KEY, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", "area.type"); | |||||
| RNA_string_set(kmi->ptr, "value", "OUTLINER"); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F10KEY, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", "area.type"); | |||||
| RNA_string_set(kmi->ptr, "value", "IMAGE_EDITOR"); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F11KEY, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", "area.type"); | |||||
| RNA_string_set(kmi->ptr, "value", "TEXT_EDITOR"); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F12KEY, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", "area.type"); | |||||
| RNA_string_set(kmi->ptr, "value", "DOPESHEET_EDITOR"); | |||||
| #ifdef WITH_INPUT_NDOF | |||||
| /* ndof speed */ | |||||
| const char *data_path = "user_preferences.inputs.ndof_sensitivity"; | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_scale_float", NDOF_BUTTON_PLUS, KM_PRESS, 0, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", data_path); | |||||
| RNA_float_set(kmi->ptr, "value", 1.1f); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_scale_float", NDOF_BUTTON_MINUS, KM_PRESS, 0, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", data_path); | |||||
| RNA_float_set(kmi->ptr, "value", 1.0f / 1.1f); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_scale_float", NDOF_BUTTON_PLUS, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", data_path); | |||||
| RNA_float_set(kmi->ptr, "value", 1.5f); | |||||
| kmi = WM_keymap_add_item(keymap, "WM_OT_context_scale_float", NDOF_BUTTON_MINUS, KM_PRESS, KM_SHIFT, 0); | |||||
| RNA_string_set(kmi->ptr, "data_path", data_path); | |||||
| RNA_float_set(kmi->ptr, "value", 1.0f / 1.5f); | |||||
| #endif /* WITH_INPUT_NDOF */ | |||||
| wm_gizmos_keymap(keyconf); | wm_gizmos_keymap(keyconf); | ||||
| gesture_circle_modal_keymap(keyconf); | gesture_circle_modal_keymap(keyconf); | ||||
| gesture_box_modal_keymap(keyconf); | gesture_box_modal_keymap(keyconf); | ||||
| gesture_zoom_border_modal_keymap(keyconf); | gesture_zoom_border_modal_keymap(keyconf); | ||||
| gesture_straightline_modal_keymap(keyconf); | gesture_straightline_modal_keymap(keyconf); | ||||
| WM_keymap_fix_linking(); | |||||
| } | } | ||||
| /** | /** | ||||
| * Filter functions that can be used with rna_id_itemf() below. | * Filter functions that can be used with rna_id_itemf() below. | ||||
| * Should return false if 'id' should be excluded. | * Should return false if 'id' should be excluded. | ||||
| */ | */ | ||||
| static bool rna_id_enum_filter_single(ID *id, void *user_data) | static bool rna_id_enum_filter_single(ID *id, void *user_data) | ||||
| { | { | ||||
| ▲ Show 20 Lines • Show All 93 Lines • Show Last 20 Lines | |||||