Blender V4.3
WM_keymap.hh File Reference
#include <optional>
#include <string>
#include "BLI_utildefines.h"
#include "DNA_windowmanager_types.h"
#include "WM_types.hh"

Go to the source code of this file.

Classes

struct  KeyMapItem_Params
 

Functions

void WM_keyconfig_init (bContext *C)
 
void WM_keyconfig_reload (bContext *C)
 
wmKeyConfigWM_keyconfig_new (wmWindowManager *wm, const char *idname, bool user_defined)
 
wmKeyConfigWM_keyconfig_ensure (wmWindowManager *wm, const char *idname, bool user_defined)
 
void WM_keyconfig_remove (wmWindowManager *wm, wmKeyConfig *keyconf)
 
void WM_keyconfig_clear (wmKeyConfig *keyconf)
 
void WM_keyconfig_free (wmKeyConfig *keyconf)
 
void WM_keyconfig_set_active (wmWindowManager *wm, const char *idname)
 
void WM_keyconfig_update_ex (wmWindowManager *wm, bool keep_properties)
 
void WM_keyconfig_update (wmWindowManager *wm)
 
void WM_keyconfig_update_tag (wmKeyMap *keymap, wmKeyMapItem *kmi)
 
void WM_keyconfig_update_operatortype ()
 
void WM_keyconfig_update_suppress_begin ()
 
void WM_keyconfig_update_suppress_end ()
 
void WM_keyconfig_update_postpone_begin ()
 
void WM_keyconfig_update_postpone_end ()
 
void WM_keymap_clear (wmKeyMap *keymap)
 
wmKeyMapItemWM_keymap_add_item (wmKeyMap *keymap, const char *idname, const KeyMapItem_Params *params)
 
wmKeyMapItemWM_keymap_add_item_copy (wmKeyMap *keymap, wmKeyMapItem *kmi_src)
 
void WM_keymap_remove_item (wmKeyMap *keymap, wmKeyMapItem *kmi)
 
std::optional< std::string > WM_keymap_item_to_string (const wmKeyMapItem *kmi, bool compact)
 
wmKeyMapWM_keymap_list_find (ListBase *lb, const char *idname, int spaceid, int regionid)
 
wmKeyMapWM_keymap_list_find_spaceid_or_empty (ListBase *lb, const char *idname, int spaceid, int regionid)
 
