Buckets:
arudradey/ml-cpu-storage / emsdk /upstream /emscripten /cache /sysroot /include /X11 /extensions /XKBstr.h
| /************************************************************ | |
| Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc. | |
| Permission to use, copy, modify, and distribute this | |
| software and its documentation for any purpose and without | |
| fee is hereby granted, provided that the above copyright | |
| notice appear in all copies and that both that copyright | |
| notice and this permission notice appear in supporting | |
| documentation, and that the name of Silicon Graphics not be | |
| used in advertising or publicity pertaining to distribution | |
| of the software without specific prior written permission. | |
| Silicon Graphics makes no representation about the suitability | |
| of this software for any purpose. It is provided "as is" | |
| without any express or implied warranty. | |
| SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS | |
| SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY | |
| AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON | |
| GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL | |
| DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, | |
| DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE | |
| OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH | |
| THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
| ********************************************************/ | |
| /* | |
| * Common data structures and access macros | |
| */ | |
| typedef struct _XkbStateRec { | |
| unsigned char group; | |
| unsigned char locked_group; | |
| unsigned short base_group; | |
| unsigned short latched_group; | |
| unsigned char mods; | |
| unsigned char base_mods; | |
| unsigned char latched_mods; | |
| unsigned char locked_mods; | |
| unsigned char compat_state; | |
| unsigned char grab_mods; | |
| unsigned char compat_grab_mods; | |
| unsigned char lookup_mods; | |
| unsigned char compat_lookup_mods; | |
| unsigned short ptr_buttons; | |
| } XkbStateRec,*XkbStatePtr; | |
| typedef struct _XkbMods { | |
| unsigned char mask; /* effective mods */ | |
| unsigned char real_mods; | |
| unsigned short vmods; | |
| } XkbModsRec,*XkbModsPtr; | |
| typedef struct _XkbKTMapEntry { | |
| Bool active; | |
| unsigned char level; | |
| XkbModsRec mods; | |
| } XkbKTMapEntryRec,*XkbKTMapEntryPtr; | |
| typedef struct _XkbKeyType { | |
| XkbModsRec mods; | |
| unsigned char num_levels; | |
| unsigned char map_count; | |
| XkbKTMapEntryPtr map; | |
| XkbModsPtr preserve; | |
| Atom name; | |
| Atom * level_names; | |
| } XkbKeyTypeRec, *XkbKeyTypePtr; | |
| /* | |
| * Structures and access macros used primarily by the server | |
| */ | |
| typedef struct _XkbBehavior { | |
| unsigned char type; | |
| unsigned char data; | |
| } XkbBehavior; | |
| typedef struct _XkbAnyAction { | |
| unsigned char type; | |
| unsigned char data[XkbAnyActionDataSize]; | |
| } XkbAnyAction; | |
| typedef struct _XkbModAction { | |
| unsigned char type; | |
| unsigned char flags; | |
| unsigned char mask; | |
| unsigned char real_mods; | |
| unsigned char vmods1; | |
| unsigned char vmods2; | |
| } XkbModAction; | |
| typedef struct _XkbGroupAction { | |
| unsigned char type; | |
| unsigned char flags; | |
| char group_XXX; | |
| } XkbGroupAction; | |
| typedef struct _XkbISOAction { | |
| unsigned char type; | |
| unsigned char flags; | |
| unsigned char mask; | |
| unsigned char real_mods; | |
| char group_XXX; | |
| unsigned char affect; | |
| unsigned char vmods1; | |
| unsigned char vmods2; | |
| } XkbISOAction; | |
| typedef struct _XkbPtrAction { | |
| unsigned char type; | |
| unsigned char flags; | |
| unsigned char high_XXX; | |
| unsigned char low_XXX; | |
| unsigned char high_YYY; | |
| unsigned char low_YYY; | |
| } XkbPtrAction; | |
| typedef struct _XkbPtrBtnAction { | |
| unsigned char type; | |
| unsigned char flags; | |
| unsigned char count; | |
| unsigned char button; | |
| } XkbPtrBtnAction; | |
| typedef struct _XkbPtrDfltAction { | |
| unsigned char type; | |
| unsigned char flags; | |
| unsigned char affect; | |
| char valueXXX; | |
| } XkbPtrDfltAction; | |
| typedef struct _XkbSwitchScreenAction { | |
| unsigned char type; | |
| unsigned char flags; | |
| char screenXXX; | |
| } XkbSwitchScreenAction; | |
| typedef struct _XkbCtrlsAction { | |
| unsigned char type; | |
| unsigned char flags; | |
| unsigned char ctrls3; | |
| unsigned char ctrls2; | |
| unsigned char ctrls1; | |
| unsigned char ctrls0; | |
| } XkbCtrlsAction; | |
| typedef struct _XkbMessageAction { | |
| unsigned char type; | |
| unsigned char flags; | |
| unsigned char message[6]; | |
| } XkbMessageAction; | |
| typedef struct _XkbRedirectKeyAction { | |
| unsigned char type; | |
| unsigned char new_key; | |
| unsigned char mods_mask; | |
| unsigned char mods; | |
| unsigned char vmods_mask0; | |
| unsigned char vmods_mask1; | |
| unsigned char vmods0; | |
| unsigned char vmods1; | |
| } XkbRedirectKeyAction; | |
| typedef struct _XkbDeviceBtnAction { | |
| unsigned char type; | |
| unsigned char flags; | |
| unsigned char count; | |
| unsigned char button; | |
| unsigned char device; | |
| } XkbDeviceBtnAction; | |
| typedef struct _XkbDeviceValuatorAction { | |
| unsigned char type; | |
| unsigned char device; | |
| unsigned char v1_what; | |
| unsigned char v1_ndx; | |
| unsigned char v1_value; | |
| unsigned char v2_what; | |
| unsigned char v2_ndx; | |
| unsigned char v2_value; | |
| } XkbDeviceValuatorAction; | |
| typedef union _XkbAction { | |
| XkbAnyAction any; | |
| XkbModAction mods; | |
| XkbGroupAction group; | |
| XkbISOAction iso; | |
| XkbPtrAction ptr; | |
| XkbPtrBtnAction btn; | |
| XkbPtrDfltAction dflt; | |
| XkbSwitchScreenAction screen; | |
| XkbCtrlsAction ctrls; | |
| XkbMessageAction msg; | |
| XkbRedirectKeyAction redirect; | |
| XkbDeviceBtnAction devbtn; | |
| XkbDeviceValuatorAction devval; | |
| unsigned char type; | |
| } XkbAction; | |
| typedef struct _XkbControls { | |
| unsigned char mk_dflt_btn; | |
| unsigned char num_groups; | |
| unsigned char groups_wrap; | |
| XkbModsRec internal; | |
| XkbModsRec ignore_lock; | |
| unsigned int enabled_ctrls; | |
| unsigned short repeat_delay; | |
| unsigned short repeat_interval; | |
| unsigned short slow_keys_delay; | |
| unsigned short debounce_delay; | |
| unsigned short mk_delay; | |
| unsigned short mk_interval; | |
| unsigned short mk_time_to_max; | |
| unsigned short mk_max_speed; | |
| short mk_curve; | |
| unsigned short ax_options; | |
| unsigned short ax_timeout; | |
| unsigned short axt_opts_mask; | |
| unsigned short axt_opts_values; | |
| unsigned int axt_ctrls_mask; | |
| unsigned int axt_ctrls_values; | |
| unsigned char per_key_repeat[XkbPerKeyBitArraySize]; | |
| } XkbControlsRec, *XkbControlsPtr; | |
| typedef struct _XkbServerMapRec { | |
| unsigned short num_acts; | |
| unsigned short size_acts; | |
| XkbAction *acts; | |
| XkbBehavior *behaviors; | |
| unsigned short *key_acts; | |
| /* explicit is a C++ reserved word */ | |
| unsigned char *c_explicit; | |
| unsigned char *explicit; | |
| unsigned char vmods[XkbNumVirtualMods]; | |
| unsigned short *vmodmap; | |
| } XkbServerMapRec, *XkbServerMapPtr; | |
| /* | |
| * Structures and access macros used primarily by clients | |
| */ | |
| typedef struct _XkbSymMapRec { | |
| unsigned char kt_index[XkbNumKbdGroups]; | |
| unsigned char group_info; | |
| unsigned char width; | |
| unsigned short offset; | |
| } XkbSymMapRec, *XkbSymMapPtr; | |
| typedef struct _XkbClientMapRec { | |
| unsigned char size_types; | |
| unsigned char num_types; | |
| XkbKeyTypePtr types; | |
| unsigned short size_syms; | |
| unsigned short num_syms; | |
| KeySym *syms; | |
| XkbSymMapPtr key_sym_map; | |
| unsigned char *modmap; | |
| } XkbClientMapRec, *XkbClientMapPtr; | |
| /* | |
| * Compatibility structures and access macros | |
| */ | |
| typedef struct _XkbSymInterpretRec { | |
| KeySym sym; | |
| unsigned char flags; | |
| unsigned char match; | |
| unsigned char mods; | |
| unsigned char virtual_mod; | |
| XkbAnyAction act; | |
| } XkbSymInterpretRec,*XkbSymInterpretPtr; | |
| typedef struct _XkbCompatMapRec { | |
| XkbSymInterpretPtr sym_interpret; | |
| XkbModsRec groups[XkbNumKbdGroups]; | |
| unsigned short num_si; | |
| unsigned short size_si; | |
| } XkbCompatMapRec, *XkbCompatMapPtr; | |
| typedef struct _XkbIndicatorMapRec { | |
| unsigned char flags; | |
| unsigned char which_groups; | |
| unsigned char groups; | |
| unsigned char which_mods; | |
| XkbModsRec mods; | |
| unsigned int ctrls; | |
| } XkbIndicatorMapRec, *XkbIndicatorMapPtr; | |
| typedef struct _XkbIndicatorRec { | |
| unsigned long phys_indicators; | |
| XkbIndicatorMapRec maps[XkbNumIndicators]; | |
| } XkbIndicatorRec,*XkbIndicatorPtr; | |
| typedef struct _XkbKeyNameRec { | |
| char name[XkbKeyNameLength]; | |
| } XkbKeyNameRec,*XkbKeyNamePtr; | |
| typedef struct _XkbKeyAliasRec { | |
| char real[XkbKeyNameLength]; | |
| char alias[XkbKeyNameLength]; | |
| } XkbKeyAliasRec,*XkbKeyAliasPtr; | |
| /* | |
| * Names for everything | |
| */ | |
| typedef struct _XkbNamesRec { | |
| Atom keycodes; | |
| Atom geometry; | |
| Atom symbols; | |
| Atom types; | |
| Atom compat; | |
| Atom vmods[XkbNumVirtualMods]; | |
| Atom indicators[XkbNumIndicators]; | |
| Atom groups[XkbNumKbdGroups]; | |
| XkbKeyNamePtr keys; | |
| XkbKeyAliasPtr key_aliases; | |
| Atom *radio_groups; | |
| Atom phys_symbols; | |
| unsigned char num_keys; | |
| unsigned char num_key_aliases; | |
| unsigned short num_rg; | |
| } XkbNamesRec,*XkbNamesPtr; | |
| typedef struct _XkbGeometry *XkbGeometryPtr; | |
| /* | |
| * Tie it all together into one big keyboard description | |
| */ | |
| typedef struct _XkbDesc { | |
| struct _XDisplay * dpy; | |
| unsigned short flags; | |
| unsigned short device_spec; | |
| KeyCode min_key_code; | |
| KeyCode max_key_code; | |
| XkbControlsPtr ctrls; | |
| XkbServerMapPtr server; | |
| XkbClientMapPtr map; | |
| XkbIndicatorPtr indicators; | |
| XkbNamesPtr names; | |
| XkbCompatMapPtr compat; | |
| XkbGeometryPtr geom; | |
| } XkbDescRec, *XkbDescPtr; | |
| /* | |
| * The following structures can be used to track changes | |
| * to a keyboard device | |
| */ | |
| typedef struct _XkbMapChanges { | |
| unsigned short changed; | |
| KeyCode min_key_code; | |
| KeyCode max_key_code; | |
| unsigned char first_type; | |
| unsigned char num_types; | |
| KeyCode first_key_sym; | |
| unsigned char num_key_syms; | |
| KeyCode first_key_act; | |
| unsigned char num_key_acts; | |
| KeyCode first_key_behavior; | |
| unsigned char num_key_behaviors; | |
| KeyCode first_key_explicit; | |
| unsigned char num_key_explicit; | |
| KeyCode first_modmap_key; | |
| unsigned char num_modmap_keys; | |
| KeyCode first_vmodmap_key; | |
| unsigned char num_vmodmap_keys; | |
| unsigned char pad; | |
| unsigned short vmods; | |
| } XkbMapChangesRec,*XkbMapChangesPtr; | |
| typedef struct _XkbControlsChanges { | |
| unsigned int changed_ctrls; | |
| unsigned int enabled_ctrls_changes; | |
| Bool num_groups_changed; | |
| } XkbControlsChangesRec,*XkbControlsChangesPtr; | |
| typedef struct _XkbIndicatorChanges { | |
| unsigned int state_changes; | |
| unsigned int map_changes; | |
| } XkbIndicatorChangesRec,*XkbIndicatorChangesPtr; | |
| typedef struct _XkbNameChanges { | |
| unsigned int changed; | |
| unsigned char first_type; | |
| unsigned char num_types; | |
| unsigned char first_lvl; | |
| unsigned char num_lvls; | |
| unsigned char num_aliases; | |
| unsigned char num_rg; | |
| unsigned char first_key; | |
| unsigned char num_keys; | |
| unsigned short changed_vmods; | |
| unsigned long changed_indicators; | |
| unsigned char changed_groups; | |
| } XkbNameChangesRec,*XkbNameChangesPtr; | |
| typedef struct _XkbCompatChanges { | |
| unsigned char changed_groups; | |
| unsigned short first_si; | |
| unsigned short num_si; | |
| } XkbCompatChangesRec,*XkbCompatChangesPtr; | |
| typedef struct _XkbChanges { | |
| unsigned short device_spec; | |
| unsigned short state_changes; | |
| XkbMapChangesRec map; | |
| XkbControlsChangesRec ctrls; | |
| XkbIndicatorChangesRec indicators; | |
| XkbNameChangesRec names; | |
| XkbCompatChangesRec compat; | |
| } XkbChangesRec, *XkbChangesPtr; | |
| /* | |
| * These data structures are used to construct a keymap from | |
| * a set of components or to list components in the server | |
| * database. | |
| */ | |
| typedef struct _XkbComponentNames { | |
| char * keymap; | |
| char * keycodes; | |
| char * types; | |
| char * compat; | |
| char * symbols; | |
| char * geometry; | |
| } XkbComponentNamesRec, *XkbComponentNamesPtr; | |
| typedef struct _XkbComponentName { | |
| unsigned short flags; | |
| char * name; | |
| } XkbComponentNameRec,*XkbComponentNamePtr; | |
| typedef struct _XkbComponentList { | |
| int num_keymaps; | |
| int num_keycodes; | |
| int num_types; | |
| int num_compat; | |
| int num_symbols; | |
| int num_geometry; | |
| XkbComponentNamePtr keymaps; | |
| XkbComponentNamePtr keycodes; | |
| XkbComponentNamePtr types; | |
| XkbComponentNamePtr compat; | |
| XkbComponentNamePtr symbols; | |
| XkbComponentNamePtr geometry; | |
| } XkbComponentListRec, *XkbComponentListPtr; | |
| /* | |
| * The following data structures describe and track changes to a | |
| * non-keyboard extension device | |
| */ | |
| typedef struct _XkbDeviceLedInfo { | |
| unsigned short led_class; | |
| unsigned short led_id; | |
| unsigned int phys_indicators; | |
| unsigned int maps_present; | |
| unsigned int names_present; | |
| unsigned int state; | |
| Atom names[XkbNumIndicators]; | |
| XkbIndicatorMapRec maps[XkbNumIndicators]; | |
| } XkbDeviceLedInfoRec,*XkbDeviceLedInfoPtr; | |
| typedef struct _XkbDeviceInfo { | |
| char * name; | |
| Atom type; | |
| unsigned short device_spec; | |
| Bool has_own_state; | |
| unsigned short supported; | |
| unsigned short unsupported; | |
| unsigned short num_btns; | |
| XkbAction * btn_acts; | |
| unsigned short sz_leds; | |
| unsigned short num_leds; | |
| unsigned short dflt_kbd_fb; | |
| unsigned short dflt_led_fb; | |
| XkbDeviceLedInfoPtr leds; | |
| } XkbDeviceInfoRec,*XkbDeviceInfoPtr; | |
| typedef struct _XkbDeviceLedChanges { | |
| unsigned short led_class; | |
| unsigned short led_id; | |
| unsigned int defined; /* names or maps changed */ | |
| struct _XkbDeviceLedChanges *next; | |
| } XkbDeviceLedChangesRec,*XkbDeviceLedChangesPtr; | |
| typedef struct _XkbDeviceChanges { | |
| unsigned int changed; | |
| unsigned short first_btn; | |
| unsigned short num_btns; | |
| XkbDeviceLedChangesRec leds; | |
| } XkbDeviceChangesRec,*XkbDeviceChangesPtr; | |
Xet Storage Details
- Size:
- 18.2 kB
- Xet hash:
- fb50cc5388be784ed035cb42da29f58d3c32b899fd2c57190e7b46b70bf32961
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.