Blender  V3.3
Classes | Typedefs | Functions
WM_keymap.h File Reference
#include "BLI_utildefines.h"
#include "DNA_windowmanager_types.h"
#include "WM_types.h"

Go to the source code of this file.

Classes

struct  KeyMapItem_Params
 

Typedefs

typedef struct KeyMapItem_Params KeyMapItem_Params
 

Functions

void WM_keyconfig_init (struct bContext *C)
 
void WM_keyconfig_reload (struct bContext *C)
 
wmKeyConfigWM_keyconfig_new (struct wmWindowManager *wm, const char *idname, bool user_defined)
 
wmKeyConfigWM_keyconfig_new_user (struct wmWindowManager *wm, const char *idname)
 
bool WM_keyconfig_remove (struct wmWindowManager *wm, struct wmKeyConfig *keyconf)
 
void WM_keyconfig_clear (struct wmKeyConfig *keyconf)
 
void WM_keyconfig_free (struct wmKeyConfig *keyconf)
 
void WM_keyconfig_set_active (struct wmWindowManager *wm, const char *idname)
 
void WM_keyconfig_update (struct wmWindowManager *wm)
 
void WM_keyconfig_update_tag (struct wmKeyMap *keymap, struct wmKeyMapItem *kmi)
 
void WM_keyconfig_update_operatortype (void)
 
void WM_keymap_clear (struct wmKeyMap *keymap)
 
wmKeyMapItemWM_keymap_add_item (struct wmKeyMap *keymap, const char *idname, const KeyMapItem_Params *params)
 
wmKeyMapItemWM_keymap_add_item_copy (struct wmKeyMap *keymap, wmKeyMapItem *kmi_src)
 
bool WM_keymap_remove_item (struct wmKeyMap *keymap, struct wmKeyMapItem *kmi)
 