wmKeyMapWM_keymap_ensure (wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
 
wmKeyMapWM_keymap_find_all (wmWindowManager *wm, const char *idname, int spaceid, int regionid)
 
wmKeyMapWM_keymap_find_all_spaceid_or_empty (wmWindowManager *wm, const char *idname, int spaceid, int regionid)
 
wmKeyMapWM_keymap_active (const wmWindowManager *wm, wmKeyMap *keymap)
 
void WM_keymap_remove (wmKeyConfig *keyconf, wmKeyMap *keymap)
 
bool WM_keymap_poll (bContext *C, wmKeyMap *keymap)
 
wmKeyMapItemWM_keymap_item_find_id (wmKeyMap *keymap, int id)
 
bool WM_keymap_item_compare (const wmKeyMapItem *k1, const wmKeyMapItem *k2)
 
wmKeyMapItemWM_keymap_add_menu (wmKeyMap *keymap, const char *idname, const KeyMapItem_Params *params)
 
wmKeyMapItemWM_keymap_add_menu_pie (wmKeyMap *keymap, const char *idname, const KeyMapItem_Params *params)
 
wmKeyMapItemWM_keymap_add_panel (wmKeyMap *keymap, const char *idname, const KeyMapItem_Params *params)
 
wmKeyMapItemWM_keymap_add_tool (wmKeyMap *keymap, const char *idname, const KeyMapItem_Params *params)
 
wmKeyMapWM_keymap_guess_from_context (const bContext *C)
 
wmKeyMapWM_keymap_guess_opname (const bContext *C, const char *opname)
 
bool WM_keymap_uses_event_modifier (const wmKeyMap *keymap, int event_modifier)
 
void WM_keymap_fix_linking ()
 
std::optional< std::string > WM_modalkeymap_items_to_string (const wmKeyMap *km, int propvalue, bool compact)
 
std::optional< std::string > WM_modalkeymap_operator_items_to_string (wmOperatorType *ot, int propvalue, bool compact)
 
wmKeyMapWM_modalkeymap_ensure (wmKeyConfig *keyconf, const char *idname, const EnumPropertyItem *items)
 
wmKeyMapWM_modalkeymap_find (wmKeyConfig *keyconf, const char *idname)
 
wmKeyMapItemWM_modalkeymap_add_item (wmKeyMap *km, const KeyMapItem_Params *params, int value)
 
wmKeyMapItemWM_modalkeymap_add_item_str (wmKeyMap *km, const KeyMapItem_Params *params, const char *value)
 
const wmKeyMapItemWM_modalkeymap_find_propvalue (const wmKeyMap *km, int propvalue)
 
void WM_modalkeymap_assign (wmKeyMap *km, const char *opname)
 
void WM_keymap_restore_to_default (wmKeyMap *keymap, wmWindowManager *wm)
 
void WM_keymap_item_properties_reset (wmKeyMapItem *kmi, IDProperty *properties)
 
void WM_keymap_item_restore_to_default (wmWindowManager *wm, wmKeyMap *keymap, wmKeyMapItem *kmi)
 
int WM_keymap_item_map_type_get (const wmKeyMapItem *kmi)
 
const char * WM_key_event_string (short type, bool compact)
 
std::optional< std::string > WM_keymap_item_raw_to_string (short shift, short ctrl, short alt, short oskey, short keymodifier, short val, short type, bool compact)
 
wmKeyMapItemWM_key_event_operator (const bContext *C, const char *opname, wmOperatorCallContext opcontext, IDProperty *properties, short include_mask, short exclude_mask, wmKeyMap **r_keymap)
 
std::optional< std::string > WM_key_event_operator_string (const bContext *C, const char *opname, wmOperatorCallContext opcontext, IDProperty *properties, bool is_strict)
 
wmKeyMapItemWM_key_event_operator_from_keymap (wmKeyMap *keymap, const char *opname, IDProperty *properties, short include_mask, short exclude_mask)
 
const char * WM_bool_as_string (bool test)
 

Function Documentation

◆ WM_bool_as_string()

const char * WM_bool_as_string ( bool test)

◆ WM_key_event_operator()

wmKeyMapItem * WM_key_event_operator ( const bContext * C,
const char * opname,
wmOperatorCallContext opcontext,
IDProperty * properties,
short include_mask,
short exclude_mask,
wmKeyMap ** r_keymap )
Parameters
include_mask,exclude_maskEvent types to include/exclude when looking up keys (eEventType_Mask).

Definition at line 1663 of file wm_keymap.cc.

References EVT_TYPE_MASK_ALL, kmi_filter_is_visible(), kmi_filter_is_visible_type_mask(), params, and wm_keymap_item_find().

Referenced by menu_change_shortcut(), remove_shortcut_func(), and ui_popup_context_menu_for_button().

◆ WM_key_event_operator_from_keymap()

wmKeyMapItem * WM_key_event_operator_from_keymap ( wmKeyMap * keymap,
const char * opname,
IDProperty * properties,
short include_mask,
short exclude_mask )

◆ WM_key_event_operator_string()

◆ WM_key_event_string()

◆ WM_keyconfig_clear()

void WM_keyconfig_clear ( wmKeyConfig * keyconf)

◆ WM_keyconfig_ensure()

◆ WM_keyconfig_free()

void WM_keyconfig_free ( wmKeyConfig * keyconf)

Definition at line 360 of file wm_keymap.cc.

References MEM_freeN(), and WM_keyconfig_clear().

Referenced by wm_close_and_free(), and WM_keyconfig_remove().

◆ WM_keyconfig_init()

◆ WM_keyconfig_new()

wmKeyConfig * WM_keyconfig_new ( wmWindowManager * wm,
const char * idname,
bool user_defined )

◆ WM_keyconfig_reload()

void WM_keyconfig_reload ( bContext * C)

Definition at line 430 of file wm.cc.

References BPY_run_string_eval(), CTX_py_init_get(), and G.

Referenced by WM_keyconfig_init(), and wm_userpref_update_when_changed().

◆ WM_keyconfig_remove()

◆ WM_keyconfig_set_active()

void WM_keyconfig_set_active ( wmWindowManager * wm,
const char * idname )

◆ WM_keyconfig_update()

◆ WM_keyconfig_update_ex()

◆ WM_keyconfig_update_operatortype()

void WM_keyconfig_update_operatortype ( )

Definition at line 1787 of file wm_keymap.cc.

References wm_keymap_update_flag, and WM_KEYMAP_UPDATE_OPERATORTYPE.

Referenced by WM_operatortype_remove_ptr().

◆ WM_keyconfig_update_postpone_begin()

void WM_keyconfig_update_postpone_begin ( )

Definition at line 1819 of file wm_keymap.cc.

References wm_keymap_update_flag, and WM_KEYMAP_UPDATE_POSTPONE.

Referenced by WM_init().

◆ WM_keyconfig_update_postpone_end()

void WM_keyconfig_update_postpone_end ( )

Definition at line 1824 of file wm_keymap.cc.

References wm_keymap_update_flag.

Referenced by WM_init().

◆ WM_keyconfig_update_suppress_begin()

◆ WM_keyconfig_update_suppress_end()

◆ WM_keyconfig_update_tag()

◆ WM_keymap_active()

◆ WM_keymap_add_item()

◆ WM_keymap_add_item_copy()

wmKeyMapItem * WM_keymap_add_item_copy ( wmKeyMap * keymap,
wmKeyMapItem * kmi_src )

◆ WM_keymap_add_menu()

wmKeyMapItem * WM_keymap_add_menu ( wmKeyMap * keymap,
const char * idname,
const KeyMapItem_Params * params )

Menu wrapper for WM_keymap_add_item.

Definition at line 34 of file wm_keymap_utils.cc.

References params, wmKeyMapItem::ptr, RNA_string_set(), and WM_keymap_add_item().

◆ WM_keymap_add_menu_pie()

wmKeyMapItem * WM_keymap_add_menu_pie ( wmKeyMap * keymap,
const char * idname,
const KeyMapItem_Params * params )

Pie-menu wrapper for WM_keymap_add_item.

Definition at line 43 of file wm_keymap_utils.cc.

References params, wmKeyMapItem::ptr, RNA_string_set(), and WM_keymap_add_item().

◆ WM_keymap_add_panel()

wmKeyMapItem * WM_keymap_add_panel ( wmKeyMap * keymap,
const char * idname,
const KeyMapItem_Params * params )

Panel (popover) wrapper for WM_keymap_add_item.

Definition at line 52 of file wm_keymap_utils.cc.

References params, wmKeyMapItem::ptr, RNA_boolean_set(), RNA_string_set(), and WM_keymap_add_item().

◆ WM_keymap_add_tool()

wmKeyMapItem * WM_keymap_add_tool ( wmKeyMap * keymap,
const char * idname,
const KeyMapItem_Params * params )

Tool wrapper for WM_keymap_add_item.

Definition at line 63 of file wm_keymap_utils.cc.

References params, wmKeyMapItem::ptr, RNA_string_set(), and WM_keymap_add_item().

◆ WM_keymap_clear()

◆ WM_keymap_ensure()

wmKeyMap * WM_keymap_ensure ( wmKeyConfig * keyconf,
const char * idname,
int spaceid,
int regionid )

Definition at line 897 of file wm_keymap.cc.

References BLI_addtail(), wmKeyConfig::keymaps, WM_keyconfig_update_tag(), WM_keymap_list_find(), and wm_keymap_new().

Referenced by action_buttons_area_init(), action_channel_region_init(), action_keymap(), action_main_region_init(), buttons_keymap(), buttons_main_region_init(), clip_channels_region_init(), clip_keymap(), clip_main_region_init(), clip_preview_region_init(), clip_properties_region_init(), clip_tools_region_init(), console_keymap(), console_main_region_init(), ed_default_handlers(), ED_keymap_anim(), ED_keymap_animchannels(), ED_keymap_armature(), ED_keymap_curve(), ED_keymap_gpencil_legacy(), ED_keymap_lattice(), ED_keymap_marker(), ED_keymap_mask(), ED_keymap_mesh(), ED_keymap_metaball(), ED_keymap_paint(), ED_keymap_screen(), ED_keymap_ui(), ED_keymap_uvedit(), ED_keymap_view2d(), ED_region_panels_init(), file_execution_region_init(), file_header_region_init(), file_keymap(), file_main_region_init(), file_tools_region_init(), file_ui_region_init(), graph_buttons_region_init(), graph_channel_region_init(), graph_main_region_init(), graphedit_keymap(), image_asset_shelf_region_init(), image_buttons_region_init(), image_keymap(), image_main_region_init(), image_tools_region_init(), info_keymap(), info_main_region_init(), blender::ed::curves::keymap_curves(), blender::ed::greasepencil::keymap_grease_pencil_brush_stroke(), blender::ed::greasepencil::keymap_grease_pencil_edit_mode(), blender::ed::greasepencil::keymap_grease_pencil_fill_tool(), blender::ed::greasepencil::keymap_grease_pencil_paint_mode(), blender::ed::greasepencil::keymap_grease_pencil_sculpt_mode(), blender::ed::greasepencil::keymap_grease_pencil_selection(), blender::ed::greasepencil::keymap_grease_pencil_vertex_paint_mode(), blender::ed::greasepencil::keymap_grease_pencil_weight_paint_mode(), blender::ed::object::keymap_object(), keymap_particle(), nla_buttons_region_init(), nla_keymap(), nla_main_region_init(), nla_track_region_init(), blender::ed::space_node::node_buttons_region_init(), blender::ed::space_node::node_keymap(), blender::ed::space_node::node_main_region_init(), blender::ed::space_node::node_toolbar_region_init(), blender::ed::outliner::outliner_keymap(), blender::ed::outliner::outliner_main_region_init(), blender::ed::asset::shelf::region_init(), script_main_region_init(), sequencer_buttons_region_init(), sequencer_channel_region_init(), sequencer_keymap(), sequencer_main_region_init(), sequencer_preview_region_init(), sequencer_tools_region_init(), blender::ed::spreadsheet::spreadsheet_keymap(), blender::ed::spreadsheet::spreadsheet_main_region_init(), blender::ed::spreadsheet::spreadsheet_sidebar_init(), text_keymap(), text_main_region_init(), text_properties_region_init(), tool_generic_create_gizmo(), topbar_main_region_init(), view3d_asset_shelf_region_init(), view3d_buttons_region_init(), view3d_header_region_init(), view3d_keymap(), view3d_main_region_init(), view3d_tools_region_init(), WM_gizmo_keymap_generic_click_drag_with_keyconfig(), WM_gizmo_keymap_generic_drag_with_keyconfig(), WM_gizmo_keymap_generic_maybe_drag_with_keyconfig(), WM_gizmo_keymap_generic_select_with_keyconfig(), WM_gizmo_keymap_generic_with_keyconfig(), WM_gizmogroup_keymap_template_select_ex(), WM_modalkeymap_ensure(), wm_window_ghostwindow_ensure(), and wm_window_keymap().

◆ WM_keymap_find_all()

wmKeyMap * WM_keymap_find_all ( wmWindowManager * wm,
const char * idname,
int spaceid,
int regionid )

◆ WM_keymap_find_all_spaceid_or_empty()

wmKeyMap * WM_keymap_find_all_spaceid_or_empty ( wmWindowManager * wm,
const char * idname,
int spaceid,
int regionid )

◆ WM_keymap_fix_linking()

void WM_keymap_fix_linking ( )

Definition at line 549 of file wm_keymap_utils.cc.

Referenced by wm_window_keymap().

◆ WM_keymap_guess_from_context()

◆ WM_keymap_guess_opname()

◆ WM_keymap_item_compare()

◆ WM_keymap_item_find_id()

wmKeyMapItem * WM_keymap_item_find_id ( wmKeyMap * keymap,
int id )

◆ WM_keymap_item_map_type_get()

◆ WM_keymap_item_properties_reset()

void WM_keymap_item_properties_reset ( wmKeyMapItem * kmi,
IDProperty * properties )

Properties can be NULL, otherwise the arg passed is used and ownership is given to the kmi.

Definition at line 204 of file wm_keymap.cc.

References IDP_FreeProperty(), LIKELY, wmKeyMapItem::properties, wmKeyMapItem::ptr, wm_keymap_item_properties_set(), and WM_operator_properties_free().

Referenced by menu_add_shortcut(), and WM_keymap_item_restore_to_default().

◆ WM_keymap_item_raw_to_string()

◆ WM_keymap_item_restore_to_default()

◆ WM_keymap_item_to_string()

◆ WM_keymap_list_find()

◆ WM_keymap_list_find_spaceid_or_empty()

wmKeyMap * WM_keymap_list_find_spaceid_or_empty ( ListBase * lb,
const char * idname,
int spaceid,
int regionid )

◆ WM_keymap_poll()

◆ WM_keymap_remove()

void WM_keymap_remove ( wmKeyConfig * keyconf,
wmKeyMap * keymap )

◆ WM_keymap_remove_item()

◆ WM_keymap_restore_to_default()

◆ WM_keymap_uses_event_modifier()

bool WM_keymap_uses_event_modifier ( const wmKeyMap * keymap,
int event_modifier )

◆ WM_modalkeymap_add_item()

◆ WM_modalkeymap_add_item_str()

wmKeyMapItem * WM_modalkeymap_add_item_str ( wmKeyMap * km,
const KeyMapItem_Params * params,
const char * value )

◆ WM_modalkeymap_assign()

◆ WM_modalkeymap_ensure()

◆ WM_modalkeymap_find()

◆ WM_modalkeymap_find_propvalue()

const wmKeyMapItem * WM_modalkeymap_find_propvalue ( const wmKeyMap * km,
int propvalue )

◆ WM_modalkeymap_items_to_string()

std::optional< std::string > WM_modalkeymap_items_to_string ( const wmKeyMap * km,
int propvalue,
bool compact )

◆ WM_modalkeymap_operator_items_to_string()

std::optional< std::string > WM_modalkeymap_operator_items_to_string ( wmOperatorType * ot,
int propvalue,
bool compact )