diff options
author | Sergey Udaltsov <svu@gnome.org> | 2004-01-20 08:56:41 +0000 |
---|---|---|
committer | Sergey Udaltsov <svu@gnome.org> | 2004-01-20 08:56:41 +0000 |
commit | 21b25ac93553d1a8e4a94607875bd99b016d4a71 (patch) | |
tree | fa905c4b6ba115d5fd17c146eb7023e9d9f0e1bd /libxklavier/xklavier_config_xkb.c | |
parent | ab2c2908cc9605d2810cd2e56011e114d02fff7f (diff) | |
download | libxklavier-21b25ac93553d1a8e4a94607875bd99b016d4a71.tar.gz |
Trying to make libxklavier buildable without xkb headers, first round
Diffstat (limited to 'libxklavier/xklavier_config_xkb.c')
-rw-r--r-- | libxklavier/xklavier_config_xkb.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/libxklavier/xklavier_config_xkb.c b/libxklavier/xklavier_config_xkb.c index b9de6b5..8aa9e81 100644 --- a/libxklavier/xklavier_config_xkb.c +++ b/libxklavier/xklavier_config_xkb.c @@ -11,8 +11,10 @@ #include "xklavier_private_xkb.h" +#ifdef XKB_HEADERS_PRESENT #include <X11/extensions/XKBfile.h> #include <X11/extensions/XKM.h> +#endif #define RULES_FILE "xfree86" @@ -28,10 +30,13 @@ #define XK_XKB_KEYS #include <X11/keysymdef.h> +#ifdef XKB_HEADERS_PRESENT XkbRF_VarDefsRec _xklVarDefs; static XkbRF_RulesPtr rules; static XkbComponentNamesRec componentNames; +#endif + static char *locale; Bool XklConfigLoadRegistry( void ) @@ -47,6 +52,7 @@ Bool XklConfigLoadRegistry( void ) static Bool _XklConfigPrepareBeforeKbd( const XklConfigRecPtr data ) { +#ifdef XKB_HEADERS_PRESENT memset( &_xklVarDefs, 0, sizeof( _xklVarDefs ) ); _xklVarDefs.model = ( char * ) data->model; @@ -77,12 +83,13 @@ static Bool _XklConfigPrepareBeforeKbd( const XklConfigRecPtr data ) _xklLastErrorMsg = "Could not translate rules into components"; return False; } - +#endif return True; } static void _XklConfigCleanAfterKbd( ) { +#ifdef XKB_HEADERS_PRESENT XkbRF_Free( rules, True ); if( locale != NULL ) @@ -100,6 +107,7 @@ static void _XklConfigCleanAfterKbd( ) free( _xklVarDefs.options ); _xklVarDefs.options = NULL; } +#endif } static void _XklApplyFun2XkbDesc( XkbDescPtr xkb, XkbDescModifierFunc fun, @@ -157,6 +165,7 @@ Bool XklConfigActivate( const XklConfigRecPtr data, XkbDescModifierFunc fun, } #endif +#ifdef XKB_HEADERS_PRESENT if( _XklConfigPrepareBeforeKbd( data ) ) { XkbDescPtr xkb; @@ -186,11 +195,13 @@ Bool XklConfigActivate( const XklConfigRecPtr data, XkbDescModifierFunc fun, } } _XklConfigCleanAfterKbd( ); +#endif return rv; } int XklSetKeyAsSwitcher( XkbDescPtr kbd, void *userData ) { +#ifdef XKB_HEADERS_PRESENT if( kbd != NULL ) { XkbClientMapPtr map = kbd->map; @@ -215,6 +226,9 @@ int XklSetKeyAsSwitcher( XkbDescPtr kbd, void *userData ) 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, @@ -222,6 +236,7 @@ Bool XklConfigWriteXKMFile( const char *fileName, const XklConfigRecPtr data, { Bool rv = False; +#ifdef XKB_HEADERS_PRESENT FILE *output = fopen( fileName, "w" ); XkbFileInfo dumpInfo; @@ -253,5 +268,6 @@ Bool XklConfigWriteXKMFile( const char *fileName, const XklConfigRecPtr data, } _XklConfigCleanAfterKbd( ); fclose( output ); +#endif return rv; } |