summaryrefslogtreecommitdiff
path: root/printev.c
diff options
context:
space:
mode:
Diffstat (limited to 'printev.c')
-rw-r--r--printev.c656
1 files changed, 656 insertions, 0 deletions
diff --git a/printev.c b/printev.c
new file mode 100644
index 0000000..c889af0
--- /dev/null
+++ b/printev.c
@@ -0,0 +1,656 @@
+/* $Xorg: printev.c,v 1.3 2000/08/17 19:54:49 cpqbld Exp $ */
+/************************************************************
+ Copyright (c) 1995 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.
+
+ ********************************************************/
+
+#define DEBUG_VAR printevDebug
+#include "xkbevd.h"
+#include <X11/Xutil.h>
+
+#define Yes "yes"
+#define No "no"
+#define Unknown "unknown"
+#define ynText(v) ((v)?Yes:No)
+
+static char *
+eventTypeToString(evType)
+ int evType;
+{
+static char name[20];
+ switch (evType) {
+ case KeyPress: strcpy(name,"KeyPress"); break;
+ case KeyRelease:strcpy(name,"KeyRelease"); break;
+ default: strcpy(name,"unknown"); break;
+ }
+ return name;
+}
+
+static void
+xkb_prologue (file, ev, name)
+ FILE * file;
+ XkbEvent * ev;
+ char * name;
+{
+ XkbAnyEvent *e = &ev->any;
+
+ fprintf(file,"\n%s event, serial %ld, synthetic %s, device %d, time %ld,\n",
+ name, e->serial, ynText(e->send_event), e->device,e->time);
+ return;
+}
+
+static void
+do_XkbStateNotify(file,xkbev)
+ FILE * file;
+ XkbEvent * xkbev;
+{
+ XkbStateNotifyEvent *state= &xkbev->state;
+
+ if (state->keycode!=0)
+ fprintf(file," keycode %d, eventType %s,\n",
+ state->keycode,eventTypeToString(state->event_type));
+ else fprintf(file," request %d/%d,\n",state->req_minor,state->req_minor);
+ fprintf(file," group= %d%s, base= %d%s, latched= %d%s, locked= %d%s,\n",
+ state->group, (state->changed&XkbGroupStateMask?"*":""),
+ state->base_group,(state->changed&XkbGroupBaseMask?"*":""),
+ state->latched_group,(state->changed&XkbGroupLatchMask?"*":""),
+ state->locked_group,(state->changed&XkbGroupLockMask?"*":""));
+ fprintf(file,
+ " mods= 0x%02x%s, base= 0x%02x%s, latched= 0x%02x%s, locked= 0x%02x%s\n",
+ state->mods, (state->changed&XkbModifierStateMask?"*":""),
+ state->base_mods,(state->changed&XkbModifierBaseMask?"*":""),
+ state->latched_mods,(state->changed&XkbModifierLatchMask?"*":""),
+ state->locked_mods,(state->changed&XkbModifierLockMask?"*":""));
+ fprintf(file," grab mods= 0x%02x%s, compat grab mods= 0x%02x%s\n",
+ state->grab_mods, (state->changed&XkbGrabModsMask?"*":""),
+ state->compat_grab_mods,
+ (state->changed&XkbCompatGrabModsMask?"*":""));
+ fprintf(file," lookup mods= 0x%02x%s, compat lookup mods= 0x%02x%s\n",
+ state->lookup_mods, (state->changed&XkbLookupModsMask?"*":""),
+ state->compat_lookup_mods,
+ (state->changed&XkbCompatLookupModsMask?"*":""));
+ fprintf(file," compatState = 0x%02x%s, ",
+ state->compat_state,(state->changed&XkbCompatStateMask?"*":""));
+ fprintf(file,"ptr_buttons= 0x%04x%s\n",state->ptr_buttons,
+ (state->changed&XkbPointerButtonMask?"*":""));
+ return;
+}
+
+static void
+do_map_message(what,first,num,eol)
+ char * what;
+ int first;
+ int num;
+ int eol;
+{
+ if (num>1)
+ printf("%ss %d..%d changed%s",what,first,first+num-1,(eol?"\n":""));
+ else printf("%s %d changed%s",what,first,(eol?"\n":""));
+}
+
+void
+do_XkbMapNotify(file,xkbev)
+ FILE * file;
+ XkbEvent * xkbev;
+{
+ XkbMapNotifyEvent *map = &xkbev->map;
+ if (map->changed&XkbKeyTypesMask) {
+ do_map_message("key type",map->first_type,map->num_types,0);
+ }
+ if (map->changed&XkbKeySymsMask) {
+ do_map_message("symbols for key",map->first_key_sym,map->num_key_syms,
+ 1);
+ }
+ if (map->changed&XkbKeyActionsMask) {
+ do_map_message("acts for key",map->first_key_act,
+ map->num_key_acts,1);
+ }
+ if (map->changed&XkbKeyBehaviorsMask) {
+ do_map_message("behavior for key",map->first_key_behavior,
+ map->num_key_behaviors,1);
+ }
+ if (map->changed&XkbVirtualModsMask) {
+ fprintf(file," virtual modifiers changed (0x%04x)\n",map->vmods);
+ }
+ if (map->changed&XkbExplicitComponentsMask) {
+ do_map_message("explicit components for key",map->first_key_explicit,
+ map->num_key_explicit,1);
+ }
+ if (map->changed&XkbModifierMapMask) {
+ do_map_message("modifier map for key",map->first_modmap_key,
+ map->num_modmap_keys,1);
+ }
+ return;
+}
+
+void
+do_XkbControlsNotify(file,xkbev)
+ FILE * file;
+ XkbEvent * xkbev;
+{
+ XkbControlsNotifyEvent *ctrls = &xkbev->ctrls;
+ fprintf(file," changed= 0x%x, enabled= 0x%x, enabledChanges= 0x%x\n",
+ ctrls->changed_ctrls,ctrls->enabled_ctrls,
+ ctrls->enabled_ctrl_changes);
+ fprintf(file," num_groups= %d\n",ctrls->num_groups);
+ if (ctrls->keycode!=0)
+ fprintf(file," keycode %d, eventType %s,",
+ ctrls->keycode,eventTypeToString(ctrls->event_type));
+ else fprintf(file," request %d/%d%s\n",ctrls->req_major,ctrls->req_minor,
+ (ctrls->req_major!=xkbOpcode?" (NON-XKB)":""));
+ return;
+}
+
+void
+do_XkbIndicatorNotify(file,xkbev)
+ FILE * file;
+ XkbEvent *xkbev;
+{
+ XkbIndicatorNotifyEvent *leds = &xkbev->indicators;
+ if (leds->xkb_type==XkbIndicatorStateNotify)
+ fprintf(file," state changes= 0x%08x, new state= 0x%08x\n",
+ leds->changed,leds->state);
+ else fprintf(file," map changes= 0x%08x, state= 0x%08x\n",
+ leds->changed,leds->state);
+ return;
+}
+
+void
+do_XkbBellNotify(file,xkbev)
+ FILE * file;
+ XkbEvent *xkbev;
+{
+ XkbBellNotifyEvent *bell = &xkbev->bell;
+ fprintf(file," bell class= %d, id= %d\n",bell->bell_class,bell->bell_id);
+ fprintf(file," percent= %d, pitch= %d, duration= %d",
+ bell->percent,bell->pitch,bell->duration);
+ if (bell->name!=None) {
+ char *name = XGetAtomName (dpy, bell->name);
+ fprintf(file,"\n name= \"%s\"\n",(name?name:""));
+ if (name)
+ XFree(name);
+ }
+ else fprintf(file,", no name\n");
+ fprintf(file," window= 0x%x, %sevent_only\n",bell->window,
+ (bell->event_only?"":"!"));
+ return;
+}
+
+void
+do_XkbAccessXNotify(file,xkbev)
+ FILE * file;
+ XkbEvent *xkbev;
+{
+ XkbAccessXNotifyEvent *sk = &xkbev->accessx;
+ char *detail;
+ switch (sk->detail) {
+ case XkbAXN_SKPress: detail= "skpress"; break;
+ case XkbAXN_SKAccept: detail= "skaccept"; break;
+ case XkbAXN_SKReject: detail= "skreject"; break;
+ case XkbAXN_SKRelease: detail= "skrelease"; break;
+ case XkbAXN_BKAccept: detail= "bkaccept"; break;
+ case XkbAXN_BKReject: detail= "bkreject"; break;
+ case XkbAXN_AXKWarning: detail= "warning"; break;
+ default: {
+ static char buf[20];
+ sprintf(buf,"unknown(%d)",sk->detail);
+ detail= buf;
+ break;
+ }
+ }
+ fprintf(file,
+ " keycode= %d,detail= %s,slow keys delay= %d,debounce delay= %d\n",
+ sk->keycode,detail,sk->sk_delay,sk->debounce_delay);
+ return;
+}
+
+do_XkbNamesNotify(file,xkbev)
+ FILE * file;
+ XkbEvent *xkbev;
+{
+ XkbNamesNotifyEvent *names = &xkbev->names;
+
+ if (names->changed&
+ (XkbKeycodesNameMask|XkbGeometryNameMask|XkbSymbolsNameMask)) {
+ int needComma= 0;
+ fprintf(file," ");
+ if (names->changed&XkbKeycodesNameMask) {
+ fprintf(file,"keycodes");
+ needComma++;
+ }
+ if (names->changed&XkbGeometryNameMask) {
+ fprintf(file,"%sgeometry",(needComma?", ":""));
+ needComma++;
+ }
+ if (names->changed&XkbSymbolsNameMask) {
+ fprintf(file,"%ssymbols",(needComma?", ":""));
+ needComma++;
+ }
+ if (names->changed&XkbPhysSymbolsNameMask) {
+ fprintf(file,"%sphysical symbols",(needComma?", ":""));
+ needComma++;
+ }
+ fprintf(file," name%s changed\n",(needComma>1?"s":""));
+ }
+ if (names->changed&XkbKeyTypeNamesMask) {
+ do_map_message("key type name",names->first_type,names->num_types,1);
+ }
+ if (names->changed&XkbKTLevelNamesMask) {
+ do_map_message("level names for key type",
+ names->first_lvl,names->num_lvls,1);
+ }
+ if (names->changed&XkbIndicatorNamesMask) {
+ fprintf(file," names of indicators in 0x%08x changed\n",
+ names->changed_indicators);
+ }
+ if (names->changed&XkbVirtualModNamesMask) {
+ fprintf(file," names of virtual modifiers in 0x%04x changed\n",
+ names->changed_vmods);
+ }
+ if (names->changed&XkbGroupNamesMask) {
+ fprintf(file," names of groups in 0x%x changed\n",
+ names->changed_groups);
+ }
+ if (names->changed&XkbKeyNamesMask) {
+ do_map_message("names for key",names->first_key,names->num_keys,1);
+ }
+ if (names->changed&XkbKeyAliasesMask) {
+ fprintf(file,"key aliases changed (%d aliases total)\n",
+ names->num_aliases);
+ }
+ if (names->changed&XkbRGNamesMask) {
+ fprintf(file,"radio group names changed (%d radio groups total)\n",
+ names->num_radio_groups);
+ }
+ return;
+}
+
+void
+do_XkbCompatMapNotify(file,xkbev)
+ FILE * file;
+ XkbEvent *xkbev;
+{
+ XkbCompatMapNotifyEvent *map = &xkbev->compat;
+
+ if (map->changed_groups)
+ fprintf(file," compat maps for groups in 0x%02x changed\n",
+ map->changed_groups);
+ if (map->num_si>0) {
+ fprintf(file," symbol interpretations %d..%d (of %d) changed\n",
+ map->first_si,map->first_si+map->num_si-1,
+ map->num_total_si);
+ }
+ else fprintf(file," keyboard has %d symbol interpretations\n",
+ map->num_total_si);
+ return;
+}
+
+void
+do_XkbActionMessage(file,xkbev)
+ FILE * file;
+ XkbEvent *xkbev;
+{
+ XkbActionMessageEvent *msg= &xkbev->message;
+ fprintf(file," message: 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x 0x%02x\n",
+ msg->message[0],msg->message[1],
+ msg->message[2],msg->message[3],
+ msg->message[4],msg->message[5]);
+ fprintf(file," key %d, event: %s, follows: %s\n",msg->keycode,
+ (msg->press?"press":"release"),
+ (msg->key_event_follows?"yes":"no"));
+ return;
+}
+
+void
+do_XkbNewKeyboardNotify(file,xkbev)
+ FILE * file;
+ XkbEvent *xkbev;
+{
+ XkbNewKeyboardNotifyEvent *nk= &xkbev->new_kbd;
+ fprintf(file," new device: %d min_keycode: %d, max_keycode %d\n",
+ nk->device,nk->min_key_code,nk->max_key_code);
+ fprintf(file," old device: %d min_keycode: %d, max_keycode %d\n",
+ nk->old_device,
+ nk->old_min_key_code,nk->old_max_key_code);
+ return;
+}
+
+void
+do_XkbExtensionDeviceNotify(file,xkbev)
+ FILE * file;
+ XkbEvent *xkbev;
+{
+ XkbExtensionDeviceNotifyEvent *edn= &xkbev->device;
+ fprintf(file," device= %d, class= %d, id= %d\n",edn->device,
+ edn->led_class,edn->led_id);
+ fprintf(file," reason= 0x%0x\n",edn->reason);
+ fprintf(file," supported= 0x%0x, unsupported= 0x%0x\n",edn->supported,
+ edn->unsupported);
+ fprintf(file," first button= %d, num buttons= %d\n",edn->first_btn,
+ edn->num_btns);
+ fprintf(file," leds defined= 0x%08x, led state= 0x%08x\n",
+ edn->leds_defined,edn->led_state);
+ return;
+}
+
+static char keyState[XkbMaxLegalKeyCode];
+
+do_KeyEvent (eventp,compose,repeat)
+ XkbEvent *eventp;
+{
+ XKeyEvent *e = &eventp->core.xkey;
+ KeySym ks;
+ char *ksname,*kname;
+ int nbytes;
+ char str[256+1];
+ static XComposeStatus status;
+
+ nbytes = XLookupString (e, str, 256, &ks, (compose?&status:NULL));
+ if (ks == NoSymbol)
+ ksname = "NoSymbol";
+ else if (!(ksname = XKeysymToString (ks)))
+ ksname = "(no name)";
+ printf (" root 0x%lx, subw 0x%lx, time %lu, (%d,%d), root:(%d,%d),\n",
+ e->root, e->subwindow, e->time, e->x, e->y, e->x_root, e->y_root);
+
+ if (xkb && xkb->names && xkb->names->keys)
+ kname= XkbKeyNameText(xkb->names->keys[e->keycode].name,XkbMessage);
+ else kname= "<????>";
+
+ printf (" state 0x%x, group= %d, key %s (keycode %u, keysym 0x%x, %s)\n",
+ e->state&0x1FFF, (e->state>>13)&0x7, kname,
+ e->keycode, ks, ksname);
+ printf (" same_screen %s, autorepeat %s,\n",ynText(e->same_screen),
+ (detectableRepeat ? ynText(repeat) : "UNKNOWN"));
+ if (nbytes < 0) nbytes = 0;
+ if (nbytes > 256) nbytes = 256;
+ str[nbytes] = '\0';
+ printf (" XLookupString gives %d characters: \"%s\"\n", nbytes, str);
+
+ return;
+}
+
+
+do_KeyPress (eventp)
+ XkbEvent *eventp;
+{
+int repeat;
+
+ repeat= keyState[eventp->core.xkey.keycode]!=0;
+ keyState[eventp->core.xkey.keycode]= 1;
+ do_KeyEvent (eventp, 1,repeat);
+ return;
+}
+
+do_KeyRelease (eventp)
+ XkbEvent *eventp;
+{
+ keyState[eventp->core.xkey.keycode]= 0;
+ do_KeyEvent (eventp,0,False);
+ return;
+}
+
+do_ButtonPress (eventp)
+ XkbEvent *eventp;
+{
+ XButtonEvent *e = &eventp->core.xbutton;
+
+ printf (" root 0x%lx, subw 0x%lx, time %lu, (%d,%d), root:(%d,%d),\n",
+ e->root, e->subwindow, e->time, e->x, e->y, e->x_root, e->y_root);
+ printf (" state 0x%x, group= %d, button %u, same_screen %s\n",
+ e->state&0x1FFF, (e->state>>13)&0x7, e->button,
+ ynText(e->same_screen));
+
+ return;
+}
+
+do_ButtonRelease (eventp)
+ XkbEvent *eventp;
+{
+ do_ButtonPress (eventp); /* since it has the same info */
+ return;
+}
+
+do_MotionNotify (eventp)
+ XkbEvent *eventp;
+{
+ XMotionEvent *e = &eventp->core.xmotion;
+
+ printf (" root 0x%lx, subw 0x%lx, time %lu, (%d,%d), root:(%d,%d),\n",
+ e->root, e->subwindow, e->time, e->x, e->y, e->x_root, e->y_root);
+ printf (" state 0x%x, group= %d, is_hint %u, same_screen %s\n",
+ e->state&0x1FFF, (e->state>>13)&0x7, e->is_hint,
+ ynText(e->same_screen));
+
+ return;
+}
+
+do_EnterNotify (eventp)
+ XkbEvent *eventp;
+{
+ XCrossingEvent *e = &eventp->core.xcrossing;
+ char *mode, *detail;
+ char dmode[10], ddetail[10];
+
+ switch (e->mode) {
+ case NotifyNormal: mode = "NotifyNormal"; break;
+ case NotifyGrab: mode = "NotifyGrab"; break;
+ case NotifyUngrab: mode = "NotifyUngrab"; break;
+ case NotifyWhileGrabbed: mode = "NotifyWhileGrabbed"; break;
+ default: mode = dmode, sprintf (dmode, "%u", e->mode); break;
+ }
+
+ switch (e->detail) {
+ case NotifyAncestor: detail = "NotifyAncestor"; break;
+ case NotifyVirtual: detail = "NotifyVirtual"; break;
+ case NotifyInferior: detail = "NotifyInferior"; break;
+ case NotifyNonlinear: detail = "NotifyNonlinear"; break;
+ case NotifyNonlinearVirtual: detail = "NotifyNonlinearVirtual"; break;
+ case NotifyPointer: detail = "NotifyPointer"; break;
+ case NotifyPointerRoot: detail = "NotifyPointerRoot"; break;
+ case NotifyDetailNone: detail = "NotifyDetailNone"; break;
+ default: detail = ddetail; sprintf (ddetail, "%u", e->detail); break;
+ }
+
+ printf (" root 0x%lx, subw 0x%lx, time %lu, (%d,%d), root:(%d,%d),\n",
+ e->root, e->subwindow, e->time, e->x, e->y, e->x_root, e->y_root);
+ printf (" mode %s, detail %s, same_screen %s,\n",
+ mode, detail, ynText(e->same_screen));
+ printf (" focus %s, state %u, group= %d\n", ynText(e->focus),
+ e->state&0x1FFF, (e->state>>13)&7 );
+
+ return;
+}
+
+do_LeaveNotify (eventp)
+ XkbEvent *eventp;
+{
+ do_EnterNotify (eventp); /* since it has same information */
+ return;
+}
+
+do_KeymapNotify (eventp)
+ XkbEvent *eventp;
+{
+ XKeymapEvent *e = &eventp->core.xkeymap;
+ int i;
+
+ printf (" keys: ");
+ for (i = 0; i < 32; i++) {
+ if (i == 16) printf ("\n ");
+ printf ("%-3u ", (unsigned int) e->key_vector[i]);
+ }
+ printf ("\n");
+ return;
+}
+
+do_ClientMessage (eventp)
+ XkbEvent *eventp;
+{
+ XClientMessageEvent *e = &eventp->core.xclient;
+ char *mname = XGetAtomName (dpy, e->message_type);
+
+ printf (" message_type 0x%lx (%s), format %d\n",
+ e->message_type, mname ? mname : Unknown, e->format);
+
+ if (mname) XFree (mname);
+ return;
+}
+
+do_MappingNotify (eventp)
+ XkbEvent *eventp;
+{
+ XMappingEvent *e = &eventp->core.xmapping;
+ char *r;
+ char rdummy[10];
+
+ switch (e->request) {
+ case MappingModifier: r = "MappingModifier"; break;
+ case MappingKeyboard: r = "MappingKeyboard"; break;
+ case MappingPointer: r = "MappingPointer"; break;
+ default: r = rdummy; sprintf (rdummy, "%d", e->request); break;
+ }
+
+ printf (" request %s, first_keycode %d, count %d\n",
+ r, e->first_keycode, e->count);
+ XRefreshKeyboardMapping(e);
+ return;
+}
+
+
+
+set_sizehints (hintp, min_width, min_height,
+ defwidth, defheight, defx, defy, geom)
+ XSizeHints *hintp;
+ int min_width, min_height, defwidth, defheight, defx, defy;
+ char *geom;
+{
+ int geom_result;
+
+ /* set the size hints, algorithm from xlib xbiff */
+
+ hintp->width = hintp->min_width = min_width;
+ hintp->height = hintp->min_height = min_height;
+ hintp->flags = PMinSize;
+ hintp->x = hintp->y = 0;
+ geom_result = NoValue;
+ if (geom != NULL) {
+ geom_result = XParseGeometry (geom, &hintp->x, &hintp->y,
+ (unsigned int *)&hintp->width,
+ (unsigned int *)&hintp->height);
+ if ((geom_result & WidthValue) && (geom_result & HeightValue)) {
+#define max(a,b) ((a) > (b) ? (a) : (b))
+ hintp->width = max (hintp->width, hintp->min_width);
+ hintp->height = max (hintp->height, hintp->min_height);
+ hintp->flags |= USSize;
+ }
+ if ((geom_result & XValue) && (geom_result & YValue)) {
+ hintp->flags += USPosition;
+ }
+ }
+ if (!(hintp->flags & USSize)) {
+ hintp->width = defwidth;
+ hintp->height = defheight;
+ hintp->flags |= PSize;
+ }
+/*
+ if (!(hintp->flags & USPosition)) {
+ hintp->x = defx;
+ hintp->y = defy;
+ hintp->flags |= PPosition;
+ }
+ */
+ if (geom_result & XNegative) {
+ hintp->x = DisplayWidth (dpy, DefaultScreen (dpy)) + hintp->x -
+ hintp->width;
+ }
+ if (geom_result & YNegative) {
+ hintp->y = DisplayHeight (dpy, DefaultScreen (dpy)) + hintp->y -
+ hintp->height;
+ }
+ return;
+}
+
+Bool
+PrintXkbEvent(file,ev)
+ FILE * file;
+ XkbEvent * ev;
+{
+ if (ev->type==xkbEventCode) {
+ switch (ev->any.xkb_type) {
+ case XkbStateNotify:
+ xkb_prologue(file, ev, "XkbStateNotify" );
+ do_XkbStateNotify(file,ev);
+ break;
+ case XkbMapNotify:
+ xkb_prologue(file, ev, "XkbMapNotify" );
+ do_XkbMapNotify(file,ev);
+ break;
+ case XkbControlsNotify:
+ xkb_prologue(file, ev, "XkbControlsNotify" );
+ do_XkbControlsNotify(file,ev);
+ break;
+ case XkbIndicatorMapNotify:
+ xkb_prologue(file, ev, "XkbIndicatorMapNotify" );
+ do_XkbIndicatorNotify(file,ev);
+ break;
+ case XkbIndicatorStateNotify:
+ xkb_prologue(file, ev, "XkbIndicatorStateNotify" );
+ do_XkbIndicatorNotify(file,ev);
+ break;
+ case XkbBellNotify:
+ xkb_prologue(file, ev, "XkbBellNotify" );
+ do_XkbBellNotify(file,ev);
+ break;
+ case XkbAccessXNotify:
+ xkb_prologue(file, ev, "XkbAccessXNotify" );
+ do_XkbAccessXNotify(file,ev);
+ break;
+ case XkbNamesNotify:
+ xkb_prologue(file, ev, "XkbNamesNotify" );
+ do_XkbNamesNotify(file,ev);
+ break;
+ case XkbCompatMapNotify:
+ xkb_prologue(file, ev, "XkbCompatMapNotify" );
+ do_XkbCompatMapNotify(file,ev);
+ break;
+ case XkbActionMessage:
+ xkb_prologue(file, ev, "XkbActionMessage" );
+ do_XkbActionMessage(file,ev);
+ break;
+ case XkbNewKeyboardNotify:
+ xkb_prologue(file, ev, "XkbNewKeyboard" );
+ do_XkbNewKeyboardNotify(file,ev);
+ break;
+ case XkbExtensionDeviceNotify:
+ xkb_prologue(file, ev, "XkbExtensionDeviceNotify" );
+ do_XkbExtensionDeviceNotify(file,ev);
+ break;
+ default:
+ xkb_prologue(file, ev, "XKB_UNKNOWN!!!" );
+ break;
+ }
+ }
+ return;
+}