diff options
author | Sergey Udaltsov <svu@gnome.org> | 2004-01-21 09:14:26 +0000 |
---|---|---|
committer | Sergey Udaltsov <svu@gnome.org> | 2004-01-21 09:14:26 +0000 |
commit | cba5a96ff3bfe75100e0014cdc45211d7fbeea82 (patch) | |
tree | 3dea8148aecc6dbb03c9c22d83170872df45e629 | |
parent | 21b25ac93553d1a8e4a94607875bd99b016d4a71 (diff) | |
download | libxklavier-cba5a96ff3bfe75100e0014cdc45211d7fbeea82.tar.gz |
The public API does not depend on XKB symbols any more. The API/ABI are broken
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | libxklavier/xklavier_config.c | 29 | ||||
-rw-r--r-- | libxklavier/xklavier_config.h | 24 | ||||
-rw-r--r-- | libxklavier/xklavier_config_xkb.c | 72 | ||||
-rw-r--r-- | libxklavier/xklavier_dump.c | 5 | ||||
-rw-r--r-- | libxklavier/xklavier_private_xkb.h | 8 | ||||
-rw-r--r-- | libxklavier/xklavier_xkb.c | 3 |
7 files changed, 11 insertions, 132 deletions
diff --git a/configure.in b/configure.in index 23f1593..f493817 100644 --- a/configure.in +++ b/configure.in @@ -4,7 +4,7 @@ PACKAGE=libxklavier MAJOR_VERSION=0 MINOR_VERSION=97 VERSION=$MAJOR_VERSION.$MINOR_VERSION -VERSION_INFO=8:0:1 +VERSION_INFO=8:0:0 AC_SUBST(MAJOR_VERSION) AC_SUBST(MINOR_VERSION) diff --git a/libxklavier/xklavier_config.c b/libxklavier/xklavier_config.c index f5c9bd2..040a733 100644 --- a/libxklavier/xklavier_config.c +++ b/libxklavier/xklavier_config.c @@ -333,35 +333,6 @@ void _XklConfigRecSplitByComma( char ***array, } } -static void _XklApplyFun2XkbDesc( XkbDescPtr xkb, XkbDescModifierFunc fun, - void *userData, Bool activeInServer ) -{ - int mask; - // XklDumpXkbDesc( "comp.xkb", xkb ); - if( fun == NULL ) - return; - - if( activeInServer ) - { - mask = ( *fun ) ( NULL, NULL ); - if( mask == 0 ) - return; - XkbGetUpdatedMap( _xklDpy, mask, xkb ); - // XklDumpXkbDesc( "restored1.xkb", xkb ); - } - - mask = ( *fun ) ( xkb, userData ); - if( activeInServer ) - { - // XklDumpXkbDesc( "comp+.xkb", xkb ); - XkbSetMap( _xklDpy, mask, xkb ); - XSync( _xklDpy, False ); - - // XkbGetUpdatedMap( _xklDpy, XkbAllMapComponentsMask, xkb ); - // XklDumpXkbDesc( "restored2.xkb", xkb ); - } -} - void XklConfigInit( void ) { xmlXPathInit( ); diff --git a/libxklavier/xklavier_config.h b/libxklavier/xklavier_config.h index 15c3c85..7eeb10b 100644 --- a/libxklavier/xklavier_config.h +++ b/libxklavier/xklavier_config.h @@ -31,10 +31,6 @@ extern "C" { #endif /* __cplusplus */ -#ifndef XKB_HEADERS_PRESENT - typedef void * XkbDescPtr; -#endif - /** * The configuration item. Corresponds to XML element "configItem". */ @@ -149,15 +145,6 @@ extern "C" Bool allowMultipleSelection, void *userData ); /** - * Callback used to modify/patch the keyboard description before the - * activation. The function should be able to work without kbd ( kbd = NULL ). - * In this case, it should just return the mask of possible changes. - * @param kbd is the keyboard description - * @param userData is anything which can be stored into the pointer - * @return the mask of the changes - */ - typedef int ( *XkbDescModifierFunc ) ( XkbDescPtr kbd, void *userData ); -/** * Enumerates keyboard models from the XML configuration registry * @param func is a callback to call for every model * @param userData is anything which can be stored into the pointer @@ -281,15 +268,7 @@ extern "C" * At the moment, accepts only _ONE_ layout. Later probably I'll improve this.. */ extern Bool XklConfigActivate( const XklConfigRecPtr data, - XkbDescModifierFunc fun, void *userData ); - -/** - * One of possible XkbDescModifierFunc - * Handy for setting one key as a group switcher - * @param kbd is the keyboard to modify - * @param userData is a keysym to make a group switcher - */ - extern int XklSetKeyAsSwitcher( XkbDescPtr kbd, void *userData ); + void *userData ); /** * Loads the current XKB configuration (from X server) @@ -318,7 +297,6 @@ extern "C" */ extern Bool XklConfigWriteXKMFile( const char *fileName, const XklConfigRecPtr data, - XkbDescModifierFunc fun, void *userData ); /** @} */ diff --git a/libxklavier/xklavier_config_xkb.c b/libxklavier/xklavier_config_xkb.c index 8aa9e81..7685bf9 100644 --- a/libxklavier/xklavier_config_xkb.c +++ b/libxklavier/xklavier_config_xkb.c @@ -110,42 +110,13 @@ static void _XklConfigCleanAfterKbd( ) #endif } -static void _XklApplyFun2XkbDesc( XkbDescPtr xkb, XkbDescModifierFunc fun, - void *userData, Bool activeInServer ) -{ - int mask; - // XklDumpXkbDesc( "comp.xkb", xkb ); - if( fun == NULL ) - return; - - if( activeInServer ) - { - mask = ( *fun ) ( NULL, NULL ); - if( mask == 0 ) - return; - XkbGetUpdatedMap( _xklDpy, mask, xkb ); - // XklDumpXkbDesc( "restored1.xkb", xkb ); - } - - mask = ( *fun ) ( xkb, userData ); - if( activeInServer ) - { - // XklDumpXkbDesc( "comp+.xkb", xkb ); - XkbSetMap( _xklDpy, mask, xkb ); - XSync( _xklDpy, False ); - - // XkbGetUpdatedMap( _xklDpy, XkbAllMapComponentsMask, xkb ); - // XklDumpXkbDesc( "restored2.xkb", xkb ); - } -} - Bool XklMultipleLayoutsSupported( void ) { struct stat buf; return 0 == stat( MULTIPLE_LAYOUTS_CHECK_PATH, &buf ); } -Bool XklConfigActivate( const XklConfigRecPtr data, XkbDescModifierFunc fun, +Bool XklConfigActivate( const XklConfigRecPtr data, void *userData ) { Bool rv = False; @@ -178,11 +149,6 @@ Bool XklConfigActivate( const XklConfigRecPtr data, XkbDescModifierFunc fun, //!! Do I need to free it anywhere? if( xkb != NULL ) { - _XklApplyFun2XkbDesc( xkb, fun, userData, True ); -#if 0 - XklDumpXkbDesc( "config.xkb", xkb ); -#endif - if( XklSetNamesProp ( _xklAtoms[XKB_RF_NAMES_PROP_ATOM], RULES_FILE, data ) ) rv = True; @@ -199,40 +165,8 @@ Bool XklConfigActivate( const XklConfigRecPtr data, XkbDescModifierFunc fun, return rv; } -int XklSetKeyAsSwitcher( XkbDescPtr kbd, void *userData ) -{ -#ifdef XKB_HEADERS_PRESENT - if( kbd != NULL ) - { - XkbClientMapPtr map = kbd->map; - if( map != NULL ) - { - KeySym keysym = ( KeySym ) userData; - KeySym *psym = map->syms; - int symno; - - for( symno = map->num_syms; --symno >= 0; psym++ ) - { - if( *psym == keysym ) - { - XklDebug( 160, "Changing %s to %s at %d\n", - XKeysymToString( *psym ), - XKeysymToString( XK_ISO_Next_Group ), psym - map->syms ); - *psym = XK_ISO_Next_Group; - break; - } - } - } else - XklDebug( 160, "No client map in the keyboard description?\n" ); - } - return XkbKeySymsMask | XkbKeyTypesMask | XkbKeyActionsMask; -#else - return 0; -#endif -} - Bool XklConfigWriteXKMFile( const char *fileName, const XklConfigRecPtr data, - XkbDescModifierFunc fun, void *userData ) + void *userData ) { Bool rv = False; @@ -256,8 +190,6 @@ Bool XklConfigWriteXKMFile( const char *fileName, const XklConfigRecPtr data, ( ~XkbGBN_GeometryMask ), False ); if( xkb != NULL ) { - _XklApplyFun2XkbDesc( xkb, fun, userData, False ); - dumpInfo.defined = 0; dumpInfo.xkb = xkb; dumpInfo.type = XkmKeymapFile; diff --git a/libxklavier/xklavier_dump.c b/libxklavier/xklavier_dump.c index 7d3b460..95962ec 100644 --- a/libxklavier/xklavier_dump.c +++ b/libxklavier/xklavier_dump.c @@ -235,11 +235,9 @@ static void _XkbClientMapDump( FILE * fs, int level, XkbClientMapPtr map, } else fprintf( fs, "%*sNO key_sym_map\n", level, "" ); } -#endif void _XkbDescDump( FILE * fs, int level, XkbDescPtr kbd ) { -#ifdef XKB_HEADERS_PRESENT fprintf( fs, "%*sflags: 0x%X\n", level, "", kbd->flags ); fprintf( fs, "%*sdevice_spec: %d\n", level, "", kbd->device_spec ); fprintf( fs, "%*smin_key_code: %d\n", level, "", kbd->min_key_code ); @@ -265,9 +263,7 @@ void _XkbDescDump( FILE * fs, int level, XkbDescPtr kbd ) _XkbClientMapDump( fs, level + 2, kbd->map, kbd ); } else fprintf( fs, "%*sNO map\n", level, "" ); -#else fprintf( fs, "XKB libraries not present\n" ); -#endif } void XklDumpXkbDesc( const char *filename, XkbDescPtr kbd ) @@ -280,3 +276,4 @@ void XklDumpXkbDesc( const char *filename, XkbDescPtr kbd ) } } +#endif diff --git a/libxklavier/xklavier_private_xkb.h b/libxklavier/xklavier_private_xkb.h index b99a405..98fc40d 100644 --- a/libxklavier/xklavier_private_xkb.h +++ b/libxklavier/xklavier_private_xkb.h @@ -18,12 +18,12 @@ extern int _xklXkbEventType, _xklXkbError; extern XkbRF_VarDefsRec _xklVarDefs; -#endif - -extern Bool _xklXkbExtPresent; - extern XkbDescPtr _xklXkb; extern void XklDumpXkbDesc( const char *filename, XkbDescPtr kbd ); #endif + +extern Bool _xklXkbExtPresent; + +#endif diff --git a/libxklavier/xklavier_xkb.c b/libxklavier/xklavier_xkb.c index 3dd2351..8e190fb 100644 --- a/libxklavier/xklavier_xkb.c +++ b/libxklavier/xklavier_xkb.c @@ -8,8 +8,9 @@ #include "xklavier_private.h" #include "xklavier_private_xkb.h" -XkbDescPtr _xklXkb; #ifdef XKB_HEADERS_PRESENT +XkbDescPtr _xklXkb; + char *_xklIndicatorNames[XkbNumIndicators]; unsigned _xklPhysIndicatorsMask; |