summaryrefslogtreecommitdiff
path: root/libxklavier/xklavier_xkb.c
diff options
context:
space:
mode:
authorSergey Udaltsov <svu@gnome.org>2004-11-27 15:47:04 +0000
committerSergey Udaltsov <svu@gnome.org>2004-11-27 15:47:04 +0000
commita9f5148f77cb23de913206becf874dac735a6059 (patch)
tree93a5dbdeb22b34ec10c38b3ba63b4b5fd97980f2 /libxklavier/xklavier_xkb.c
parentd431ef4a3ca6228954ddb21e2e4a88f0cf9e8624 (diff)
downloadlibxklavier-a9f5148f77cb23de913206becf874dac735a6059.tar.gz
first working version of xmodmap
Diffstat (limited to 'libxklavier/xklavier_xkb.c')
-rw-r--r--libxklavier/xklavier_xkb.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/libxklavier/xklavier_xkb.c b/libxklavier/xklavier_xkb.c
index 5b2ffe4..2d25ea1 100644
--- a/libxklavier/xklavier_xkb.c
+++ b/libxklavier/xklavier_xkb.c
@@ -387,7 +387,6 @@ int _XklXkbInit( void )
&_xklXkbError, NULL, NULL );
if( !_xklXkbExtPresent )
{
- _xklDpy = NULL;
XSetErrorHandler( ( XErrorHandler ) _xklDefaultErrHandler );
return -1;
}
@@ -420,3 +419,29 @@ int _XklXkbInit( void )
return -1;
#endif
}
+
+const char *_XklXkbGetXkbEventName( int xkb_type )
+{
+ /* Not really good to use the fact of consecutivity
+ but XKB protocol extension is already standartized so... */
+ static const char *evtNames[] = {
+ "XkbNewKeyboardNotify",
+ "XkbMapNotify",
+ "XkbStateNotify",
+ "XkbControlsNotify",
+ "XkbIndicatorStateNotify",
+ "XkbIndicatorMapNotify",
+ "XkbNamesNotify",
+ "XkbCompatMapNotify",
+ "XkbBellNotify",
+ "XkbActionMessage",
+ "XkbAccessXNotify",
+ "XkbExtensionDeviceNotify",
+ "LASTEvent"
+ };
+ xkb_type -= XkbNewKeyboardNotify;
+ if( xkb_type < 0 ||
+ xkb_type >= ( sizeof( evtNames ) / sizeof( evtNames[0] ) ) )
+ return "UNKNOWN";
+ return evtNames[xkb_type];
+}