diff options
Diffstat (limited to 'source/blender/windowmanager/intern/wm_keymap.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_keymap.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c index 4032f47eec2..27c816a4d7d 100644 --- a/source/blender/windowmanager/intern/wm_keymap.c +++ b/source/blender/windowmanager/intern/wm_keymap.c @@ -513,6 +513,20 @@ wmKeyMapItem *WM_keymap_add_item(wmKeyMap *keymap, const char *idname, int type, return kmi; } +wmKeyMapItem *WM_keymap_add_item_copy( + struct wmKeyMap *keymap, wmKeyMapItem *kmi_src) +{ + wmKeyMapItem *kmi_dst = wm_keymap_item_copy(kmi_src); + + BLI_addtail(&keymap->items, kmi_dst); + + keymap_item_set_id(keymap, kmi_dst); + + WM_keyconfig_update_tag(keymap, kmi_dst); + + return kmi_dst; +} + bool WM_keymap_remove_item(wmKeyMap *keymap, wmKeyMapItem *kmi) { if (BLI_findindex(&keymap->items, kmi) != -1) { |