--- title: Virtual Keys - Keyman Core API --- API declarations for modifier keys, handy access masks and Keyman VKEY names. These follow the same keytop->code associations as the Windows API. This is a separate header to maintain readability of the primary API header. # km_core_modifier_state enum {#km_core_modifier_state} An integral type bitmask representing the state of each modifier key. ```c enum km_core_modifier_state { KM_CORE_MODIFIER_NONE = 0, KM_CORE_MODIFIER_LCTRL = 1 << 0, KM_CORE_MODIFIER_RCTRL = 1 << 1, KM_CORE_MODIFIER_LALT = 1 << 2, KM_CORE_MODIFIER_RALT = 1 << 3, KM_CORE_MODIFIER_SHIFT = 1 << 4, KM_CORE_MODIFIER_CTRL = 1 << 5, KM_CORE_MODIFIER_ALT = 1 << 6, /* KM_CORE_MODIFIER_META = 1 << 7, // Either Meta-key flag (tentative). Not usable by keyboards currently */ KM_CORE_MODIFIER_CAPS = 1 << 8, KM_CORE_MODIFIER_NOCAPS = 1 << 9, /* KM_CORE_MODIFIER_NUMLOCK = 1 << 10, KM_CORE_MODIFIER_NONUMLOCK = 1 << 11, KM_CORE_MODIFIER_SCROLLOCK = 1 << 12, KM_CORE_MODIFIER_NOSCROLLOCK = 1 << 13, KM_CORE_MODIFIER_VIRTUALKEY = 1 << 14, */ }; ``` # km_core_modifier_mask {#km_core_modifier_mask} An integral type bitmask representing common bitmask sets for km_core_modifier_state ```c enum km_core_modifier_mask { KM_CORE_MODIFIER_MASK_ALL = 0x7f, KM_CORE_MODIFIER_MASK_ALT_GR_SIM = KM_CORE_MODIFIER_LCTRL|KM_CORE_MODIFIER_LALT, KM_CORE_MODIFIER_MASK_CHIRAL = 0x1f, KM_CORE_MODIFIER_MASK_IS_CHIRAL = 0x0f, KM_CORE_MODIFIER_MASK_NON_CHIRAL = 0x7f, KM_CORE_MODIFIER_MASK_CAPS = 0x0300, /*KM_CORE_MODIFIER_MASK_NUMLOCK = 0x0C00, KM_CORE_MODIFIER_MASK_SCROLLLOCK = 0x3000,*/ }; ``` # km_core_virtual_key_value {#km_core_virtual_key_value} These are Windows API VKEYs, using Keyman VKEY names. Underlying values from winuser.h (https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes) Note, some codes are defined here for parity with winuser.h, but are not available in .kmn language. These codes are marked as "internal" by using `__` in the name: `KM_CORE_VKEY____` ```c enum km_core_virtual_key_value { KM_CORE_VKEY__00, KM_CORE_VKEY_LBUTTON, // 0x01 KM_CORE_VKEY_RBUTTON, // 0x02 KM_CORE_VKEY_CANCEL, // 0x03 KM_CORE_VKEY_MBUTTON, // 0x04 KM_CORE_VKEY__XBUTTON1__, // 0x05 KM_CORE_VKEY__XBUTTON2__, // 0x06 KM_CORE_VKEY__07, // 0x07 - Reserved KM_CORE_VKEY_BKSP, // 0x08 - VK_BACK KM_CORE_VKEY_TAB, // 0x09 KM_CORE_VKEY__0A, // 0x0a - Reserved KM_CORE_VKEY__0B, // 0x0b - Reserved KM_CORE_VKEY_KP5, // 0x0c - VK_CLEAR KM_CORE_VKEY_ENTER, // 0x0d - VK_RETURN KM_CORE_VKEY__0E, // 0x0e - Reserved KM_CORE_VKEY__0F, // 0x0f - Reserved KM_CORE_VKEY_SHIFT, // 0x10 KM_CORE_VKEY_CONTROL, // 0x11 KM_CORE_VKEY_ALT, // 0x12 - VK_MENU KM_CORE_VKEY_PAUSE, // 0x13 KM_CORE_VKEY_CAPS, // 0x14 - VK_CAPITAL KM_CORE_VKEY__KANA__, // 0x15 KM_CORE_VKEY__HANGUL__, // 0x16 KM_CORE_VKEY__JUNJA__, // 0x17 KM_CORE_VKEY__FINAL__, // 0x18 KM_CORE_VKEY__HANJA__, // 0x19 - or VK_KANJI KM_CORE_VKEY__IMEOFF__, // 0x1a - VK_IME_OFF KM_CORE_VKEY_ESC, // 0x1b - VK_ESCAPE KM_CORE_VKEY__CONVERT__, // 0x1c KM_CORE_VKEY__NONCONVERT__, // 0x1d KM_CORE_VKEY__ACCEPT__, // 0x1e KM_CORE_VKEY__MODECHANGE__, // 0x1f KM_CORE_VKEY_SPACE, // 0x20 KM_CORE_VKEY_PGUP, // 0x21 - VK_PRIOR KM_CORE_VKEY_PGDN, // 0x22 - VK_NEXT KM_CORE_VKEY_END, // 0x23 KM_CORE_VKEY_HOME, // 0x24 KM_CORE_VKEY_LEFT, // 0x25 KM_CORE_VKEY_UP, // 0x26 KM_CORE_VKEY_RIGHT, // 0x27 KM_CORE_VKEY_DOWN, // 0x28 KM_CORE_VKEY_SEL, // 0x29 - VK_SELECT KM_CORE_VKEY_PRINT, // 0x2a KM_CORE_VKEY_EXEC, // 0x2b - VK_EXECUTE KM_CORE_VKEY_PRTSCN, // 0x2c - VK_SNAPSHOT KM_CORE_VKEY_INS, // 0x2d - VK_INSERT KM_CORE_VKEY_DEL, // 0x2e - VK_DELETE KM_CORE_VKEY_HELP, // 0x2f KM_CORE_VKEY_0, // 0x30 KM_CORE_VKEY_1, // 0x31 KM_CORE_VKEY_2, // 0x32 KM_CORE_VKEY_3, // 0x33 KM_CORE_VKEY_4, // 0x34 KM_CORE_VKEY_5, // 0x35 KM_CORE_VKEY_6, // 0x36 KM_CORE_VKEY_7, // 0x37 KM_CORE_VKEY_8, // 0x38 KM_CORE_VKEY_9, // 0x39 KM_CORE_VKEY__3A, // 0x3a - undefined KM_CORE_VKEY__3B, // 0x3b - undefined KM_CORE_VKEY__3C, // 0x3c - undefined KM_CORE_VKEY__3D, // 0x3d - undefined KM_CORE_VKEY__3E, // 0x3e - undefined KM_CORE_VKEY__3F, // 0x3f - undefined KM_CORE_VKEY__40, // 0x40 - undefined KM_CORE_VKEY_A, // 0x41 KM_CORE_VKEY_B, // 0x42 KM_CORE_VKEY_C, // 0x43 KM_CORE_VKEY_D, // 0x44 KM_CORE_VKEY_E, // 0x45 KM_CORE_VKEY_F, // 0x46 KM_CORE_VKEY_G, // 0x47 KM_CORE_VKEY_H, // 0x48 KM_CORE_VKEY_I, // 0x49 KM_CORE_VKEY_J, // 0x4a KM_CORE_VKEY_K, // 0x4b KM_CORE_VKEY_L, // 0x4c KM_CORE_VKEY_M, // 0x4d KM_CORE_VKEY_N, // 0x4e KM_CORE_VKEY_O, // 0x4f KM_CORE_VKEY_P, // 0x50 KM_CORE_VKEY_Q, // 0x51 KM_CORE_VKEY_R, // 0x52 KM_CORE_VKEY_S, // 0x53 KM_CORE_VKEY_T, // 0x54 KM_CORE_VKEY_U, // 0x55 KM_CORE_VKEY_V, // 0x56 KM_CORE_VKEY_W, // 0x57 KM_CORE_VKEY_X, // 0x58 KM_CORE_VKEY_Y, // 0x59 KM_CORE_VKEY_Z, // 0x5a KM_CORE_VKEY__LWIN__, // 0x5b KM_CORE_VKEY__RWIN__, // 0x5c KM_CORE_VKEY__APPS__, // 0x5d KM_CORE_VKEY__5E, // 0x5e - reserved KM_CORE_VKEY__SLEEP__, // 0x5f KM_CORE_VKEY_NP0, // 0x60 - VK_NUMPAD0 KM_CORE_VKEY_NP1, // 0x61 - VK_NUMPAD1 KM_CORE_VKEY_NP2, // 0x62 - VK_NUMPAD2 KM_CORE_VKEY_NP3, // 0x63 - VK_NUMPAD3 KM_CORE_VKEY_NP4, // 0x64 - VK_NUMPAD4 KM_CORE_VKEY_NP5, // 0x65 - VK_NUMPAD5 KM_CORE_VKEY_NP6, // 0x66 - VK_NUMPAD6 KM_CORE_VKEY_NP7, // 0x67 - VK_NUMPAD7 KM_CORE_VKEY_NP8, // 0x68 - VK_NUMPAD8 KM_CORE_VKEY_NP9, // 0x69 - VK_NUMPAD9 KM_CORE_VKEY_NPSTAR, // 0x6a - VK_MULTIPLY KM_CORE_VKEY_NPPLUS, // 0x6b - VK_ADD KM_CORE_VKEY_SEPARATOR, // 0x6c KM_CORE_VKEY_NPMINUS, // 0x6d - VK_SUBTRACT KM_CORE_VKEY_NPDOT, // 0x6e - VK_DECIMAL KM_CORE_VKEY_NPSLASH, // 0x6f - VK_DIVIDE KM_CORE_VKEY_F1, // 0x70 KM_CORE_VKEY_F2, // 0x71 KM_CORE_VKEY_F3, // 0x72 KM_CORE_VKEY_F4, // 0x73 KM_CORE_VKEY_F5, // 0x74 KM_CORE_VKEY_F6, // 0x75 KM_CORE_VKEY_F7, // 0x76 KM_CORE_VKEY_F8, // 0x77 KM_CORE_VKEY_F9, // 0x78 KM_CORE_VKEY_F10, // 0x79 KM_CORE_VKEY_F11, // 0x7a KM_CORE_VKEY_F12, // 0x7b KM_CORE_VKEY_F13, // 0x7c KM_CORE_VKEY_F14, // 0x7d KM_CORE_VKEY_F15, // 0x7e KM_CORE_VKEY_F16, // 0x7f KM_CORE_VKEY_F17, // 0x80 KM_CORE_VKEY_F18, // 0x81 KM_CORE_VKEY_F19, // 0x82 KM_CORE_VKEY_F20, // 0x83 KM_CORE_VKEY_F21, // 0x84 KM_CORE_VKEY_F22, // 0x85 KM_CORE_VKEY_F23, // 0x86 KM_CORE_VKEY_F24, // 0x87 KM_CORE_VKEY__88, // 0x88 - reserved KM_CORE_VKEY__89, // 0x89 - reserved KM_CORE_VKEY__8A, // 0x8a - reserved KM_CORE_VKEY__8B, // 0x8b - reserved KM_CORE_VKEY__8C, // 0x8c - reserved KM_CORE_VKEY__8D, // 0x8d - reserved KM_CORE_VKEY__8E, // 0x8e - reserved KM_CORE_VKEY__8F, // 0x8f - reserved KM_CORE_VKEY_NUMLOCK, // 0x90 KM_CORE_VKEY_SCROLL, // 0x91 KM_CORE_VKEY__92, // 0x92 - OEM specific KM_CORE_VKEY__93, // 0x93 - OEM specific KM_CORE_VKEY__94, // 0x94 - OEM specific KM_CORE_VKEY__95, // 0x95 - OEM specific KM_CORE_VKEY__96, // 0x96 - OEM specific KM_CORE_VKEY__97, // 0x97 - unassigned KM_CORE_VKEY__98, // 0x98 - unassigned KM_CORE_VKEY__99, // 0x99 - unassigned KM_CORE_VKEY__9A, // 0x9a - unassigned KM_CORE_VKEY__9B, // 0x9b - unassigned KM_CORE_VKEY__9C, // 0x9c - unassigned KM_CORE_VKEY__9D, // 0x9d - unassigned KM_CORE_VKEY__9E, // 0x9e - unassigned KM_CORE_VKEY__9F, // 0x9f - unassigned KM_CORE_VKEY__LSHIFT__, // 0xa0 KM_CORE_VKEY__RSHIFT__, // 0xa1 KM_CORE_VKEY__LCONTROL__, // 0xa2 KM_CORE_VKEY__RCONTROL__, // 0xa3 KM_CORE_VKEY__LMENU__, // 0xa4 KM_CORE_VKEY__RMENU__, // 0xa5 KM_CORE_VKEY__BROWSERBACK__, // 0xa6 - VK_BROWSER_BACK KM_CORE_VKEY__BROWSERFORWARD__, // 0xa7 - VK_BROWSER_FORWARD KM_CORE_VKEY__BROWSERREFRESH__, // 0xa8 - VK_BROWSER_REFRESH KM_CORE_VKEY__BROWSERSTOP__, // 0xa9 - VK_BROWSER_STOP KM_CORE_VKEY__BROWSERSEARCH__, // 0xaa - VK_BROWSER_SEARCH KM_CORE_VKEY_BROWSERFAVORITES, // 0xab - VK_BROWSER_FAVORITES KM_CORE_VKEY__BROWSERHOME__, // 0xac - VK_BROWSER_HOME KM_CORE_VKEY__VOLUMEMUTE__, // 0xad - VK_VOLUME_MUTE KM_CORE_VKEY__VOLUMEDOWN__, // 0xae - VK_VOLUME_DOWN KM_CORE_VKEY__VOLUMEUP__, // 0xaf - VK_VOLUME_UP KM_CORE_VKEY__MEDIANEXT__, // 0xb0 - VK_MEDIA_NEXT_TRACK KM_CORE_VKEY__MEDIAPREV__, // 0xb1 - VK_MEDIA_PREV_TRACK KM_CORE_VKEY__MEDIASTOP__, // 0xb2 - VK_MEDIA_STOP KM_CORE_VKEY__MEDIAPLAY__, // 0xb3 - VK_MEDIA_PLAY_PAUSE KM_CORE_VKEY__MAIL__, // 0xb4 - VK_LAUNCH_MAIL KM_CORE_VKEY__MEDIA__, // 0xb5 - VK_LAUNCH_MEDIA_SELECT KM_CORE_VKEY__APP1__, // 0xb6 - VK_LAUNCH_APP1 KM_CORE_VKEY__APP2__, // 0xb7 - VK_LAUNCH_APP2 KM_CORE_VKEY__B8, // 0xb8 - reserved KM_CORE_VKEY__B9, // 0xb9 - reserved KM_CORE_VKEY_COLON, // 0xba - VK_OEM_1 KM_CORE_VKEY_EQUAL, // 0xbb - VK_OEM_PLUS KM_CORE_VKEY_COMMA, // 0xbc - VK_OEM_COMMA KM_CORE_VKEY_HYPHEN, // 0xbd - VK_OEM_MINUS KM_CORE_VKEY_PERIOD, // 0xbe - VK_OEM_PERIOD KM_CORE_VKEY_SLASH, // 0xbf - VK_OEM_2 KM_CORE_VKEY_BKQUOTE, // 0xc0 - VK_OEM_3 KM_CORE_VKEY__C1, // 0xc1 - reserved KM_CORE_VKEY__C2, // 0xc2 - reserved KM_CORE_VKEY__C3, // 0xc3 - reserved KM_CORE_VKEY__C4, // 0xc4 - reserved KM_CORE_VKEY__C5, // 0xc5 - reserved KM_CORE_VKEY__C6, // 0xc6 - reserved KM_CORE_VKEY__C7, // 0xc7 - reserved KM_CORE_VKEY__C8, // 0xc8 - reserved KM_CORE_VKEY__C9, // 0xc9 - reserved KM_CORE_VKEY__CA, // 0xca - reserved KM_CORE_VKEY__CB, // 0xcb - reserved KM_CORE_VKEY__CC, // 0xcc - reserved KM_CORE_VKEY__CD, // 0xcd - reserved KM_CORE_VKEY__CE, // 0xce - reserved KM_CORE_VKEY__CF, // 0xcf - reserved KM_CORE_VKEY__D0, // 0xd0 - reserved KM_CORE_VKEY__D1, // 0xd1 - reserved KM_CORE_VKEY__D2, // 0xd2 - reserved KM_CORE_VKEY__D3, // 0xd3 - reserved KM_CORE_VKEY__D4, // 0xd4 - reserved KM_CORE_VKEY__D5, // 0xd5 - reserved KM_CORE_VKEY__D6, // 0xd6 - reserved KM_CORE_VKEY__D7, // 0xd7 - reserved KM_CORE_VKEY__D8, // 0xd8 - reserved KM_CORE_VKEY__D9, // 0xd9 - reserved KM_CORE_VKEY__DA, // 0xda - reserved KM_CORE_VKEY_LBRKT, // 0xdb - VK_OEM_4 KM_CORE_VKEY_BKSLASH, // 0xdc - VK_OEM_5 KM_CORE_VKEY_RBRKT, // 0xdd - VK_OEM_6 KM_CORE_VKEY_QUOTE, // 0xde - VK_OEM_7 KM_CORE_VKEY_oDF, // 0xdf - VK_OEM_8 KM_CORE_VKEY_oE0, // 0xe0 - reserved KM_CORE_VKEY_oE1, // 0xe1 - reserved KM_CORE_VKEY_oE2, // 0xe2 - VK_OEM_102 - 102nd key on European layouts KM_CORE_VKEY_oE3, // 0xe3 - OEM specific KM_CORE_VKEY_oE4, // 0xe4 - OEM specific KM_CORE_VKEY__PROCESSKEY__, // 0xe5 KM_CORE_VKEY_oE6, // 0xe6 - OEM specific KM_CORE_VKEY__PACKET__, // 0xe7 KM_CORE_VKEY__E8, // 0xe8 - unassigned KM_CORE_VKEY_oE9, // 0xe9 - OEM specific KM_CORE_VKEY_oEA, // 0xea - OEM specific KM_CORE_VKEY_oEB, // 0xeb - OEM specific KM_CORE_VKEY_oEC, // 0xec - OEM specific KM_CORE_VKEY_oED, // 0xed - OEM specific KM_CORE_VKEY_oEE, // 0xee - OEM specific KM_CORE_VKEY_oEF, // 0xef - OEM specific KM_CORE_VKEY_oF0, // 0xf0 - OEM specific KM_CORE_VKEY_oF1, // 0xf1 - OEM specific KM_CORE_VKEY_oF2, // 0xf2 - OEM specific KM_CORE_VKEY_oF3, // 0xf3 - OEM specific KM_CORE_VKEY_oF4, // 0xf4 - OEM specific KM_CORE_VKEY_oF5, // 0xf5 - OEM specific KM_CORE_VKEY__ATTN__, // 0xf6 KM_CORE_VKEY__CRSEL__, // 0xf7 KM_CORE_VKEY__EXSEL__, // 0xf8 KM_CORE_VKEY__EREOF__, // 0xf9 KM_CORE_VKEY__PLAY__, // 0xfa KM_CORE_VKEY__ZOOM__, // 0xfb KM_CORE_VKEY__NONAME__, // 0xfc KM_CORE_VKEY__PA1__, // 0xfd KM_CORE_VKEY__OEMCLEAR__, // 0xfe KM_CORE_VKEY__FF, // 0xff }; [km_core_cu]: background#km_core_cu "km_core_cu type" [km_core_usv]: background#km_core_usv "km_core_usv type" [km_core_virtual_key]: background#km_core_virtual_key "km_core_virtual_key type" [km_core_status]: background#km_core_status "km_core_status type" [km_core_keyboard]: background#km_core_keyboard "km_core_keyboard struct" [km_core_state]: background#km_core_state "km_core_state struct" [km_core_options]: background#km_core_options "km_core_options struct" [km_core_keyboard_imx_platform]: background#km_core_keyboard_imx_platform "km_core_keyboard_imx_platform callback function" [km_core_status_codes]: background#km_core_status_codes "km_core_status_codes enum" [km_core_attr]: background#km_core_attr "km_core_attr struct" [km_core_tech_value]: background#km_core_tech_value "km_core_tech_value enum" [km_core_get_engine_attrs]: background#km_core_get_engine_attrs "km_core_get_engine_attrs function" [km_core_bool]: background#km_core_bool "km_core_bool enum" [km_core_caps_state]: state#km_core_caps_state "km_core_caps_state enum" [km_core_actions]: state#km_core_actions "km_core_actions struct" [km_core_state_get_actions]: state#km_core_state_get_actions "km_core_state_get_actions function" [km_core_context_status]: state#km_core_context_status "km_core_context_status enum" [km_core_state_context_set_if_needed]: state#km_core_state_context_set_if_needed "km_core_state_context_set_if_needed function" [km_core_state_context_clear]: state#km_core_state_context_clear "km_core_state_context_clear function" [km_core_option_scope]: options#km_core_option_scope "km_core_option_scope enum" [km_core_option_item]: options#km_core_option_item "km_core_option_item struct" [km_core_options_list_size]: options#km_core_options_list_size "km_core_options_list_size function" [km_core_state_option_lookup]: options#km_core_state_option_lookup "km_core_state_option_lookup function" [km_core_state_options_update]: options#km_core_state_options_update "km_core_state_options_update function" [km_core_keyboard_attrs]: keyboards#km_core_keyboard_attrs "km_core_keyboard_attrs struct" [km_core_keyboard_key]: keyboards#km_core_keyboard_key "km_core_keyboard_key struct" [km_core_keyboard_imx]: keyboards#km_core_keyboard_imx "km_core_keyboard_imx struct" [km_core_keyboard_load_from_blob]: keyboards#km_core_keyboard_load_from_blob "km_core_keyboard_load_from_blob function" [km_core_keyboard_dispose]: keyboards#km_core_keyboard_dispose "km_core_keyboard_dispose function" [km_core_keyboard_get_attrs]: keyboards#km_core_keyboard_get_attrs "km_core_keyboard_get_attrs function" [km_core_keyboard_get_key_list]: keyboards#km_core_keyboard_get_key_list "km_core_keyboard_get_key_list function" [km_core_keyboard_key_list_dispose]: keyboards#km_core_keyboard_key_list_dispose "km_core_keyboard_key_list_dispose function" [km_core_keyboard_get_imx_list]: keyboards#km_core_keyboard_get_imx_list "km_core_keyboard_get_imx_list function" [km_core_keyboard_imx_list_dispose]: keyboards#km_core_keyboard_imx_list_dispose "km_core_keyboard_imx_list_dispose function" [km_core_state_imx_register_callback]: keyboards#km_core_state_imx_register_callback "km_core_state_imx_register_callback function" [km_core_state_imx_deregister_callback]: keyboards#km_core_state_imx_deregister_callback "km_core_state_imx_deregister_callback function" [km_core_state_create]: keyboards#km_core_state_create "km_core_state_create function" [km_core_state_clone]: keyboards#km_core_state_clone "km_core_state_clone function" [km_core_state_dispose]: keyboards#km_core_state_dispose "km_core_state_dispose function" [km_core_debug_context_type]: keyboards#km_core_debug_context_type "km_core_debug_context_type enum" [km_core_state_context_debug]: keyboards#km_core_state_context_debug "km_core_state_context_debug function" [km_core_cu_dispose]: keyboards#km_core_cu_dispose "km_core_cu_dispose function" [km_core_event_flags]: processor#km_core_event_flags "km_core_event_flags enum" [km_core_process_event]: processor#km_core_process_event "km_core_process_event function" [km_core_event]: processor#km_core_event "km_core_event function" [km_core_event_code]: processor#km_core_event_code "km_core_event_code enum" [km_core_action_item]: actions#km_core_action_item "km_core_action_item struct" [km_core_state_action_items]: actions#km_core_state_action_items "km_core_state_action_items function" [km_core_state_queue_action_items]: actions#km_core_state_queue_action_items "km_core_state_queue_action_items function" [km_core_process_queued_actions]: actions#km_core_process_queued_actions "km_core_process_queued_actions function" [km_core_context_type]: context#km_core_context_type "km_core_context_type enum" [km_core_context_item]: context#km_core_context_item "km_core_context_item struct" [KM_CORE_CONTEXT_ITEM_END]: context#KM_CORE_CONTEXT_ITEM_END "KM_CORE_CONTEXT_ITEM_END macro" [km_core_state_get_intermediate_context]: context#km_core_state_get_intermediate_context "km_core_state_get_intermediate_context function" [km_core_context_items_dispose]: context#km_core_context_items_dispose "km_core_context_items_dispose function" [km_core_state_context]: context#km_core_state_context "km_core_state_context function" [km_core_state_app_context]: context#km_core_state_app_context "km_core_state_app_context function" [km_core_context_set]: context#km_core_context_set "km_core_context_set function" [km_core_context_clear]: context#km_core_context_clear "km_core_context_clear function" [km_core_context_item_list_size]: context#km_core_context_item_list_size "km_core_context_item_list_size function" [km_core_context_get]: context#km_core_context_get "km_core_context_get function" [km_core_context_length]: context#km_core_context_length "km_core_context_length function" [km_core_modifier_state]: virtual-keys#km_core_modifier_state "km_core_modifier_state enum" [km_core_modifier_mask]: virtual-keys#km_core_modifier_mask "km_core_modifier_mask " [km_core_virtual_key_value]: virtual-keys#km_core_virtual_key_value "km_core_virtual_key_value "