annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/X11/XKBlib.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
rev   line source
jpayne@69 1 /************************************************************
jpayne@69 2 Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
jpayne@69 3
jpayne@69 4 Permission to use, copy, modify, and distribute this
jpayne@69 5 software and its documentation for any purpose and without
jpayne@69 6 fee is hereby granted, provided that the above copyright
jpayne@69 7 notice appear in all copies and that both that copyright
jpayne@69 8 notice and this permission notice appear in supporting
jpayne@69 9 documentation, and that the name of Silicon Graphics not be
jpayne@69 10 used in advertising or publicity pertaining to distribution
jpayne@69 11 of the software without specific prior written permission.
jpayne@69 12 Silicon Graphics makes no representation about the suitability
jpayne@69 13 of this software for any purpose. It is provided "as is"
jpayne@69 14 without any express or implied warranty.
jpayne@69 15
jpayne@69 16 SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
jpayne@69 17 SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
jpayne@69 18 AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
jpayne@69 19 GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
jpayne@69 20 DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
jpayne@69 21 DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
jpayne@69 22 OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
jpayne@69 23 THE USE OR PERFORMANCE OF THIS SOFTWARE.
jpayne@69 24
jpayne@69 25 ********************************************************/
jpayne@69 26
jpayne@69 27 #ifndef _X11_XKBLIB_H_
jpayne@69 28 #define _X11_XKBLIB_H_
jpayne@69 29
jpayne@69 30 #include <X11/Xlib.h>
jpayne@69 31 #include <X11/extensions/XKBstr.h>
jpayne@69 32
jpayne@69 33 typedef struct _XkbAnyEvent {
jpayne@69 34 int type; /* XkbAnyEvent */
jpayne@69 35 unsigned long serial; /* # of last req processed by server */
jpayne@69 36 Bool send_event; /* is this from a SendEvent request? */
jpayne@69 37 Display * display; /* Display the event was read from */
jpayne@69 38 Time time; /* milliseconds */
jpayne@69 39 int xkb_type; /* XKB event minor code */
jpayne@69 40 unsigned int device; /* device ID */
jpayne@69 41 } XkbAnyEvent;
jpayne@69 42
jpayne@69 43 typedef struct _XkbNewKeyboardNotify {
jpayne@69 44 int type; /* XkbAnyEvent */
jpayne@69 45 unsigned long serial; /* of last req processed by server */
jpayne@69 46 Bool send_event; /* is this from a SendEvent request? */
jpayne@69 47 Display * display; /* Display the event was read from */
jpayne@69 48 Time time; /* milliseconds */
jpayne@69 49 int xkb_type; /* XkbNewKeyboardNotify */
jpayne@69 50 int device; /* device ID */
jpayne@69 51 int old_device; /* device ID of previous keyboard */
jpayne@69 52 int min_key_code; /* minimum key code */
jpayne@69 53 int max_key_code; /* maximum key code */
jpayne@69 54 int old_min_key_code;/* min key code of previous kbd */
jpayne@69 55 int old_max_key_code;/* max key code of previous kbd */
jpayne@69 56 unsigned int changed; /* changed aspects of the keyboard */
jpayne@69 57 char req_major; /* major and minor opcode of req */
jpayne@69 58 char req_minor; /* that caused change, if applicable */
jpayne@69 59 } XkbNewKeyboardNotifyEvent;
jpayne@69 60
jpayne@69 61 typedef struct _XkbMapNotifyEvent {
jpayne@69 62 int type; /* XkbAnyEvent */
jpayne@69 63 unsigned long serial; /* of last req processed by server */
jpayne@69 64 Bool send_event; /* is this from a SendEvent request */
jpayne@69 65 Display * display; /* Display the event was read from */
jpayne@69 66 Time time; /* milliseconds */
jpayne@69 67 int xkb_type; /* XkbMapNotify */
jpayne@69 68 int device; /* device ID */
jpayne@69 69 unsigned int changed; /* fields which have been changed */
jpayne@69 70 unsigned int flags; /* reserved */
jpayne@69 71 int first_type; /* first changed key type */
jpayne@69 72 int num_types; /* number of changed key types */
jpayne@69 73 KeyCode min_key_code;
jpayne@69 74 KeyCode max_key_code;
jpayne@69 75 KeyCode first_key_sym;
jpayne@69 76 KeyCode first_key_act;
jpayne@69 77 KeyCode first_key_behavior;
jpayne@69 78 KeyCode first_key_explicit;
jpayne@69 79 KeyCode first_modmap_key;
jpayne@69 80 KeyCode first_vmodmap_key;
jpayne@69 81 int num_key_syms;
jpayne@69 82 int num_key_acts;
jpayne@69 83 int num_key_behaviors;
jpayne@69 84 int num_key_explicit;
jpayne@69 85 int num_modmap_keys;
jpayne@69 86 int num_vmodmap_keys;
jpayne@69 87 unsigned int vmods; /* mask of changed virtual mods */
jpayne@69 88 } XkbMapNotifyEvent;
jpayne@69 89
jpayne@69 90 typedef struct _XkbStateNotifyEvent {
jpayne@69 91 int type; /* XkbAnyEvent */
jpayne@69 92 unsigned long serial; /* # of last req processed by server */
jpayne@69 93 Bool send_event; /* is this from a SendEvent request? */
jpayne@69 94 Display * display; /* Display the event was read from */
jpayne@69 95 Time time; /* milliseconds */
jpayne@69 96 int xkb_type; /* XkbStateNotify */
jpayne@69 97 int device; /* device ID */
jpayne@69 98 unsigned int changed; /* mask of changed state components */
jpayne@69 99 int group; /* keyboard group */
jpayne@69 100 int base_group; /* base keyboard group */
jpayne@69 101 int latched_group; /* latched keyboard group */
jpayne@69 102 int locked_group; /* locked keyboard group */
jpayne@69 103 unsigned int mods; /* modifier state */
jpayne@69 104 unsigned int base_mods; /* base modifier state */
jpayne@69 105 unsigned int latched_mods; /* latched modifiers */
jpayne@69 106 unsigned int locked_mods; /* locked modifiers */
jpayne@69 107 int compat_state; /* compatibility state */
jpayne@69 108 unsigned char grab_mods; /* mods used for grabs */
jpayne@69 109 unsigned char compat_grab_mods;/* grab mods for non-XKB clients */
jpayne@69 110 unsigned char lookup_mods; /* mods sent to clients */
jpayne@69 111 unsigned char compat_lookup_mods; /* mods sent to non-XKB clients */
jpayne@69 112 int ptr_buttons; /* pointer button state */
jpayne@69 113 KeyCode keycode; /* keycode that caused the change */
jpayne@69 114 char event_type; /* KeyPress or KeyRelease */
jpayne@69 115 char req_major; /* Major opcode of request */
jpayne@69 116 char req_minor; /* Minor opcode of request */
jpayne@69 117 } XkbStateNotifyEvent;
jpayne@69 118
jpayne@69 119 typedef struct _XkbControlsNotify {
jpayne@69 120 int type; /* XkbAnyEvent */
jpayne@69 121 unsigned long serial; /* of last req processed by server */
jpayne@69 122 Bool send_event; /* is this from a SendEvent request? */
jpayne@69 123 Display * display; /* Display the event was read from */
jpayne@69 124 Time time; /* milliseconds */
jpayne@69 125 int xkb_type; /* XkbControlsNotify */
jpayne@69 126 int device; /* device ID */
jpayne@69 127 unsigned int changed_ctrls; /* controls with changed sub-values */
jpayne@69 128 unsigned int enabled_ctrls; /* controls currently enabled */
jpayne@69 129 unsigned int enabled_ctrl_changes;/* controls just {en,dis}abled */
jpayne@69 130 int num_groups; /* total groups on keyboard */
jpayne@69 131 KeyCode keycode; /* key that caused change or 0 */
jpayne@69 132 char event_type; /* type of event that caused change */
jpayne@69 133 char req_major; /* if keycode==0, major and minor */
jpayne@69 134 char req_minor; /* opcode of req that caused change */
jpayne@69 135 } XkbControlsNotifyEvent;
jpayne@69 136
jpayne@69 137 typedef struct _XkbIndicatorNotify {
jpayne@69 138 int type; /* XkbAnyEvent */
jpayne@69 139 unsigned long serial; /* of last req processed by server */
jpayne@69 140 Bool send_event; /* is this from a SendEvent request? */
jpayne@69 141 Display * display; /* Display the event was read from */
jpayne@69 142 Time time; /* milliseconds */
jpayne@69 143 int xkb_type; /* XkbIndicatorNotify */
jpayne@69 144 int device; /* device ID */
jpayne@69 145 unsigned int changed; /* indicators with new state or map */
jpayne@69 146 unsigned int state; /* current state of all indicators */
jpayne@69 147 } XkbIndicatorNotifyEvent;
jpayne@69 148
jpayne@69 149 typedef struct _XkbNamesNotify {
jpayne@69 150 int type; /* XkbAnyEvent */
jpayne@69 151 unsigned long serial; /* of last req processed by server */
jpayne@69 152 Bool send_event; /* is this from a SendEvent request? */
jpayne@69 153 Display * display; /* Display the event was read from */
jpayne@69 154 Time time; /* milliseconds */
jpayne@69 155 int xkb_type; /* XkbNamesNotify */
jpayne@69 156 int device; /* device ID */
jpayne@69 157 unsigned int changed; /* names that have changed */
jpayne@69 158 int first_type; /* first key type with new name */
jpayne@69 159 int num_types; /* number of key types with new names */
jpayne@69 160 int first_lvl; /* first key type new new level names */
jpayne@69 161 int num_lvls; /* # of key types w/new level names */
jpayne@69 162 int num_aliases; /* total number of key aliases*/
jpayne@69 163 int num_radio_groups;/* total number of radio groups */
jpayne@69 164 unsigned int changed_vmods; /* virtual modifiers with new names */
jpayne@69 165 unsigned int changed_groups; /* groups with new names */
jpayne@69 166 unsigned int changed_indicators;/* indicators with new names */
jpayne@69 167 int first_key; /* first key with new name */
jpayne@69 168 int num_keys; /* number of keys with new names */
jpayne@69 169 } XkbNamesNotifyEvent;
jpayne@69 170
jpayne@69 171 typedef struct _XkbCompatMapNotify {
jpayne@69 172 int type; /* XkbAnyEvent */
jpayne@69 173 unsigned long serial; /* of last req processed by server */
jpayne@69 174 Bool send_event; /* is this from a SendEvent request? */
jpayne@69 175 Display * display; /* Display the event was read from */
jpayne@69 176 Time time; /* milliseconds */
jpayne@69 177 int xkb_type; /* XkbCompatMapNotify */
jpayne@69 178 int device; /* device ID */
jpayne@69 179 unsigned int changed_groups; /* groups with new compat maps */
jpayne@69 180 int first_si; /* first new symbol interp */
jpayne@69 181 int num_si; /* number of new symbol interps */
jpayne@69 182 int num_total_si; /* total # of symbol interps */
jpayne@69 183 } XkbCompatMapNotifyEvent;
jpayne@69 184
jpayne@69 185 typedef struct _XkbBellNotify {
jpayne@69 186 int type; /* XkbAnyEvent */
jpayne@69 187 unsigned long serial; /* of last req processed by server */
jpayne@69 188 Bool send_event; /* is this from a SendEvent request? */
jpayne@69 189 Display * display; /* Display the event was read from */
jpayne@69 190 Time time; /* milliseconds */
jpayne@69 191 int xkb_type; /* XkbBellNotify */
jpayne@69 192 int device; /* device ID */
jpayne@69 193 int percent; /* requested volume as a % of maximum */
jpayne@69 194 int pitch; /* requested pitch in Hz */
jpayne@69 195 int duration; /* requested duration in useconds */
jpayne@69 196 int bell_class; /* (input extension) feedback class */
jpayne@69 197 int bell_id; /* (input extension) ID of feedback */
jpayne@69 198 Atom name; /* "name" of requested bell */
jpayne@69 199 Window window; /* window associated with event */
jpayne@69 200 Bool event_only; /* "event only" requested */
jpayne@69 201 } XkbBellNotifyEvent;
jpayne@69 202
jpayne@69 203 typedef struct _XkbActionMessage {
jpayne@69 204 int type; /* XkbAnyEvent */
jpayne@69 205 unsigned long serial; /* of last req processed by server */
jpayne@69 206 Bool send_event; /* is this from a SendEvent request? */
jpayne@69 207 Display * display; /* Display the event was read from */
jpayne@69 208 Time time; /* milliseconds */
jpayne@69 209 int xkb_type; /* XkbActionMessage */
jpayne@69 210 int device; /* device ID */
jpayne@69 211 KeyCode keycode; /* key that generated the event */
jpayne@69 212 Bool press; /* true if act caused by key press */
jpayne@69 213 Bool key_event_follows;/* true if key event also generated */
jpayne@69 214 int group; /* effective group */
jpayne@69 215 unsigned int mods; /* effective mods */
jpayne@69 216 char message[XkbActionMessageLength+1];
jpayne@69 217 /* message -- leave space for NUL */
jpayne@69 218 } XkbActionMessageEvent;
jpayne@69 219
jpayne@69 220 typedef struct _XkbAccessXNotify {
jpayne@69 221 int type; /* XkbAnyEvent */
jpayne@69 222 unsigned long serial; /* of last req processed by server */
jpayne@69 223 Bool send_event; /* is this from a SendEvent request? */
jpayne@69 224 Display * display; /* Display the event was read from */
jpayne@69 225 Time time; /* milliseconds */
jpayne@69 226 int xkb_type; /* XkbAccessXNotify */
jpayne@69 227 int device; /* device ID */
jpayne@69 228 int detail; /* XkbAXN_* */
jpayne@69 229 int keycode; /* key of event */
jpayne@69 230 int sk_delay; /* current slow keys delay */
jpayne@69 231 int debounce_delay; /* current debounce delay */
jpayne@69 232 } XkbAccessXNotifyEvent;
jpayne@69 233
jpayne@69 234 typedef struct _XkbExtensionDeviceNotify {
jpayne@69 235 int type; /* XkbAnyEvent */
jpayne@69 236 unsigned long serial; /* of last req processed by server */
jpayne@69 237 Bool send_event; /* is this from a SendEvent request? */
jpayne@69 238 Display * display; /* Display the event was read from */
jpayne@69 239 Time time; /* milliseconds */
jpayne@69 240 int xkb_type; /* XkbExtensionDeviceNotify */
jpayne@69 241 int device; /* device ID */
jpayne@69 242 unsigned int reason; /* reason for the event */
jpayne@69 243 unsigned int supported; /* mask of supported features */
jpayne@69 244 unsigned int unsupported; /* mask of unsupported features */
jpayne@69 245 /* that some app tried to use */
jpayne@69 246 int first_btn; /* first button that changed */
jpayne@69 247 int num_btns; /* range of buttons changed */
jpayne@69 248 unsigned int leds_defined; /* indicators with names or maps */
jpayne@69 249 unsigned int led_state; /* current state of the indicators */
jpayne@69 250 int led_class; /* feedback class for led changes */
jpayne@69 251 int led_id; /* feedback id for led changes */
jpayne@69 252 } XkbExtensionDeviceNotifyEvent;
jpayne@69 253
jpayne@69 254 typedef union _XkbEvent {
jpayne@69 255 int type;
jpayne@69 256 XkbAnyEvent any;
jpayne@69 257 XkbNewKeyboardNotifyEvent new_kbd;
jpayne@69 258 XkbMapNotifyEvent map;
jpayne@69 259 XkbStateNotifyEvent state;
jpayne@69 260 XkbControlsNotifyEvent ctrls;
jpayne@69 261 XkbIndicatorNotifyEvent indicators;
jpayne@69 262 XkbNamesNotifyEvent names;
jpayne@69 263 XkbCompatMapNotifyEvent compat;
jpayne@69 264 XkbBellNotifyEvent bell;
jpayne@69 265 XkbActionMessageEvent message;
jpayne@69 266 XkbAccessXNotifyEvent accessx;
jpayne@69 267 XkbExtensionDeviceNotifyEvent device;
jpayne@69 268 XEvent core;
jpayne@69 269 } XkbEvent;
jpayne@69 270
jpayne@69 271 typedef struct _XkbKbdDpyState XkbKbdDpyStateRec,*XkbKbdDpyStatePtr;
jpayne@69 272
jpayne@69 273 /* XkbOpenDisplay error codes */
jpayne@69 274 #define XkbOD_Success 0
jpayne@69 275 #define XkbOD_BadLibraryVersion 1
jpayne@69 276 #define XkbOD_ConnectionRefused 2
jpayne@69 277 #define XkbOD_NonXkbServer 3
jpayne@69 278 #define XkbOD_BadServerVersion 4
jpayne@69 279
jpayne@69 280 /* Values for XlibFlags */
jpayne@69 281 #define XkbLC_ForceLatin1Lookup (1<<0)
jpayne@69 282 #define XkbLC_ConsumeLookupMods (1<<1)
jpayne@69 283 #define XkbLC_AlwaysConsumeShiftAndLock (1<<2)
jpayne@69 284 #define XkbLC_IgnoreNewKeyboards (1<<3)
jpayne@69 285 #define XkbLC_ControlFallback (1<<4)
jpayne@69 286 #define XkbLC_ConsumeKeysOnComposeFail (1<<29)
jpayne@69 287 #define XkbLC_ComposeLED (1<<30)
jpayne@69 288 #define XkbLC_BeepOnComposeFail (1<<31)
jpayne@69 289
jpayne@69 290 #define XkbLC_AllComposeControls (0xc0000000)
jpayne@69 291 #define XkbLC_AllControls (0xc000001f)
jpayne@69 292
jpayne@69 293 _XFUNCPROTOBEGIN
jpayne@69 294
jpayne@69 295 extern Bool XkbIgnoreExtension(
jpayne@69 296 Bool /* ignore */
jpayne@69 297 );
jpayne@69 298
jpayne@69 299 extern Display *XkbOpenDisplay(
jpayne@69 300 _Xconst char * /* name */,
jpayne@69 301 int * /* ev_rtrn */,
jpayne@69 302 int * /* err_rtrn */,
jpayne@69 303 int * /* major_rtrn */,
jpayne@69 304 int * /* minor_rtrn */,
jpayne@69 305 int * /* reason */
jpayne@69 306 );
jpayne@69 307
jpayne@69 308 extern Bool XkbQueryExtension(
jpayne@69 309 Display * /* dpy */,
jpayne@69 310 int * /* opcodeReturn */,
jpayne@69 311 int * /* eventBaseReturn */,
jpayne@69 312 int * /* errorBaseReturn */,
jpayne@69 313 int * /* majorRtrn */,
jpayne@69 314 int * /* minorRtrn */
jpayne@69 315 );
jpayne@69 316
jpayne@69 317 extern Bool XkbUseExtension(
jpayne@69 318 Display * /* dpy */,
jpayne@69 319 int * /* major_rtrn */,
jpayne@69 320 int * /* minor_rtrn */
jpayne@69 321 );
jpayne@69 322
jpayne@69 323 extern Bool XkbLibraryVersion(
jpayne@69 324 int * /* libMajorRtrn */,
jpayne@69 325 int * /* libMinorRtrn */
jpayne@69 326 );
jpayne@69 327
jpayne@69 328 extern unsigned int XkbSetXlibControls(
jpayne@69 329 Display* /* dpy */,
jpayne@69 330 unsigned int /* affect */,
jpayne@69 331 unsigned int /* values */
jpayne@69 332 );
jpayne@69 333
jpayne@69 334 extern unsigned int XkbGetXlibControls(
jpayne@69 335 Display* /* dpy */
jpayne@69 336 );
jpayne@69 337
jpayne@69 338 extern unsigned int XkbXlibControlsImplemented(void);
jpayne@69 339
jpayne@69 340 typedef Atom (*XkbInternAtomFunc)(
jpayne@69 341 Display * /* dpy */,
jpayne@69 342 _Xconst char * /* name */,
jpayne@69 343 Bool /* only_if_exists */
jpayne@69 344 );
jpayne@69 345
jpayne@69 346 typedef char * (*XkbGetAtomNameFunc)(
jpayne@69 347 Display * /* dpy */,
jpayne@69 348 Atom /* atom */
jpayne@69 349 );
jpayne@69 350
jpayne@69 351 extern void XkbSetAtomFuncs(
jpayne@69 352 XkbInternAtomFunc /* getAtom */,
jpayne@69 353 XkbGetAtomNameFunc /* getName */
jpayne@69 354 );
jpayne@69 355
jpayne@69 356 extern KeySym XkbKeycodeToKeysym(
jpayne@69 357 Display * /* dpy */,
jpayne@69 358 #if NeedWidePrototypes
jpayne@69 359 unsigned int /* kc */,
jpayne@69 360 #else
jpayne@69 361 KeyCode /* kc */,
jpayne@69 362 #endif
jpayne@69 363 int /* group */,
jpayne@69 364 int /* level */
jpayne@69 365 );
jpayne@69 366
jpayne@69 367 extern unsigned int XkbKeysymToModifiers(
jpayne@69 368 Display * /* dpy */,
jpayne@69 369 KeySym /* ks */
jpayne@69 370 );
jpayne@69 371
jpayne@69 372 extern Bool XkbLookupKeySym(
jpayne@69 373 Display * /* dpy */,
jpayne@69 374 KeyCode /* keycode */,
jpayne@69 375 unsigned int /* modifiers */,
jpayne@69 376 unsigned int * /* modifiers_return */,
jpayne@69 377 KeySym * /* keysym_return */
jpayne@69 378 );
jpayne@69 379
jpayne@69 380 extern int XkbLookupKeyBinding(
jpayne@69 381 Display * /* dpy */,
jpayne@69 382 KeySym /* sym_rtrn */,
jpayne@69 383 unsigned int /* mods */,
jpayne@69 384 char * /* buffer */,
jpayne@69 385 int /* nbytes */,
jpayne@69 386 int * /* extra_rtrn */
jpayne@69 387 );
jpayne@69 388
jpayne@69 389 extern Bool XkbTranslateKeyCode(
jpayne@69 390 XkbDescPtr /* xkb */,
jpayne@69 391 KeyCode /* keycode */,
jpayne@69 392 unsigned int /* modifiers */,
jpayne@69 393 unsigned int * /* modifiers_return */,
jpayne@69 394 KeySym * /* keysym_return */
jpayne@69 395 );
jpayne@69 396
jpayne@69 397 extern int XkbTranslateKeySym(
jpayne@69 398 Display * /* dpy */,
jpayne@69 399 KeySym * /* sym_return */,
jpayne@69 400 unsigned int /* modifiers */,
jpayne@69 401 char * /* buffer */,
jpayne@69 402 int /* nbytes */,
jpayne@69 403 int * /* extra_rtrn */
jpayne@69 404 );
jpayne@69 405
jpayne@69 406 extern Bool XkbSetAutoRepeatRate(
jpayne@69 407 Display * /* dpy */,
jpayne@69 408 unsigned int /* deviceSpec */,
jpayne@69 409 unsigned int /* delay */,
jpayne@69 410 unsigned int /* interval */
jpayne@69 411 );
jpayne@69 412
jpayne@69 413 extern Bool XkbGetAutoRepeatRate(
jpayne@69 414 Display * /* dpy */,
jpayne@69 415 unsigned int /* deviceSpec */,
jpayne@69 416 unsigned int * /* delayRtrn */,
jpayne@69 417 unsigned int * /* intervalRtrn */
jpayne@69 418 );
jpayne@69 419
jpayne@69 420 extern Bool XkbChangeEnabledControls(
jpayne@69 421 Display * /* dpy */,
jpayne@69 422 unsigned int /* deviceSpec */,
jpayne@69 423 unsigned int /* affect */,
jpayne@69 424 unsigned int /* values */
jpayne@69 425 );
jpayne@69 426
jpayne@69 427 extern Bool XkbDeviceBell(
jpayne@69 428 Display * /* dpy */,
jpayne@69 429 Window /* win */,
jpayne@69 430 int /* deviceSpec */,
jpayne@69 431 int /* bellClass */,
jpayne@69 432 int /* bellID */,
jpayne@69 433 int /* percent */,
jpayne@69 434 Atom /* name */
jpayne@69 435 );
jpayne@69 436
jpayne@69 437 extern Bool XkbForceDeviceBell(
jpayne@69 438 Display * /* dpy */,
jpayne@69 439 int /* deviceSpec */,
jpayne@69 440 int /* bellClass */,
jpayne@69 441 int /* bellID */,
jpayne@69 442 int /* percent */
jpayne@69 443 );
jpayne@69 444
jpayne@69 445 extern Bool XkbDeviceBellEvent(
jpayne@69 446 Display * /* dpy */,
jpayne@69 447 Window /* win */,
jpayne@69 448 int /* deviceSpec */,
jpayne@69 449 int /* bellClass */,
jpayne@69 450 int /* bellID */,
jpayne@69 451 int /* percent */,
jpayne@69 452 Atom /* name */
jpayne@69 453 );
jpayne@69 454
jpayne@69 455 extern Bool XkbBell(
jpayne@69 456 Display * /* dpy */,
jpayne@69 457 Window /* win */,
jpayne@69 458 int /* percent */,
jpayne@69 459 Atom /* name */
jpayne@69 460 );
jpayne@69 461
jpayne@69 462 extern Bool XkbForceBell(
jpayne@69 463 Display * /* dpy */,
jpayne@69 464 int /* percent */
jpayne@69 465 );
jpayne@69 466
jpayne@69 467 extern Bool XkbBellEvent(
jpayne@69 468 Display * /* dpy */,
jpayne@69 469 Window /* win */,
jpayne@69 470 int /* percent */,
jpayne@69 471 Atom /* name */
jpayne@69 472 );
jpayne@69 473
jpayne@69 474 extern Bool XkbSelectEvents(
jpayne@69 475 Display * /* dpy */,
jpayne@69 476 unsigned int /* deviceID */,
jpayne@69 477 unsigned int /* affect */,
jpayne@69 478 unsigned int /* values */
jpayne@69 479 );
jpayne@69 480
jpayne@69 481 extern Bool XkbSelectEventDetails(
jpayne@69 482 Display * /* dpy */,
jpayne@69 483 unsigned int /* deviceID */,
jpayne@69 484 unsigned int /* eventType */,
jpayne@69 485 unsigned long /* affect */,
jpayne@69 486 unsigned long /* details */
jpayne@69 487 );
jpayne@69 488
jpayne@69 489 extern void XkbNoteMapChanges(
jpayne@69 490 XkbMapChangesPtr /* old */,
jpayne@69 491 XkbMapNotifyEvent * /* new */,
jpayne@69 492 unsigned int /* wanted */
jpayne@69 493 );
jpayne@69 494
jpayne@69 495 extern void XkbNoteNameChanges(
jpayne@69 496 XkbNameChangesPtr /* old */,
jpayne@69 497 XkbNamesNotifyEvent * /* new */,
jpayne@69 498 unsigned int /* wanted */
jpayne@69 499 );
jpayne@69 500
jpayne@69 501 extern Status XkbGetIndicatorState(
jpayne@69 502 Display * /* dpy */,
jpayne@69 503 unsigned int /* deviceSpec */,
jpayne@69 504 unsigned int * /* pStateRtrn */
jpayne@69 505 );
jpayne@69 506
jpayne@69 507 extern Status XkbGetDeviceIndicatorState(
jpayne@69 508 Display * /* dpy */,
jpayne@69 509 unsigned int /* deviceSpec */,
jpayne@69 510 unsigned int /* ledClass */,
jpayne@69 511 unsigned int /* ledID */,
jpayne@69 512 unsigned int * /* pStateRtrn */
jpayne@69 513 );
jpayne@69 514
jpayne@69 515 extern Status XkbGetIndicatorMap(
jpayne@69 516 Display * /* dpy */,
jpayne@69 517 unsigned long /* which */,
jpayne@69 518 XkbDescPtr /* desc */
jpayne@69 519 );
jpayne@69 520
jpayne@69 521 extern Bool XkbSetIndicatorMap(
jpayne@69 522 Display * /* dpy */,
jpayne@69 523 unsigned long /* which */,
jpayne@69 524 XkbDescPtr /* desc */
jpayne@69 525 );
jpayne@69 526
jpayne@69 527 #define XkbNoteIndicatorMapChanges(o,n,w) \
jpayne@69 528 ((o)->map_changes|=((n)->map_changes&(w)))
jpayne@69 529 #define XkbNoteIndicatorStateChanges(o,n,w)\
jpayne@69 530 ((o)->state_changes|=((n)->state_changes&(w)))
jpayne@69 531 #define XkbGetIndicatorMapChanges(d,x,c) \
jpayne@69 532 (XkbGetIndicatorMap((d),(c)->map_changes,x))
jpayne@69 533 #define XkbChangeIndicatorMaps(d,x,c) \
jpayne@69 534 (XkbSetIndicatorMap((d),(c)->map_changes,x))
jpayne@69 535
jpayne@69 536 extern Bool XkbGetNamedIndicator(
jpayne@69 537 Display * /* dpy */,
jpayne@69 538 Atom /* name */,
jpayne@69 539 int * /* pNdxRtrn */,
jpayne@69 540 Bool * /* pStateRtrn */,
jpayne@69 541 XkbIndicatorMapPtr /* pMapRtrn */,
jpayne@69 542 Bool * /* pRealRtrn */
jpayne@69 543 );
jpayne@69 544
jpayne@69 545 extern Bool XkbGetNamedDeviceIndicator(
jpayne@69 546 Display * /* dpy */,
jpayne@69 547 unsigned int /* deviceSpec */,
jpayne@69 548 unsigned int /* ledClass */,
jpayne@69 549 unsigned int /* ledID */,
jpayne@69 550 Atom /* name */,
jpayne@69 551 int * /* pNdxRtrn */,
jpayne@69 552 Bool * /* pStateRtrn */,
jpayne@69 553 XkbIndicatorMapPtr /* pMapRtrn */,
jpayne@69 554 Bool * /* pRealRtrn */
jpayne@69 555 );
jpayne@69 556
jpayne@69 557 extern Bool XkbSetNamedIndicator(
jpayne@69 558 Display * /* dpy */,
jpayne@69 559 Atom /* name */,
jpayne@69 560 Bool /* changeState */,
jpayne@69 561 Bool /* state */,
jpayne@69 562 Bool /* createNewMap */,
jpayne@69 563 XkbIndicatorMapPtr /* pMap */
jpayne@69 564 );
jpayne@69 565
jpayne@69 566 extern Bool XkbSetNamedDeviceIndicator(
jpayne@69 567 Display * /* dpy */,
jpayne@69 568 unsigned int /* deviceSpec */,
jpayne@69 569 unsigned int /* ledClass */,
jpayne@69 570 unsigned int /* ledID */,
jpayne@69 571 Atom /* name */,
jpayne@69 572 Bool /* changeState */,
jpayne@69 573 Bool /* state */,
jpayne@69 574 Bool /* createNewMap */,
jpayne@69 575 XkbIndicatorMapPtr /* pMap */
jpayne@69 576 );
jpayne@69 577
jpayne@69 578 extern Bool XkbLockModifiers(
jpayne@69 579 Display * /* dpy */,
jpayne@69 580 unsigned int /* deviceSpec */,
jpayne@69 581 unsigned int /* affect */,
jpayne@69 582 unsigned int /* values */
jpayne@69 583 );
jpayne@69 584
jpayne@69 585 extern Bool XkbLatchModifiers(
jpayne@69 586 Display * /* dpy */,
jpayne@69 587 unsigned int /* deviceSpec */,
jpayne@69 588 unsigned int /* affect */,
jpayne@69 589 unsigned int /* values */
jpayne@69 590 );
jpayne@69 591
jpayne@69 592 extern Bool XkbLockGroup(
jpayne@69 593 Display * /* dpy */,
jpayne@69 594 unsigned int /* deviceSpec */,
jpayne@69 595 unsigned int /* group */
jpayne@69 596 );
jpayne@69 597
jpayne@69 598 extern Bool XkbLatchGroup(
jpayne@69 599 Display * /* dpy */,
jpayne@69 600 unsigned int /* deviceSpec */,
jpayne@69 601 unsigned int /* group */
jpayne@69 602 );
jpayne@69 603
jpayne@69 604 extern Bool XkbSetServerInternalMods(
jpayne@69 605 Display * /* dpy */,
jpayne@69 606 unsigned int /* deviceSpec */,
jpayne@69 607 unsigned int /* affectReal */,
jpayne@69 608 unsigned int /* realValues */,
jpayne@69 609 unsigned int /* affectVirtual */,
jpayne@69 610 unsigned int /* virtualValues */
jpayne@69 611 );
jpayne@69 612
jpayne@69 613 extern Bool XkbSetIgnoreLockMods(
jpayne@69 614 Display * /* dpy */,
jpayne@69 615 unsigned int /* deviceSpec */,
jpayne@69 616 unsigned int /* affectReal */,
jpayne@69 617 unsigned int /* realValues */,
jpayne@69 618 unsigned int /* affectVirtual */,
jpayne@69 619 unsigned int /* virtualValues */
jpayne@69 620 );
jpayne@69 621
jpayne@69 622
jpayne@69 623 extern Bool XkbVirtualModsToReal(
jpayne@69 624 XkbDescPtr /* xkb */,
jpayne@69 625 unsigned int /* virtual_mask */,
jpayne@69 626 unsigned int * /* mask_rtrn */
jpayne@69 627 );
jpayne@69 628
jpayne@69 629 extern Bool XkbComputeEffectiveMap(
jpayne@69 630 XkbDescPtr /* xkb */,
jpayne@69 631 XkbKeyTypePtr /* type */,
jpayne@69 632 unsigned char * /* map_rtrn */
jpayne@69 633 );
jpayne@69 634
jpayne@69 635 extern Status XkbInitCanonicalKeyTypes(
jpayne@69 636 XkbDescPtr /* xkb */,
jpayne@69 637 unsigned int /* which */,
jpayne@69 638 int /* keypadVMod */
jpayne@69 639 );
jpayne@69 640
jpayne@69 641 extern XkbDescPtr XkbAllocKeyboard(
jpayne@69 642 void
jpayne@69 643 );
jpayne@69 644
jpayne@69 645 extern void XkbFreeKeyboard(
jpayne@69 646 XkbDescPtr /* xkb */,
jpayne@69 647 unsigned int /* which */,
jpayne@69 648 Bool /* freeDesc */
jpayne@69 649 );
jpayne@69 650
jpayne@69 651 extern Status XkbAllocClientMap(
jpayne@69 652 XkbDescPtr /* xkb */,
jpayne@69 653 unsigned int /* which */,
jpayne@69 654 unsigned int /* nTypes */
jpayne@69 655 );
jpayne@69 656
jpayne@69 657 extern Status XkbAllocServerMap(
jpayne@69 658 XkbDescPtr /* xkb */,
jpayne@69 659 unsigned int /* which */,
jpayne@69 660 unsigned int /* nActions */
jpayne@69 661 );
jpayne@69 662
jpayne@69 663 extern void XkbFreeClientMap(
jpayne@69 664 XkbDescPtr /* xkb */,
jpayne@69 665 unsigned int /* what */,
jpayne@69 666 Bool /* freeMap */
jpayne@69 667 );
jpayne@69 668
jpayne@69 669 extern void XkbFreeServerMap(
jpayne@69 670 XkbDescPtr /* xkb */,
jpayne@69 671 unsigned int /* what */,
jpayne@69 672 Bool /* freeMap */
jpayne@69 673 );
jpayne@69 674
jpayne@69 675 extern XkbKeyTypePtr XkbAddKeyType(
jpayne@69 676 XkbDescPtr /* xkb */,
jpayne@69 677 Atom /* name */,
jpayne@69 678 int /* map_count */,
jpayne@69 679 Bool /* want_preserve */,
jpayne@69 680 int /* num_lvls */
jpayne@69 681 );
jpayne@69 682
jpayne@69 683 extern Status XkbAllocIndicatorMaps(
jpayne@69 684 XkbDescPtr /* xkb */
jpayne@69 685 );
jpayne@69 686
jpayne@69 687 extern void XkbFreeIndicatorMaps(
jpayne@69 688 XkbDescPtr /* xkb */
jpayne@69 689 );
jpayne@69 690
jpayne@69 691 extern XkbDescPtr XkbGetMap(
jpayne@69 692 Display * /* dpy */,
jpayne@69 693 unsigned int /* which */,
jpayne@69 694 unsigned int /* deviceSpec */
jpayne@69 695 );
jpayne@69 696
jpayne@69 697 extern Status XkbGetUpdatedMap(
jpayne@69 698 Display * /* dpy */,
jpayne@69 699 unsigned int /* which */,
jpayne@69 700 XkbDescPtr /* desc */
jpayne@69 701 );
jpayne@69 702
jpayne@69 703 extern Status XkbGetMapChanges(
jpayne@69 704 Display * /* dpy */,
jpayne@69 705 XkbDescPtr /* xkb */,
jpayne@69 706 XkbMapChangesPtr /* changes */
jpayne@69 707 );
jpayne@69 708
jpayne@69 709
jpayne@69 710 extern Status XkbRefreshKeyboardMapping(
jpayne@69 711 XkbMapNotifyEvent * /* event */
jpayne@69 712 );
jpayne@69 713
jpayne@69 714 extern Status XkbGetKeyTypes(
jpayne@69 715 Display * /* dpy */,
jpayne@69 716 unsigned int /* first */,
jpayne@69 717 unsigned int /* num */,
jpayne@69 718 XkbDescPtr /* xkb */
jpayne@69 719 );
jpayne@69 720
jpayne@69 721 extern Status XkbGetKeySyms(
jpayne@69 722 Display * /* dpy */,
jpayne@69 723 unsigned int /* first */,
jpayne@69 724 unsigned int /* num */,
jpayne@69 725 XkbDescPtr /* xkb */
jpayne@69 726 );
jpayne@69 727
jpayne@69 728 extern Status XkbGetKeyActions(
jpayne@69 729 Display * /* dpy */,
jpayne@69 730 unsigned int /* first */,
jpayne@69 731 unsigned int /* num */,
jpayne@69 732 XkbDescPtr /* xkb */
jpayne@69 733 );
jpayne@69 734
jpayne@69 735 extern Status XkbGetKeyBehaviors(
jpayne@69 736 Display * /* dpy */,
jpayne@69 737 unsigned int /* firstKey */,
jpayne@69 738 unsigned int /* nKeys */,
jpayne@69 739 XkbDescPtr /* desc */
jpayne@69 740 );
jpayne@69 741
jpayne@69 742 extern Status XkbGetVirtualMods(
jpayne@69 743 Display * /* dpy */,
jpayne@69 744 unsigned int /* which */,
jpayne@69 745 XkbDescPtr /* desc */
jpayne@69 746 );
jpayne@69 747
jpayne@69 748 extern Status XkbGetKeyExplicitComponents(
jpayne@69 749 Display * /* dpy */,
jpayne@69 750 unsigned int /* firstKey */,
jpayne@69 751 unsigned int /* nKeys */,
jpayne@69 752 XkbDescPtr /* desc */
jpayne@69 753 );
jpayne@69 754
jpayne@69 755 extern Status XkbGetKeyModifierMap(
jpayne@69 756 Display * /* dpy */,
jpayne@69 757 unsigned int /* firstKey */,
jpayne@69 758 unsigned int /* nKeys */,
jpayne@69 759 XkbDescPtr /* desc */
jpayne@69 760 );
jpayne@69 761
jpayne@69 762 extern Status XkbGetKeyVirtualModMap(
jpayne@69 763 Display * /* dpy */,
jpayne@69 764 unsigned int /* first */,
jpayne@69 765 unsigned int /* num */,
jpayne@69 766 XkbDescPtr /* xkb */
jpayne@69 767 );
jpayne@69 768
jpayne@69 769 extern Status XkbAllocControls(
jpayne@69 770 XkbDescPtr /* xkb */,
jpayne@69 771 unsigned int /* which*/
jpayne@69 772 );
jpayne@69 773
jpayne@69 774 extern void XkbFreeControls(
jpayne@69 775 XkbDescPtr /* xkb */,
jpayne@69 776 unsigned int /* which */,
jpayne@69 777 Bool /* freeMap */
jpayne@69 778 );
jpayne@69 779
jpayne@69 780 extern Status XkbGetControls(
jpayne@69 781 Display * /* dpy */,
jpayne@69 782 unsigned long /* which */,
jpayne@69 783 XkbDescPtr /* desc */
jpayne@69 784 );
jpayne@69 785
jpayne@69 786 extern Bool XkbSetControls(
jpayne@69 787 Display * /* dpy */,
jpayne@69 788 unsigned long /* which */,
jpayne@69 789 XkbDescPtr /* desc */
jpayne@69 790 );
jpayne@69 791
jpayne@69 792 extern void XkbNoteControlsChanges(
jpayne@69 793 XkbControlsChangesPtr /* old */,
jpayne@69 794 XkbControlsNotifyEvent * /* new */,
jpayne@69 795 unsigned int /* wanted */
jpayne@69 796 );
jpayne@69 797
jpayne@69 798 #define XkbGetControlsChanges(d,x,c) XkbGetControls(d,(c)->changed_ctrls,x)
jpayne@69 799 #define XkbChangeControls(d,x,c) XkbSetControls(d,(c)->changed_ctrls,x)
jpayne@69 800
jpayne@69 801 extern Status XkbAllocCompatMap(
jpayne@69 802 XkbDescPtr /* xkb */,
jpayne@69 803 unsigned int /* which */,
jpayne@69 804 unsigned int /* nInterpret */
jpayne@69 805 );
jpayne@69 806
jpayne@69 807 extern void XkbFreeCompatMap(
jpayne@69 808 XkbDescPtr /* xkb */,
jpayne@69 809 unsigned int /* which */,
jpayne@69 810 Bool /* freeMap */
jpayne@69 811 );
jpayne@69 812
jpayne@69 813 extern Status XkbGetCompatMap(
jpayne@69 814 Display * /* dpy */,
jpayne@69 815 unsigned int /* which */,
jpayne@69 816 XkbDescPtr /* xkb */
jpayne@69 817 );
jpayne@69 818
jpayne@69 819 extern Bool XkbSetCompatMap(
jpayne@69 820 Display * /* dpy */,
jpayne@69 821 unsigned int /* which */,
jpayne@69 822 XkbDescPtr /* xkb */,
jpayne@69 823 Bool /* updateActions */
jpayne@69 824 );
jpayne@69 825
jpayne@69 826 extern XkbSymInterpretPtr XkbAddSymInterpret(
jpayne@69 827 XkbDescPtr /* xkb */,
jpayne@69 828 XkbSymInterpretPtr /* si */,
jpayne@69 829 Bool /* updateMap */,
jpayne@69 830 XkbChangesPtr /* changes */
jpayne@69 831 );
jpayne@69 832
jpayne@69 833 extern Status XkbAllocNames(
jpayne@69 834 XkbDescPtr /* xkb */,
jpayne@69 835 unsigned int /* which */,
jpayne@69 836 int /* nTotalRG */,
jpayne@69 837 int /* nTotalAliases */
jpayne@69 838 );
jpayne@69 839
jpayne@69 840 extern Status XkbGetNames(
jpayne@69 841 Display * /* dpy */,
jpayne@69 842 unsigned int /* which */,
jpayne@69 843 XkbDescPtr /* desc */
jpayne@69 844 );
jpayne@69 845
jpayne@69 846 extern Bool XkbSetNames(
jpayne@69 847 Display * /* dpy */,
jpayne@69 848 unsigned int /* which */,
jpayne@69 849 unsigned int /* firstType */,
jpayne@69 850 unsigned int /* nTypes */,
jpayne@69 851 XkbDescPtr /* desc */
jpayne@69 852 );
jpayne@69 853
jpayne@69 854 extern Bool XkbChangeNames(
jpayne@69 855 Display * /* dpy */,
jpayne@69 856 XkbDescPtr /* xkb */,
jpayne@69 857 XkbNameChangesPtr /* changes */
jpayne@69 858 );
jpayne@69 859
jpayne@69 860 extern void XkbFreeNames(
jpayne@69 861 XkbDescPtr /* xkb */,
jpayne@69 862 unsigned int /* which */,
jpayne@69 863 Bool /* freeMap */
jpayne@69 864 );
jpayne@69 865
jpayne@69 866
jpayne@69 867 extern Status XkbGetState(
jpayne@69 868 Display * /* dpy */,
jpayne@69 869 unsigned int /* deviceSpec */,
jpayne@69 870 XkbStatePtr /* rtrnState */
jpayne@69 871 );
jpayne@69 872
jpayne@69 873 extern Bool XkbSetMap(
jpayne@69 874 Display * /* dpy */,
jpayne@69 875 unsigned int /* which */,
jpayne@69 876 XkbDescPtr /* desc */
jpayne@69 877 );
jpayne@69 878
jpayne@69 879 extern Bool XkbChangeMap(
jpayne@69 880 Display* /* dpy */,
jpayne@69 881 XkbDescPtr /* desc */,
jpayne@69 882 XkbMapChangesPtr /* changes */
jpayne@69 883 );
jpayne@69 884
jpayne@69 885 extern Bool XkbSetDetectableAutoRepeat(
jpayne@69 886 Display * /* dpy */,
jpayne@69 887 Bool /* detectable */,
jpayne@69 888 Bool * /* supported */
jpayne@69 889 );
jpayne@69 890
jpayne@69 891 extern Bool XkbGetDetectableAutoRepeat(
jpayne@69 892 Display * /* dpy */,
jpayne@69 893 Bool * /* supported */
jpayne@69 894 );
jpayne@69 895
jpayne@69 896 extern Bool XkbSetAutoResetControls(
jpayne@69 897 Display * /* dpy */,
jpayne@69 898 unsigned int /* changes */,
jpayne@69 899 unsigned int * /* auto_ctrls */,
jpayne@69 900 unsigned int * /* auto_values */
jpayne@69 901 );
jpayne@69 902
jpayne@69 903 extern Bool XkbGetAutoResetControls(
jpayne@69 904 Display * /* dpy */,
jpayne@69 905 unsigned int * /* auto_ctrls */,
jpayne@69 906 unsigned int * /* auto_ctrl_values */
jpayne@69 907 );
jpayne@69 908
jpayne@69 909 extern Bool XkbSetPerClientControls(
jpayne@69 910 Display * /* dpy */,
jpayne@69 911 unsigned int /* change */,
jpayne@69 912 unsigned int * /* values */
jpayne@69 913 );
jpayne@69 914
jpayne@69 915 extern Bool XkbGetPerClientControls(
jpayne@69 916 Display * /* dpy */,
jpayne@69 917 unsigned int * /* ctrls */
jpayne@69 918 );
jpayne@69 919
jpayne@69 920 extern Status XkbCopyKeyType(
jpayne@69 921 XkbKeyTypePtr /* from */,
jpayne@69 922 XkbKeyTypePtr /* into */
jpayne@69 923 );
jpayne@69 924
jpayne@69 925 extern Status XkbCopyKeyTypes(
jpayne@69 926 XkbKeyTypePtr /* from */,
jpayne@69 927 XkbKeyTypePtr /* into */,
jpayne@69 928 int /* num_types */
jpayne@69 929 );
jpayne@69 930
jpayne@69 931 extern Status XkbResizeKeyType(
jpayne@69 932 XkbDescPtr /* xkb */,
jpayne@69 933 int /* type_ndx */,
jpayne@69 934 int /* map_count */,
jpayne@69 935 Bool /* want_preserve */,
jpayne@69 936 int /* new_num_lvls */
jpayne@69 937 );
jpayne@69 938
jpayne@69 939 extern KeySym *XkbResizeKeySyms(
jpayne@69 940 XkbDescPtr /* desc */,
jpayne@69 941 int /* forKey */,
jpayne@69 942 int /* symsNeeded */
jpayne@69 943 );
jpayne@69 944
jpayne@69 945 extern XkbAction *XkbResizeKeyActions(
jpayne@69 946 XkbDescPtr /* desc */,
jpayne@69 947 int /* forKey */,
jpayne@69 948 int /* actsNeeded */
jpayne@69 949 );
jpayne@69 950
jpayne@69 951 extern Status XkbChangeTypesOfKey(
jpayne@69 952 XkbDescPtr /* xkb */,
jpayne@69 953 int /* key */,
jpayne@69 954 int /* num_groups */,
jpayne@69 955 unsigned int /* groups */,
jpayne@69 956 int * /* newTypes */,
jpayne@69 957 XkbMapChangesPtr /* pChanges */
jpayne@69 958 );
jpayne@69 959
jpayne@69 960 extern Status XkbChangeKeycodeRange(
jpayne@69 961 XkbDescPtr /* xkb */,
jpayne@69 962 int /* minKC */,
jpayne@69 963 int /* maxKC */,
jpayne@69 964 XkbChangesPtr /* changes */
jpayne@69 965 );
jpayne@69 966
jpayne@69 967 /***====================================================================***/
jpayne@69 968
jpayne@69 969 extern XkbComponentListPtr XkbListComponents(
jpayne@69 970 Display * /* dpy */,
jpayne@69 971 unsigned int /* deviceSpec */,
jpayne@69 972 XkbComponentNamesPtr /* ptrns */,
jpayne@69 973 int * /* max_inout */
jpayne@69 974 );
jpayne@69 975
jpayne@69 976 extern void XkbFreeComponentList(
jpayne@69 977 XkbComponentListPtr /* list */
jpayne@69 978 );
jpayne@69 979
jpayne@69 980 extern XkbDescPtr XkbGetKeyboard(
jpayne@69 981 Display * /* dpy */,
jpayne@69 982 unsigned int /* which */,
jpayne@69 983 unsigned int /* deviceSpec */
jpayne@69 984 );
jpayne@69 985
jpayne@69 986 extern XkbDescPtr XkbGetKeyboardByName(
jpayne@69 987 Display * /* dpy */,
jpayne@69 988 unsigned int /* deviceSpec */,
jpayne@69 989 XkbComponentNamesPtr /* names */,
jpayne@69 990 unsigned int /* want */,
jpayne@69 991 unsigned int /* need */,
jpayne@69 992 Bool /* load */
jpayne@69 993 );
jpayne@69 994
jpayne@69 995 /***====================================================================***/
jpayne@69 996
jpayne@69 997 extern int XkbKeyTypesForCoreSymbols( /* returns # of groups */
jpayne@69 998 XkbDescPtr /* xkb */, /* keyboard device */
jpayne@69 999 int /* map_width */, /* width of core KeySym array */
jpayne@69 1000 KeySym * /* core_syms */, /* always mapWidth symbols */
jpayne@69 1001 unsigned int /* protected */, /* explicit key types */
jpayne@69 1002 int * /* types_inout */, /* always four type indices */
jpayne@69 1003 KeySym * /* xkb_syms_rtrn */ /* must have enough space */
jpayne@69 1004 );
jpayne@69 1005
jpayne@69 1006 extern Bool XkbApplyCompatMapToKey( /* False only on error */
jpayne@69 1007 XkbDescPtr /* xkb */, /* keymap to be edited */
jpayne@69 1008 KeyCode /* key */, /* key to be updated */
jpayne@69 1009 XkbChangesPtr /* changes */ /* resulting changes to map */
jpayne@69 1010 );
jpayne@69 1011
jpayne@69 1012 extern Bool XkbUpdateMapFromCore( /* False only on error */
jpayne@69 1013 XkbDescPtr /* xkb */, /* XKB keyboard to be edited */
jpayne@69 1014 KeyCode /* first_key */, /* first changed key */
jpayne@69 1015 int /* num_keys */, /* number of changed keys */
jpayne@69 1016 int /* map_width */, /* width of core keymap */
jpayne@69 1017 KeySym * /* core_keysyms */, /* symbols from core keymap */
jpayne@69 1018 XkbChangesPtr /* changes */ /* resulting changes */
jpayne@69 1019 );
jpayne@69 1020
jpayne@69 1021 /***====================================================================***/
jpayne@69 1022
jpayne@69 1023 extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
jpayne@69 1024 XkbDeviceInfoPtr /* devi */,
jpayne@69 1025 unsigned int /* ledClass */,
jpayne@69 1026 unsigned int /* ledId */
jpayne@69 1027 );
jpayne@69 1028
jpayne@69 1029 extern Status XkbResizeDeviceButtonActions(
jpayne@69 1030 XkbDeviceInfoPtr /* devi */,
jpayne@69 1031 unsigned int /* newTotal */
jpayne@69 1032 );
jpayne@69 1033
jpayne@69 1034 extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
jpayne@69 1035 unsigned int /* deviceSpec */,
jpayne@69 1036 unsigned int /* nButtons */,
jpayne@69 1037 unsigned int /* szLeds */
jpayne@69 1038 );
jpayne@69 1039
jpayne@69 1040 extern void XkbFreeDeviceInfo(
jpayne@69 1041 XkbDeviceInfoPtr /* devi */,
jpayne@69 1042 unsigned int /* which */,
jpayne@69 1043 Bool /* freeDevI */
jpayne@69 1044 );
jpayne@69 1045
jpayne@69 1046 extern void XkbNoteDeviceChanges(
jpayne@69 1047 XkbDeviceChangesPtr /* old */,
jpayne@69 1048 XkbExtensionDeviceNotifyEvent * /* new */,
jpayne@69 1049 unsigned int /* wanted */
jpayne@69 1050 );
jpayne@69 1051
jpayne@69 1052 extern XkbDeviceInfoPtr XkbGetDeviceInfo(
jpayne@69 1053 Display * /* dpy */,
jpayne@69 1054 unsigned int /* which */,
jpayne@69 1055 unsigned int /* deviceSpec */,
jpayne@69 1056 unsigned int /* ledClass */,
jpayne@69 1057 unsigned int /* ledID */
jpayne@69 1058 );
jpayne@69 1059
jpayne@69 1060 extern Status XkbGetDeviceInfoChanges(
jpayne@69 1061 Display * /* dpy */,
jpayne@69 1062 XkbDeviceInfoPtr /* devi */,
jpayne@69 1063 XkbDeviceChangesPtr /* changes */
jpayne@69 1064 );
jpayne@69 1065
jpayne@69 1066 extern Status XkbGetDeviceButtonActions(
jpayne@69 1067 Display * /* dpy */,
jpayne@69 1068 XkbDeviceInfoPtr /* devi */,
jpayne@69 1069 Bool /* all */,
jpayne@69 1070 unsigned int /* first */,
jpayne@69 1071 unsigned int /* nBtns */
jpayne@69 1072 );
jpayne@69 1073
jpayne@69 1074 extern Status XkbGetDeviceLedInfo(
jpayne@69 1075 Display * /* dpy */,
jpayne@69 1076 XkbDeviceInfoPtr /* devi */,
jpayne@69 1077 unsigned int /* ledClass (class, XIDflt, XIAll) */,
jpayne@69 1078 unsigned int /* ledId (id, XIDflt, XIAll) */,
jpayne@69 1079 unsigned int /* which (XkbXI_Indicator{Names,Map}Mask */
jpayne@69 1080 );
jpayne@69 1081
jpayne@69 1082 extern Bool XkbSetDeviceInfo(
jpayne@69 1083 Display * /* dpy */,
jpayne@69 1084 unsigned int /* which */,
jpayne@69 1085 XkbDeviceInfoPtr /* devi */
jpayne@69 1086 );
jpayne@69 1087
jpayne@69 1088 extern Bool XkbChangeDeviceInfo(
jpayne@69 1089 Display* /* dpy */,
jpayne@69 1090 XkbDeviceInfoPtr /* desc */,
jpayne@69 1091 XkbDeviceChangesPtr /* changes */
jpayne@69 1092 );
jpayne@69 1093
jpayne@69 1094 extern Bool XkbSetDeviceLedInfo(
jpayne@69 1095 Display * /* dpy */,
jpayne@69 1096 XkbDeviceInfoPtr /* devi */,
jpayne@69 1097 unsigned int /* ledClass */,
jpayne@69 1098 unsigned int /* ledID */,
jpayne@69 1099 unsigned int /* which */
jpayne@69 1100 );
jpayne@69 1101
jpayne@69 1102 extern Bool XkbSetDeviceButtonActions(
jpayne@69 1103 Display * /* dpy */,
jpayne@69 1104 XkbDeviceInfoPtr /* devi */,
jpayne@69 1105 unsigned int /* first */,
jpayne@69 1106 unsigned int /* nBtns */
jpayne@69 1107 );
jpayne@69 1108
jpayne@69 1109 /***====================================================================***/
jpayne@69 1110
jpayne@69 1111 extern char XkbToControl(
jpayne@69 1112 char /* c */
jpayne@69 1113 );
jpayne@69 1114
jpayne@69 1115 /***====================================================================***/
jpayne@69 1116
jpayne@69 1117 extern Bool XkbSetDebuggingFlags(
jpayne@69 1118 Display * /* dpy */,
jpayne@69 1119 unsigned int /* mask */,
jpayne@69 1120 unsigned int /* flags */,
jpayne@69 1121 char * /* msg */,
jpayne@69 1122 unsigned int /* ctrls_mask */,
jpayne@69 1123 unsigned int /* ctrls */,
jpayne@69 1124 unsigned int * /* rtrn_flags */,
jpayne@69 1125 unsigned int * /* rtrn_ctrls */
jpayne@69 1126 );
jpayne@69 1127
jpayne@69 1128 extern Bool XkbApplyVirtualModChanges(
jpayne@69 1129 XkbDescPtr /* xkb */,
jpayne@69 1130 unsigned int /* changed */,
jpayne@69 1131 XkbChangesPtr /* changes */
jpayne@69 1132 );
jpayne@69 1133
jpayne@69 1134 extern Bool XkbUpdateActionVirtualMods(
jpayne@69 1135 XkbDescPtr /* xkb */,
jpayne@69 1136 XkbAction * /* act */,
jpayne@69 1137 unsigned int /* changed */
jpayne@69 1138 );
jpayne@69 1139
jpayne@69 1140 extern void XkbUpdateKeyTypeVirtualMods(
jpayne@69 1141 XkbDescPtr /* xkb */,
jpayne@69 1142 XkbKeyTypePtr /* type */,
jpayne@69 1143 unsigned int /* changed */,
jpayne@69 1144 XkbChangesPtr /* changes */
jpayne@69 1145 );
jpayne@69 1146
jpayne@69 1147 _XFUNCPROTOEND
jpayne@69 1148
jpayne@69 1149 #endif /* _X11_XKBLIB_H_ */