int WM_keymap_item_to_string (const wmKeyMapItem *kmi, bool compact, char *result, int result_len)
 
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 (struct wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
 
wmKeyMapWM_keymap_find_all (struct wmWindowManager *wm, const char *idname, int spaceid, int regionid)
 
wmKeyMapWM_keymap_find_all_spaceid_or_empty (struct wmWindowManager *wm, const char *idname, int spaceid, int regionid)
 
wmKeyMapWM_keymap_active (const struct wmWindowManager *wm, struct wmKeyMap *keymap)
 
bool WM_keymap_remove (struct wmKeyConfig *keyconfig, struct wmKeyMap *keymap)
 
bool WM_keymap_poll (struct bContext *C, struct wmKeyMap *keymap)
 
wmKeyMapItemWM_keymap_item_find_id (struct wmKeyMap *keymap, int id)
 
bool WM_keymap_item_compare (const struct wmKeyMapItem *k1, const struct wmKeyMapItem *k2)
 
wmKeyMapItemWM_keymap_add_menu (struct wmKeyMap *keymap, const char *idname, const KeyMapItem_Params *params)
 
wmKeyMapItemWM_keymap_add_menu_pie (struct wmKeyMap *keymap, const char *idname, const KeyMapItem_Params *params)
 
wmKeyMapItemWM_keymap_add_panel (struct wmKeyMap *keymap, const char *idname, const KeyMapItem_Params *params)
 
wmKeyMapItemWM_keymap_add_tool (struct wmKeyMap *keymap, const char *idname, const KeyMapItem_Params *params)
 
wmKeyMapWM_keymap_guess_from_context (const struct bContext *C)
 
wmKeyMapWM_keymap_guess_opname (const struct bContext *C, const char *opname)
 
bool WM_keymap_uses_event_modifier (const wmKeyMap *keymap, int event_modifier)
 
void WM_keymap_fix_linking (void)
 
int WM_modalkeymap_items_to_string (const struct wmKeyMap *km, int propvalue, bool compact, char *result, int result_len)
 
int WM_modalkeymap_operator_items_to_string (struct wmOperatorType *ot, int propvalue, bool compact, char *result, int result_len)
 
char * WM_modalkeymap_operator_items_to_string_buf (struct wmOperatorType *ot, int propvalue, bool compact, int max_len, int *r_available_len, char **r_result)
 
wmKeyMapWM_modalkeymap_ensure (struct wmKeyConfig *keyconf, const char *idname, const struct EnumPropertyItem *items)
 
wmKeyMapWM_modalkeymap_find (struct wmKeyConfig *keyconf, const char *idname)
 
wmKeyMapItemWM_modalkeymap_add_item (struct wmKeyMap *km, const KeyMapItem_Params *params, int value)
 
wmKeyMapItemWM_modalkeymap_add_item_str (struct wmKeyMap *km, const KeyMapItem_Params *params, const char *value)
 
const wmKeyMapItemWM_modalkeymap_find_propvalue (const wmKeyMap *km, int propvalue)
 
void WM_modalkeymap_assign (struct wmKeyMap *km, const char *opname)
 
void WM_keymap_restore_to_default (struct wmKeyMap *keymap, struct wmWindowManager *wm)
 
void WM_keymap_item_properties_reset (struct wmKeyMapItem *kmi, struct IDProperty *properties)
 
void WM_keymap_item_restore_to_default (wmWindowManager *wm, struct wmKeyMap *keymap, struct wmKeyMapItem *kmi)
 
int WM_keymap_item_map_type_get (const struct wmKeyMapItem *kmi)
 
const char * WM_key_event_string (short type, bool compact)
 
int WM_keymap_item_raw_to_string (short shift, short ctrl, short alt, short oskey, short keymodifier, short val, short type, bool compact, char *result, int result_len)
 
wmKeyMapItemWM_key_event_operator (const struct bContext *C, const char *opname, wmOperatorCallContext opcontext, struct IDProperty *properties, short include_mask, short exclude_mask, struct wmKeyMap **r_keymap)
 
char * WM_key_event_operator_string (const struct bContext *C, const char *opname, wmOperatorCallContext opcontext, struct IDProperty *properties, bool is_strict, char *result, int result_len)
 
wmKeyMapItemWM_key_event_operator_from_keymap (struct wmKeyMap *keymap, const char *opname, struct IDProperty *properties, short include_mask, short exclude_mask)
 
const char * WM_bool_as_string (bool test)
 

Typedef Documentation

◆ KeyMapItem_Params

Parameters for matching events, passed into functions that create key-map items.

Function Documentation

◆ WM_bool_as_string()

const char* WM_bool_as_string ( bool  test)

◆ WM_key_event_operator()

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

◆ WM_key_event_operator_from_keymap()

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

◆ WM_key_event_operator_string()

char* WM_key_event_operator_string ( const struct bContext C,
const char *  opname,
wmOperatorCallContext  opcontext,
struct IDProperty properties,
bool  is_strict,
char *  result,
int  result_len 
)

◆ WM_key_event_string()

const char* WM_key_event_string ( short  type,
bool  compact 
)

◆ WM_keyconfig_clear()

void WM_keyconfig_clear ( struct wmKeyConfig keyconf)

◆ WM_keyconfig_free()

void WM_keyconfig_free ( struct wmKeyConfig keyconf)

Definition at line 321 of file wm_keymap.c.

References MEM_freeN, and WM_keyconfig_clear().

Referenced by wm_close_and_free(), and WM_keyconfig_remove().

◆ WM_keyconfig_init()

void WM_keyconfig_init ( struct bContext C)

◆ WM_keyconfig_new()

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

◆ WM_keyconfig_new_user()

wmKeyConfig* WM_keyconfig_new_user ( struct wmWindowManager wm,
const char *  idname 
)

Definition at line 290 of file wm_keymap.c.

References WM_keyconfig_new().

◆ WM_keyconfig_reload()

void WM_keyconfig_reload ( struct bContext C)

Definition at line 424 of file wm.c.

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

Referenced by WM_keyconfig_init(), and wm_userpref_update_when_changed().

◆ WM_keyconfig_remove()

bool WM_keyconfig_remove ( struct wmWindowManager wm,
struct wmKeyConfig keyconf 
)

◆ WM_keyconfig_set_active()

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

◆ WM_keyconfig_update()

void WM_keyconfig_update ( struct wmWindowManager wm)

◆ WM_keyconfig_update_operatortype()

void WM_keyconfig_update_operatortype ( void  )

Definition at line 1800 of file wm_keymap.c.

References wm_keymap_update_flag, and WM_KEYMAP_UPDATE_OPERATORTYPE.

Referenced by WM_operatortype_remove_ptr().

◆ WM_keyconfig_update_tag()

void WM_keyconfig_update_tag ( struct wmKeyMap keymap,
struct wmKeyMapItem kmi 
)

◆ WM_keymap_active()

wmKeyMap* WM_keymap_active ( const struct wmWindowManager wm,
struct wmKeyMap keymap 
)

◆ WM_keymap_add_item()

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

◆ WM_keymap_add_item_copy()

wmKeyMapItem* WM_keymap_add_item_copy ( struct wmKeyMap keymap,
wmKeyMapItem kmi_src 
)

◆ WM_keymap_add_menu()

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

Menu wrapper for WM_keymap_add_item.

Definition at line 32 of file wm_keymap_utils.c.

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

◆ WM_keymap_add_menu_pie()

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

Pie-menu wrapper for WM_keymap_add_item.

Definition at line 41 of file wm_keymap_utils.c.

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

◆ WM_keymap_add_panel()

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

Panel (popover) wrapper for WM_keymap_add_item.

Definition at line 50 of file wm_keymap_utils.c.

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

◆ WM_keymap_add_tool()

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

Tool wrapper for WM_keymap_add_item.

Definition at line 61 of file wm_keymap_utils.c.

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

◆ WM_keymap_clear()

void WM_keymap_clear ( struct wmKeyMap keymap)

◆ WM_keymap_ensure()

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

Definition at line 852 of file wm_keymap.c.

References BLI_addtail(), wmKeyConfig::keymaps, NULL, 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_curve_editing(), ed_keymap_gpencil_editing(), ed_keymap_gpencil_general(), ed_keymap_gpencil_painting(), ed_keymap_gpencil_painting_draw(), ed_keymap_gpencil_painting_erase(), ed_keymap_gpencil_painting_fill(), ed_keymap_gpencil_painting_tint(), ed_keymap_gpencil_sculpting(), ed_keymap_gpencil_sculptpainting_clone(), ed_keymap_gpencil_sculptpainting_grab(), ed_keymap_gpencil_sculptpainting_pinch(), ed_keymap_gpencil_sculptpainting_push(), ed_keymap_gpencil_sculptpainting_randomize(), ed_keymap_gpencil_sculptpainting_smooth(), ed_keymap_gpencil_sculptpainting_strength(), ed_keymap_gpencil_sculptpainting_thickness(), ed_keymap_gpencil_sculptpainting_twist(), ed_keymap_gpencil_vertexpainting(), ed_keymap_gpencil_vertexpainting_average(), ed_keymap_gpencil_vertexpainting_blur(), ed_keymap_gpencil_vertexpainting_draw(), ed_keymap_gpencil_vertexpainting_replace(), ed_keymap_gpencil_vertexpainting_smear(), ed_keymap_gpencil_weightpainting(), ed_keymap_gpencil_weightpainting_draw(), ED_keymap_lattice(), ED_keymap_marker(), ED_keymap_mask(), ED_keymap_mesh(), ED_keymap_metaball(), ED_keymap_object(), 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_buttons_region_init(), image_keymap(), image_main_region_init(), image_tools_region_init(), info_keymap(), info_main_region_init(), keymap_particle(), nla_buttons_region_init(), nla_channel_region_init(), nla_keymap(), nla_main_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(), outliner_keymap(), outliner_main_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(), spreadsheet_keymap(), spreadsheet_main_region_init(), spreadsheet_sidebar_init(), text_keymap(), text_main_region_init(), text_properties_region_init(), tool_generic_create_gizmo(), topbar_main_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 ( struct wmWindowManager wm,
const char *  idname,
int  spaceid,
int  regionid 
)

◆ WM_keymap_find_all_spaceid_or_empty()

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

◆ WM_keymap_fix_linking()

void WM_keymap_fix_linking ( void  )

Definition at line 493 of file wm_keymap_utils.c.

Referenced by wm_window_keymap().

◆ WM_keymap_guess_from_context()

wmKeyMap* WM_keymap_guess_from_context ( const struct bContext C)

◆ WM_keymap_guess_opname()

wmKeyMap* WM_keymap_guess_opname ( const struct bContext C,
const char *  opname 
)

Guess an appropriate key-map from the operator name.

Note
Needs to be kept up to date with Key-map and Operator naming.

◆ WM_keymap_item_compare()

bool WM_keymap_item_compare ( const struct wmKeyMapItem k1,
const struct wmKeyMapItem k2 
)

◆ WM_keymap_item_find_id()

wmKeyMapItem* WM_keymap_item_find_id ( struct wmKeyMap keymap,
int  id 
)

◆ WM_keymap_item_map_type_get()

int WM_keymap_item_map_type_get ( const struct wmKeyMapItem kmi)

◆ WM_keymap_item_properties_reset()

void WM_keymap_item_properties_reset ( struct wmKeyMapItem kmi,
struct IDProperty properties 
)

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

Definition at line 177 of file wm_keymap.c.

References LIKELY, MEM_freeN, NULL, 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()

int WM_keymap_item_raw_to_string ( short  shift,
short  ctrl,
short  alt,
short  oskey,
short  keymodifier,
short  val,
short  type,
bool  compact,
char *  result,
int  result_len 
)

◆ WM_keymap_item_restore_to_default()

void WM_keymap_item_restore_to_default ( wmWindowManager wm,
struct wmKeyMap keymap,
struct wmKeyMapItem kmi 
)

◆ WM_keymap_item_to_string()

int WM_keymap_item_to_string ( const wmKeyMapItem kmi,
bool  compact,
char *  result,
int  result_len 
)

◆ WM_keymap_list_find()

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

◆ 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()

bool WM_keymap_poll ( struct bContext C,
struct wmKeyMap keymap 
)

◆ WM_keymap_remove()

bool WM_keymap_remove ( struct wmKeyConfig keyconfig,
struct wmKeyMap keymap 
)

◆ WM_keymap_remove_item()

bool WM_keymap_remove_item ( struct wmKeyMap keymap,
struct wmKeyMapItem kmi 
)

◆ WM_keymap_restore_to_default()

void WM_keymap_restore_to_default ( struct wmKeyMap keymap,
struct wmWindowManager wm 
)

◆ WM_keymap_uses_event_modifier()

bool WM_keymap_uses_event_modifier ( const wmKeyMap keymap,
int  event_modifier 
)

◆ WM_modalkeymap_add_item()

wmKeyMapItem* WM_modalkeymap_add_item ( struct wmKeyMap km,
const KeyMapItem_Params params,
int  value 
)

◆ WM_modalkeymap_add_item_str()

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

◆ WM_modalkeymap_assign()

void WM_modalkeymap_assign ( struct wmKeyMap km,
const char *  opname 
)

◆ WM_modalkeymap_ensure()

wmKeyMap* WM_modalkeymap_ensure ( struct wmKeyConfig keyconf,
const char *  idname,
const struct EnumPropertyItem items 
)

◆ WM_modalkeymap_find()

wmKeyMap* WM_modalkeymap_find ( struct wmKeyConfig keyconf,
const char *  idname 
)

◆ WM_modalkeymap_find_propvalue()

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

◆ WM_modalkeymap_items_to_string()

int WM_modalkeymap_items_to_string ( const struct wmKeyMap km,
int  propvalue,
bool  compact,
char *  result,
int  result_len 
)

◆ WM_modalkeymap_operator_items_to_string()

int WM_modalkeymap_operator_items_to_string ( struct wmOperatorType ot,
int  propvalue,
bool  compact,
char *  result,
int  result_len 
)

◆ WM_modalkeymap_operator_items_to_string_buf()

char* WM_modalkeymap_operator_items_to_string_buf ( struct wmOperatorType ot,
int  propvalue,
bool  compact,
int  max_len,
int *  r_available_len,
char **  r_result 
)

Definition at line 1270 of file wm_keymap.c.

References min_ii(), ot, ret, and WM_modalkeymap_operator_items_to_string().

Referenced by WM_window_modal_keymap_status_draw().