From 6580ce12e3a7ac1597d84a70f452c5e598f72207 Mon Sep 17 00:00:00 2001 From: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br> Date: Fri, 18 Jan 2008 10:59:54 -0200 Subject: [PATCH] Add -all option to allow using xkbdev almost as xev to debug xkb events. --- xkbevd.c | 16 ++++++++++++---- xkbevd.man | 3 +++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/xkbevd.c b/xkbevd.c index 36fd809..3460a1a 100644 --- a/xkbevd.c +++ b/xkbevd.c @@ -41,7 +41,7 @@ #endif /* DFLT_XKBEVD_CONFIG */ #ifndef DFLT_XKB_CONFIG_ROOT -#define DFLT_XKB_CONFIG_ROOT "/usr/X11R6/lib/xkb" +#define DFLT_XKB_CONFIG_ROOT "/usr/share/X11/xkb" #endif #ifndef DFLT_SYS_XKBEVD_CONFIG @@ -95,6 +95,7 @@ Usage(int argc, char *argv[]) M("-bg Run in background\n"); M("-synch Force synchronization\n"); M("-v Print verbose messages\n"); + M("-all Print all events\n"); return; } @@ -195,6 +196,10 @@ register int i; Usage(argc,argv); exit(0); } + else if (strcmp(argv[i], "-all") == 0) { + eventMask = XkbAllEventsMask; + verbose++; + } else { uError("Unknown flag \"%s\" on command line\n",argv[i]); Usage(argc,argv); @@ -382,8 +387,11 @@ char buf[1024],*cmd; int ok; cfg= FindMatchingConfig(ev); - if (!cfg) + if (!cfg) { + if (verbose) + PrintXkbEvent(stdout,ev); return False; + } if (cfg->action.type==UnknownAction) { if (cfg->action.text==NULL) cfg->action.type= NoAction; @@ -478,7 +486,7 @@ Bool ok; } sprintf(buf,DFLT_SYS_XKBEVD_CONFIG,DFLT_XKB_CONFIG_ROOT); file= fopen(cfgFileName,"r"); - if (file==NULL) { + if (file==NULL && !eventMask) { if (verbose) { uError("Couldn't find a config file anywhere\n"); uAction("Exiting\n"); @@ -502,7 +510,7 @@ Bool ok; ok= True; setScanState(cfgFileName,1); CFGParseFile(file); - if (!config) { + if (!config && !eventMask) { uError("No configuration specified in \"%s\"\n",cfgFileName); goto BAILOUT; } diff --git a/xkbevd.man b/xkbevd.man index ec235f3..09b6b45 100644 --- a/xkbevd.man +++ b/xkbevd.man @@ -89,6 +89,9 @@ Forces synchronization of all X requests. Slow. .B \-v Print more information, including debugging messages. Multiple specifications of \fI-v\fP cause more output, to a point. +.TP 8 +.B \-all +Prints information about all known XKB event types. Implies \fB-v\fP option. .SH "SEE ALSO" X(__miscmansuffix__) .SH COPYRIGHT -- 1.5.3.5