Blender  V3.3
keyconfig.c File Reference
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include "RNA_types.h"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "DNA_listBase.h"
#include "DNA_userdef_types.h"
#include "DNA_windowmanager_types.h"
#include "BKE_idprop.h"
#include "BKE_keyconfig.h"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Functions

Key-Config Preference (UserDef) API
See also
BKE_addon_pref_type_init for logic this is bases on.
wmKeyConfigPrefBKE_keyconfig_pref_ensure (UserDef *userdef, const char *kc_idname)
 
Key-Config Versioning
void BKE_keyconfig_pref_set_select_mouse (UserDef *userdef, int value, bool override)
 
static void keymap_item_free (wmKeyMapItem *kmi)
 
static void keymap_diff_item_free (wmKeyMapDiffItem *kmdi)
 
void BKE_keyconfig_keymap_filter_item (wmKeyMap *keymap, const struct wmKeyConfigFilterItemParams *params, bool(*filter_fn)(wmKeyMapItem *kmi, void *user_data), void *user_data)
 
void BKE_keyconfig_pref_filter_items (struct UserDef *userdef, const struct wmKeyConfigFilterItemParams *params, bool(*filter_fn)(wmKeyMapItem *kmi, void *user_data), void *user_data)
 

Key-Config Preference (RNA Type) API

See also
BKE_addon_pref_type_init for logic this is bases on.
static GHashglobal_keyconfigpreftype_hash = NULL
 
wmKeyConfigPrefType_RuntimeBKE_keyconfig_pref_type_find (const char *idname, bool quiet)
 
void BKE_keyconfig_pref_type_add (wmKeyConfigPrefType_Runtime *kpt_rt)
 
void BKE_keyconfig_pref_type_remove (const wmKeyConfigPrefType_Runtime *kpt_rt)
 
void BKE_keyconfig_pref_type_init (void)
 
void BKE_keyconfig_pref_type_free (void)
 

Function Documentation

◆ BKE_keyconfig_keymap_filter_item()

void BKE_keyconfig_keymap_filter_item ( wmKeyMap keymap,
const struct wmKeyConfigFilterItemParams params,
bool(*)(wmKeyMapItem *kmi, void *user_data filter_fn,
void user_data 
)

◆ BKE_keyconfig_pref_ensure()

wmKeyConfigPref* BKE_keyconfig_pref_ensure ( UserDef userdef,
const char *  kc_idname 
)

◆ BKE_keyconfig_pref_filter_items()

void BKE_keyconfig_pref_filter_items ( struct UserDef userdef,
const struct wmKeyConfigFilterItemParams params,
bool(*)(wmKeyMapItem *kmi, void *user_data filter_fn,
void user_data 
)

◆ BKE_keyconfig_pref_set_select_mouse()

void BKE_keyconfig_pref_set_select_mouse ( struct UserDef userdef,
int  value,
bool  override 
)

◆ BKE_keyconfig_pref_type_add()

void BKE_keyconfig_pref_type_add ( wmKeyConfigPrefType_Runtime kpt_rt)

Definition at line 82 of file keyconfig.c.

References BLI_ghash_insert(), and global_keyconfigpreftype_hash.

◆ BKE_keyconfig_pref_type_find()

wmKeyConfigPrefType_Runtime* BKE_keyconfig_pref_type_find ( const char *  idname,
bool  quiet 
)

Definition at line 59 of file keyconfig.c.

References BLI_ghash_lookup(), global_keyconfigpreftype_hash, and NULL.

◆ BKE_keyconfig_pref_type_free()

void BKE_keyconfig_pref_type_free ( void  )

Definition at line 98 of file keyconfig.c.

References BLI_ghash_free(), global_keyconfigpreftype_hash, MEM_freeN, and NULL.

Referenced by WM_exit_ex().

◆ BKE_keyconfig_pref_type_init()

void BKE_keyconfig_pref_type_init ( void  )

Definition at line 92 of file keyconfig.c.

References BLI_assert, BLI_ghash_str_new(), global_keyconfigpreftype_hash, and NULL.

Referenced by WM_init().

◆ BKE_keyconfig_pref_type_remove()

void BKE_keyconfig_pref_type_remove ( const wmKeyConfigPrefType_Runtime kpt_rt)

Definition at line 87 of file keyconfig.c.

References BLI_ghash_remove(), global_keyconfigpreftype_hash, MEM_freeN, and NULL.

◆ keymap_diff_item_free()

static void keymap_diff_item_free ( wmKeyMapDiffItem kmdi)
static

◆ keymap_item_free()

static void keymap_item_free ( wmKeyMapItem kmi)
static

Variable Documentation

◆ global_keyconfigpreftype_hash

GHash* global_keyconfigpreftype_hash = NULL
static