File indexing completed on 2025-01-18 10:14:32
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #ifndef _X11_XKBLIB_H_
0028 #define _X11_XKBLIB_H_
0029
0030 #include <X11/Xlib.h>
0031 #include <X11/extensions/XKBstr.h>
0032
0033 typedef struct _XkbAnyEvent {
0034 int type;
0035 unsigned long serial;
0036 Bool send_event;
0037 Display * display;
0038 Time time;
0039 int xkb_type;
0040 unsigned int device;
0041 } XkbAnyEvent;
0042
0043 typedef struct _XkbNewKeyboardNotify {
0044 int type;
0045 unsigned long serial;
0046 Bool send_event;
0047 Display * display;
0048 Time time;
0049 int xkb_type;
0050 int device;
0051 int old_device;
0052 int min_key_code;
0053 int max_key_code;
0054 int old_min_key_code;
0055 int old_max_key_code;
0056 unsigned int changed;
0057 char req_major;
0058 char req_minor;
0059 } XkbNewKeyboardNotifyEvent;
0060
0061 typedef struct _XkbMapNotifyEvent {
0062 int type;
0063 unsigned long serial;
0064 Bool send_event;
0065 Display * display;
0066 Time time;
0067 int xkb_type;
0068 int device;
0069 unsigned int changed;
0070 unsigned int flags;
0071 int first_type;
0072 int num_types;
0073 KeyCode min_key_code;
0074 KeyCode max_key_code;
0075 KeyCode first_key_sym;
0076 KeyCode first_key_act;
0077 KeyCode first_key_behavior;
0078 KeyCode first_key_explicit;
0079 KeyCode first_modmap_key;
0080 KeyCode first_vmodmap_key;
0081 int num_key_syms;
0082 int num_key_acts;
0083 int num_key_behaviors;
0084 int num_key_explicit;
0085 int num_modmap_keys;
0086 int num_vmodmap_keys;
0087 unsigned int vmods;
0088 } XkbMapNotifyEvent;
0089
0090 typedef struct _XkbStateNotifyEvent {
0091 int type;
0092 unsigned long serial;
0093 Bool send_event;
0094 Display * display;
0095 Time time;
0096 int xkb_type;
0097 int device;
0098 unsigned int changed;
0099 int group;
0100 int base_group;
0101 int latched_group;
0102 int locked_group;
0103 unsigned int mods;
0104 unsigned int base_mods;
0105 unsigned int latched_mods;
0106 unsigned int locked_mods;
0107 int compat_state;
0108 unsigned char grab_mods;
0109 unsigned char compat_grab_mods;
0110 unsigned char lookup_mods;
0111 unsigned char compat_lookup_mods;
0112 int ptr_buttons;
0113 KeyCode keycode;
0114 char event_type;
0115 char req_major;
0116 char req_minor;
0117 } XkbStateNotifyEvent;
0118
0119 typedef struct _XkbControlsNotify {
0120 int type;
0121 unsigned long serial;
0122 Bool send_event;
0123 Display * display;
0124 Time time;
0125 int xkb_type;
0126 int device;
0127 unsigned int changed_ctrls;
0128 unsigned int enabled_ctrls;
0129 unsigned int enabled_ctrl_changes;
0130 int num_groups;
0131 KeyCode keycode;
0132 char event_type;
0133 char req_major;
0134 char req_minor;
0135 } XkbControlsNotifyEvent;
0136
0137 typedef struct _XkbIndicatorNotify {
0138 int type;
0139 unsigned long serial;
0140 Bool send_event;
0141 Display * display;
0142 Time time;
0143 int xkb_type;
0144 int device;
0145 unsigned int changed;
0146 unsigned int state;
0147 } XkbIndicatorNotifyEvent;
0148
0149 typedef struct _XkbNamesNotify {
0150 int type;
0151 unsigned long serial;
0152 Bool send_event;
0153 Display * display;
0154 Time time;
0155 int xkb_type;
0156 int device;
0157 unsigned int changed;
0158 int first_type;
0159 int num_types;
0160 int first_lvl;
0161 int num_lvls;
0162 int num_aliases;
0163 int num_radio_groups;
0164 unsigned int changed_vmods;
0165 unsigned int changed_groups;
0166 unsigned int changed_indicators;
0167 int first_key;
0168 int num_keys;
0169 } XkbNamesNotifyEvent;
0170
0171 typedef struct _XkbCompatMapNotify {
0172 int type;
0173 unsigned long serial;
0174 Bool send_event;
0175 Display * display;
0176 Time time;
0177 int xkb_type;
0178 int device;
0179 unsigned int changed_groups;
0180 int first_si;
0181 int num_si;
0182 int num_total_si;
0183 } XkbCompatMapNotifyEvent;
0184
0185 typedef struct _XkbBellNotify {
0186 int type;
0187 unsigned long serial;
0188 Bool send_event;
0189 Display * display;
0190 Time time;
0191 int xkb_type;
0192 int device;
0193 int percent;
0194 int pitch;
0195 int duration;
0196 int bell_class;
0197 int bell_id;
0198 Atom name;
0199 Window window;
0200 Bool event_only;
0201 } XkbBellNotifyEvent;
0202
0203 typedef struct _XkbActionMessage {
0204 int type;
0205 unsigned long serial;
0206 Bool send_event;
0207 Display * display;
0208 Time time;
0209 int xkb_type;
0210 int device;
0211 KeyCode keycode;
0212 Bool press;
0213 Bool key_event_follows;
0214 int group;
0215 unsigned int mods;
0216 char message[XkbActionMessageLength+1];
0217
0218 } XkbActionMessageEvent;
0219
0220 typedef struct _XkbAccessXNotify {
0221 int type;
0222 unsigned long serial;
0223 Bool send_event;
0224 Display * display;
0225 Time time;
0226 int xkb_type;
0227 int device;
0228 int detail;
0229 int keycode;
0230 int sk_delay;
0231 int debounce_delay;
0232 } XkbAccessXNotifyEvent;
0233
0234 typedef struct _XkbExtensionDeviceNotify {
0235 int type;
0236 unsigned long serial;
0237 Bool send_event;
0238 Display * display;
0239 Time time;
0240 int xkb_type;
0241 int device;
0242 unsigned int reason;
0243 unsigned int supported;
0244 unsigned int unsupported;
0245
0246 int first_btn;
0247 int num_btns;
0248 unsigned int leds_defined;
0249 unsigned int led_state;
0250 int led_class;
0251 int led_id;
0252 } XkbExtensionDeviceNotifyEvent;
0253
0254 typedef union _XkbEvent {
0255 int type;
0256 XkbAnyEvent any;
0257 XkbNewKeyboardNotifyEvent new_kbd;
0258 XkbMapNotifyEvent map;
0259 XkbStateNotifyEvent state;
0260 XkbControlsNotifyEvent ctrls;
0261 XkbIndicatorNotifyEvent indicators;
0262 XkbNamesNotifyEvent names;
0263 XkbCompatMapNotifyEvent compat;
0264 XkbBellNotifyEvent bell;
0265 XkbActionMessageEvent message;
0266 XkbAccessXNotifyEvent accessx;
0267 XkbExtensionDeviceNotifyEvent device;
0268 XEvent core;
0269 } XkbEvent;
0270
0271 typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr;
0272
0273
0274 #define XkbOD_Success 0
0275 #define XkbOD_BadLibraryVersion 1
0276 #define XkbOD_ConnectionRefused 2
0277 #define XkbOD_NonXkbServer 3
0278 #define XkbOD_BadServerVersion 4
0279
0280
0281 #define XkbLC_ForceLatin1Lookup (1<<0)
0282 #define XkbLC_ConsumeLookupMods (1<<1)
0283 #define XkbLC_AlwaysConsumeShiftAndLock (1<<2)
0284 #define XkbLC_IgnoreNewKeyboards (1<<3)
0285 #define XkbLC_ControlFallback (1<<4)
0286 #define XkbLC_ConsumeKeysOnComposeFail (1<<29)
0287 #define XkbLC_ComposeLED (1<<30)
0288 #define XkbLC_BeepOnComposeFail (1<<31)
0289
0290 #define XkbLC_AllComposeControls (0xc0000000)
0291 #define XkbLC_AllControls (0xc000001f)
0292
0293 _XFUNCPROTOBEGIN
0294
0295 extern Bool XkbIgnoreExtension(
0296 Bool
0297 );
0298
0299 extern Display *XkbOpenDisplay(
0300 _Xconst char * ,
0301 int * ,
0302 int * ,
0303 int * ,
0304 int * ,
0305 int *
0306 );
0307
0308 extern Bool XkbQueryExtension(
0309 Display * ,
0310 int * ,
0311 int * ,
0312 int * ,
0313 int * ,
0314 int *
0315 );
0316
0317 extern Bool XkbUseExtension(
0318 Display * ,
0319 int * ,
0320 int *
0321 );
0322
0323 extern Bool XkbLibraryVersion(
0324 int * ,
0325 int *
0326 );
0327
0328 extern unsigned int XkbSetXlibControls(
0329 Display* ,
0330 unsigned int ,
0331 unsigned int
0332 );
0333
0334 extern unsigned int XkbGetXlibControls(
0335 Display*
0336 );
0337
0338 extern unsigned int XkbXlibControlsImplemented(void);
0339
0340 typedef Atom (*XkbInternAtomFunc)(
0341 Display * ,
0342 _Xconst char * ,
0343 Bool
0344 );
0345
0346 typedef char * (*XkbGetAtomNameFunc)(
0347 Display * ,
0348 Atom
0349 );
0350
0351 extern void XkbSetAtomFuncs(
0352 XkbInternAtomFunc ,
0353 XkbGetAtomNameFunc
0354 );
0355
0356 extern KeySym XkbKeycodeToKeysym(
0357 Display * ,
0358 #if NeedWidePrototypes
0359 unsigned int ,
0360 #else
0361 KeyCode ,
0362 #endif
0363 int ,
0364 int
0365 );
0366
0367 extern unsigned int XkbKeysymToModifiers(
0368 Display * ,
0369 KeySym
0370 );
0371
0372 extern Bool XkbLookupKeySym(
0373 Display * ,
0374 KeyCode ,
0375 unsigned int ,
0376 unsigned int * ,
0377 KeySym *
0378 );
0379
0380 extern int XkbLookupKeyBinding(
0381 Display * ,
0382 KeySym ,
0383 unsigned int ,
0384 char * ,
0385 int ,
0386 int *
0387 );
0388
0389 extern Bool XkbTranslateKeyCode(
0390 XkbDescPtr ,
0391 KeyCode ,
0392 unsigned int ,
0393 unsigned int * ,
0394 KeySym *
0395 );
0396
0397 extern int XkbTranslateKeySym(
0398 Display * ,
0399 KeySym * ,
0400 unsigned int ,
0401 char * ,
0402 int ,
0403 int *
0404 );
0405
0406 extern Bool XkbSetAutoRepeatRate(
0407 Display * ,
0408 unsigned int ,
0409 unsigned int ,
0410 unsigned int
0411 );
0412
0413 extern Bool XkbGetAutoRepeatRate(
0414 Display * ,
0415 unsigned int ,
0416 unsigned int * ,
0417 unsigned int *
0418 );
0419
0420 extern Bool XkbChangeEnabledControls(
0421 Display * ,
0422 unsigned int ,
0423 unsigned int ,
0424 unsigned int
0425 );
0426
0427 extern Bool XkbDeviceBell(
0428 Display * ,
0429 Window ,
0430 int ,
0431 int ,
0432 int ,
0433 int ,
0434 Atom
0435 );
0436
0437 extern Bool XkbForceDeviceBell(
0438 Display * ,
0439 int ,
0440 int ,
0441 int ,
0442 int
0443 );
0444
0445 extern Bool XkbDeviceBellEvent(
0446 Display * ,
0447 Window ,
0448 int ,
0449 int ,
0450 int ,
0451 int ,
0452 Atom
0453 );
0454
0455 extern Bool XkbBell(
0456 Display * ,
0457 Window ,
0458 int ,
0459 Atom
0460 );
0461
0462 extern Bool XkbForceBell(
0463 Display * ,
0464 int
0465 );
0466
0467 extern Bool XkbBellEvent(
0468 Display * ,
0469 Window ,
0470 int ,
0471 Atom
0472 );
0473
0474 extern Bool XkbSelectEvents(
0475 Display * ,
0476 unsigned int ,
0477 unsigned int ,
0478 unsigned int
0479 );
0480
0481 extern Bool XkbSelectEventDetails(
0482 Display * ,
0483 unsigned int ,
0484 unsigned int ,
0485 unsigned long ,
0486 unsigned long
0487 );
0488
0489 extern void XkbNoteMapChanges(
0490 XkbMapChangesPtr ,
0491 XkbMapNotifyEvent * ,
0492 unsigned int
0493 );
0494
0495 extern void XkbNoteNameChanges(
0496 XkbNameChangesPtr ,
0497 XkbNamesNotifyEvent * ,
0498 unsigned int
0499 );
0500
0501 extern Status XkbGetIndicatorState(
0502 Display * ,
0503 unsigned int ,
0504 unsigned int *
0505 );
0506
0507 extern Status XkbGetDeviceIndicatorState(
0508 Display * ,
0509 unsigned int ,
0510 unsigned int ,
0511 unsigned int ,
0512 unsigned int *
0513 );
0514
0515 extern Status XkbGetIndicatorMap(
0516 Display * ,
0517 unsigned long ,
0518 XkbDescPtr
0519 );
0520
0521 extern Bool XkbSetIndicatorMap(
0522 Display * ,
0523 unsigned long ,
0524 XkbDescPtr
0525 );
0526
0527 #define XkbNoteIndicatorMapChanges(o,n,w) \
0528 ((o)->map_changes|=((n)->map_changes&(w)))
0529 #define XkbNoteIndicatorStateChanges(o,n,w)\
0530 ((o)->state_changes|=((n)->state_changes&(w)))
0531 #define XkbGetIndicatorMapChanges(d,x,c) \
0532 (XkbGetIndicatorMap((d),(c)->map_changes,x))
0533 #define XkbChangeIndicatorMaps(d,x,c) \
0534 (XkbSetIndicatorMap((d),(c)->map_changes,x))
0535
0536 extern Bool XkbGetNamedIndicator(
0537 Display * ,
0538 Atom ,
0539 int * ,
0540 Bool * ,
0541 XkbIndicatorMapPtr ,
0542 Bool *
0543 );
0544
0545 extern Bool XkbGetNamedDeviceIndicator(
0546 Display * ,
0547 unsigned int ,
0548 unsigned int ,
0549 unsigned int ,
0550 Atom ,
0551 int * ,
0552 Bool * ,
0553 XkbIndicatorMapPtr ,
0554 Bool *
0555 );
0556
0557 extern Bool XkbSetNamedIndicator(
0558 Display * ,
0559 Atom ,
0560 Bool ,
0561 Bool ,
0562 Bool ,
0563 XkbIndicatorMapPtr
0564 );
0565
0566 extern Bool XkbSetNamedDeviceIndicator(
0567 Display * ,
0568 unsigned int ,
0569 unsigned int ,
0570 unsigned int ,
0571 Atom ,
0572 Bool ,
0573 Bool ,
0574 Bool ,
0575 XkbIndicatorMapPtr
0576 );
0577
0578 extern Bool XkbLockModifiers(
0579 Display * ,
0580 unsigned int ,
0581 unsigned int ,
0582 unsigned int
0583 );
0584
0585 extern Bool XkbLatchModifiers(
0586 Display * ,
0587 unsigned int ,
0588 unsigned int ,
0589 unsigned int
0590 );
0591
0592 extern Bool XkbLockGroup(
0593 Display * ,
0594 unsigned int ,
0595 unsigned int
0596 );
0597
0598 extern Bool XkbLatchGroup(
0599 Display * ,
0600 unsigned int ,
0601 unsigned int
0602 );
0603
0604 extern Bool XkbSetServerInternalMods(
0605 Display * ,
0606 unsigned int ,
0607 unsigned int ,
0608 unsigned int ,
0609 unsigned int ,
0610 unsigned int
0611 );
0612
0613 extern Bool XkbSetIgnoreLockMods(
0614 Display * ,
0615 unsigned int ,
0616 unsigned int ,
0617 unsigned int ,
0618 unsigned int ,
0619 unsigned int
0620 );
0621
0622
0623 extern Bool XkbVirtualModsToReal(
0624 XkbDescPtr ,
0625 unsigned int ,
0626 unsigned int *
0627 );
0628
0629 extern Bool XkbComputeEffectiveMap(
0630 XkbDescPtr ,
0631 XkbKeyTypePtr ,
0632 unsigned char *
0633 );
0634
0635 extern Status XkbInitCanonicalKeyTypes(
0636 XkbDescPtr ,
0637 unsigned int ,
0638 int
0639 );
0640
0641 extern XkbDescPtr XkbAllocKeyboard(
0642 void
0643 );
0644
0645 extern void XkbFreeKeyboard(
0646 XkbDescPtr ,
0647 unsigned int ,
0648 Bool
0649 );
0650
0651 extern Status XkbAllocClientMap(
0652 XkbDescPtr ,
0653 unsigned int ,
0654 unsigned int
0655 );
0656
0657 extern Status XkbAllocServerMap(
0658 XkbDescPtr ,
0659 unsigned int ,
0660 unsigned int
0661 );
0662
0663 extern void XkbFreeClientMap(
0664 XkbDescPtr ,
0665 unsigned int ,
0666 Bool
0667 );
0668
0669 extern void XkbFreeServerMap(
0670 XkbDescPtr ,
0671 unsigned int ,
0672 Bool
0673 );
0674
0675 extern XkbKeyTypePtr XkbAddKeyType(
0676 XkbDescPtr ,
0677 Atom ,
0678 int ,
0679 Bool ,
0680 int
0681 );
0682
0683 extern Status XkbAllocIndicatorMaps(
0684 XkbDescPtr
0685 );
0686
0687 extern void XkbFreeIndicatorMaps(
0688 XkbDescPtr
0689 );
0690
0691 extern XkbDescPtr XkbGetMap(
0692 Display * ,
0693 unsigned int ,
0694 unsigned int
0695 );
0696
0697 extern Status XkbGetUpdatedMap(
0698 Display * ,
0699 unsigned int ,
0700 XkbDescPtr
0701 );
0702
0703 extern Status XkbGetMapChanges(
0704 Display * ,
0705 XkbDescPtr ,
0706 XkbMapChangesPtr
0707 );
0708
0709
0710 extern Status XkbRefreshKeyboardMapping(
0711 XkbMapNotifyEvent *
0712 );
0713
0714 extern Status XkbGetKeyTypes(
0715 Display * ,
0716 unsigned int ,
0717 unsigned int ,
0718 XkbDescPtr
0719 );
0720
0721 extern Status XkbGetKeySyms(
0722 Display * ,
0723 unsigned int ,
0724 unsigned int ,
0725 XkbDescPtr
0726 );
0727
0728 extern Status XkbGetKeyActions(
0729 Display * ,
0730 unsigned int ,
0731 unsigned int ,
0732 XkbDescPtr
0733 );
0734
0735 extern Status XkbGetKeyBehaviors(
0736 Display * ,
0737 unsigned int ,
0738 unsigned int ,
0739 XkbDescPtr
0740 );
0741
0742 extern Status XkbGetVirtualMods(
0743 Display * ,
0744 unsigned int ,
0745 XkbDescPtr
0746 );
0747
0748 extern Status XkbGetKeyExplicitComponents(
0749 Display * ,
0750 unsigned int ,
0751 unsigned int ,
0752 XkbDescPtr
0753 );
0754
0755 extern Status XkbGetKeyModifierMap(
0756 Display * ,
0757 unsigned int ,
0758 unsigned int ,
0759 XkbDescPtr
0760 );
0761
0762 extern Status XkbGetKeyVirtualModMap(
0763 Display * ,
0764 unsigned int ,
0765 unsigned int ,
0766 XkbDescPtr
0767 );
0768
0769 extern Status XkbAllocControls(
0770 XkbDescPtr ,
0771 unsigned int
0772 );
0773
0774 extern void XkbFreeControls(
0775 XkbDescPtr ,
0776 unsigned int ,
0777 Bool
0778 );
0779
0780 extern Status XkbGetControls(
0781 Display * ,
0782 unsigned long ,
0783 XkbDescPtr
0784 );
0785
0786 extern Bool XkbSetControls(
0787 Display * ,
0788 unsigned long ,
0789 XkbDescPtr
0790 );
0791
0792 extern void XkbNoteControlsChanges(
0793 XkbControlsChangesPtr ,
0794 XkbControlsNotifyEvent * ,
0795 unsigned int
0796 );
0797
0798 #define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x)
0799 #define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x)
0800
0801 extern Status XkbAllocCompatMap(
0802 XkbDescPtr ,
0803 unsigned int ,
0804 unsigned int
0805 );
0806
0807 extern void XkbFreeCompatMap(
0808 XkbDescPtr ,
0809 unsigned int ,
0810 Bool
0811 );
0812
0813 extern Status XkbGetCompatMap(
0814 Display * ,
0815 unsigned int ,
0816 XkbDescPtr
0817 );
0818
0819 extern Bool XkbSetCompatMap(
0820 Display * ,
0821 unsigned int ,
0822 XkbDescPtr ,
0823 Bool
0824 );
0825
0826 extern XkbSymInterpretPtr XkbAddSymInterpret(
0827 XkbDescPtr ,
0828 XkbSymInterpretPtr ,
0829 Bool ,
0830 XkbChangesPtr
0831 );
0832
0833 extern Status XkbAllocNames(
0834 XkbDescPtr ,
0835 unsigned int ,
0836 int ,
0837 int
0838 );
0839
0840 extern Status XkbGetNames(
0841 Display * ,
0842 unsigned int ,
0843 XkbDescPtr
0844 );
0845
0846 extern Bool XkbSetNames(
0847 Display * ,
0848 unsigned int ,
0849 unsigned int ,
0850 unsigned int ,
0851 XkbDescPtr
0852 );
0853
0854 extern Bool XkbChangeNames(
0855 Display * ,
0856 XkbDescPtr ,
0857 XkbNameChangesPtr
0858 );
0859
0860 extern void XkbFreeNames(
0861 XkbDescPtr ,
0862 unsigned int ,
0863 Bool
0864 );
0865
0866
0867 extern Status XkbGetState(
0868 Display * ,
0869 unsigned int ,
0870 XkbStatePtr
0871 );
0872
0873 extern Bool XkbSetMap(
0874 Display * ,
0875 unsigned int ,
0876 XkbDescPtr
0877 );
0878
0879 extern Bool XkbChangeMap(
0880 Display* ,
0881 XkbDescPtr ,
0882 XkbMapChangesPtr
0883 );
0884
0885 extern Bool XkbSetDetectableAutoRepeat(
0886 Display * ,
0887 Bool ,
0888 Bool *
0889 );
0890
0891 extern Bool XkbGetDetectableAutoRepeat(
0892 Display * ,
0893 Bool *
0894 );
0895
0896 extern Bool XkbSetAutoResetControls(
0897 Display * ,
0898 unsigned int ,
0899 unsigned int * ,
0900 unsigned int *
0901 );
0902
0903 extern Bool XkbGetAutoResetControls(
0904 Display * ,
0905 unsigned int * ,
0906 unsigned int *
0907 );
0908
0909 extern Bool XkbSetPerClientControls(
0910 Display * ,
0911 unsigned int ,
0912 unsigned int *
0913 );
0914
0915 extern Bool XkbGetPerClientControls(
0916 Display * ,
0917 unsigned int *
0918 );
0919
0920 extern Status XkbCopyKeyType(
0921 XkbKeyTypePtr ,
0922 XkbKeyTypePtr
0923 );
0924
0925 extern Status XkbCopyKeyTypes(
0926 XkbKeyTypePtr ,
0927 XkbKeyTypePtr ,
0928 int
0929 );
0930
0931 extern Status XkbResizeKeyType(
0932 XkbDescPtr ,
0933 int ,
0934 int ,
0935 Bool ,
0936 int
0937 );
0938
0939 extern KeySym *XkbResizeKeySyms(
0940 XkbDescPtr ,
0941 int ,
0942 int
0943 );
0944
0945 extern XkbAction *XkbResizeKeyActions(
0946 XkbDescPtr ,
0947 int ,
0948 int
0949 );
0950
0951 extern Status XkbChangeTypesOfKey(
0952 XkbDescPtr ,
0953 int ,
0954 int ,
0955 unsigned int ,
0956 int * ,
0957 XkbMapChangesPtr
0958 );
0959
0960 extern Status XkbChangeKeycodeRange(
0961 XkbDescPtr ,
0962 int ,
0963 int ,
0964 XkbChangesPtr
0965 );
0966
0967
0968
0969 extern XkbComponentListPtr XkbListComponents(
0970 Display * ,
0971 unsigned int ,
0972 XkbComponentNamesPtr ,
0973 int *
0974 );
0975
0976 extern void XkbFreeComponentList(
0977 XkbComponentListPtr
0978 );
0979
0980 extern XkbDescPtr XkbGetKeyboard(
0981 Display * ,
0982 unsigned int ,
0983 unsigned int
0984 );
0985
0986 extern XkbDescPtr XkbGetKeyboardByName(
0987 Display * ,
0988 unsigned int ,
0989 XkbComponentNamesPtr ,
0990 unsigned int ,
0991 unsigned int ,
0992 Bool
0993 );
0994
0995
0996
0997 extern int XkbKeyTypesForCoreSymbols(
0998 XkbDescPtr ,
0999 int ,
1000 KeySym * ,
1001 unsigned int ,
1002 int * ,
1003 KeySym *
1004 );
1005
1006 extern Bool XkbApplyCompatMapToKey(
1007 XkbDescPtr ,
1008 KeyCode ,
1009 XkbChangesPtr
1010 );
1011
1012 extern Bool XkbUpdateMapFromCore(
1013 XkbDescPtr ,
1014 KeyCode ,
1015 int ,
1016 int ,
1017 KeySym * ,
1018 XkbChangesPtr
1019 );
1020
1021
1022
1023 extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
1024 XkbDeviceInfoPtr ,
1025 unsigned int ,
1026 unsigned int
1027 );
1028
1029 extern Status XkbResizeDeviceButtonActions(
1030 XkbDeviceInfoPtr ,
1031 unsigned int
1032 );
1033
1034 extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
1035 unsigned int ,
1036 unsigned int ,
1037 unsigned int
1038 );
1039
1040 extern void XkbFreeDeviceInfo(
1041 XkbDeviceInfoPtr ,
1042 unsigned int ,
1043 Bool
1044 );
1045
1046 extern void XkbNoteDeviceChanges(
1047 XkbDeviceChangesPtr ,
1048 XkbExtensionDeviceNotifyEvent * ,
1049 unsigned int
1050 );
1051
1052 extern XkbDeviceInfoPtr XkbGetDeviceInfo(
1053 Display * ,
1054 unsigned int ,
1055 unsigned int ,
1056 unsigned int ,
1057 unsigned int
1058 );
1059
1060 extern Status XkbGetDeviceInfoChanges(
1061 Display * ,
1062 XkbDeviceInfoPtr ,
1063 XkbDeviceChangesPtr
1064 );
1065
1066 extern Status XkbGetDeviceButtonActions(
1067 Display * ,
1068 XkbDeviceInfoPtr ,
1069 Bool ,
1070 unsigned int ,
1071 unsigned int
1072 );
1073
1074 extern Status XkbGetDeviceLedInfo(
1075 Display * ,
1076 XkbDeviceInfoPtr ,
1077 unsigned int ,
1078 unsigned int ,
1079 unsigned int
1080 );
1081
1082 extern Bool XkbSetDeviceInfo(
1083 Display * ,
1084 unsigned int ,
1085 XkbDeviceInfoPtr
1086 );
1087
1088 extern Bool XkbChangeDeviceInfo(
1089 Display* ,
1090 XkbDeviceInfoPtr ,
1091 XkbDeviceChangesPtr
1092 );
1093
1094 extern Bool XkbSetDeviceLedInfo(
1095 Display * ,
1096 XkbDeviceInfoPtr ,
1097 unsigned int ,
1098 unsigned int ,
1099 unsigned int
1100 );
1101
1102 extern Bool XkbSetDeviceButtonActions(
1103 Display * ,
1104 XkbDeviceInfoPtr ,
1105 unsigned int ,
1106 unsigned int
1107 );
1108
1109
1110
1111 extern char XkbToControl(
1112 char
1113 );
1114
1115
1116
1117 extern Bool XkbSetDebuggingFlags(
1118 Display * ,
1119 unsigned int ,
1120 unsigned int ,
1121 char * ,
1122 unsigned int ,
1123 unsigned int ,
1124 unsigned int * ,
1125 unsigned int *
1126 );
1127
1128 extern Bool XkbApplyVirtualModChanges(
1129 XkbDescPtr ,
1130 unsigned int ,
1131 XkbChangesPtr
1132 );
1133
1134 extern Bool XkbUpdateActionVirtualMods(
1135 XkbDescPtr ,
1136 XkbAction * ,
1137 unsigned int
1138 );
1139
1140 extern void XkbUpdateKeyTypeVirtualMods(
1141 XkbDescPtr ,
1142 XkbKeyTypePtr ,
1143 unsigned int ,
1144 XkbChangesPtr
1145 );
1146
1147 _XFUNCPROTOEND
1148
1149 #endif