summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Udaltsov <svu@gnome.org>2004-01-21 09:14:26 +0000
committerSergey Udaltsov <svu@gnome.org>2004-01-21 09:14:26 +0000
commitcba5a96ff3bfe75100e0014cdc45211d7fbeea82 (patch)
tree3dea8148aecc6dbb03c9c22d83170872df45e629
parent21b25ac93553d1a8e4a94607875bd99b016d4a71 (diff)
downloadlibxklavier-cba5a96ff3bfe75100e0014cdc45211d7fbeea82.tar.gz
The public API does not depend on XKB symbols any more. The API/ABI are broken
-rw-r--r--configure.in2
-rw-r--r--libxklavier/xklavier_config.c29
-rw-r--r--libxklavier/xklavier_config.h24
-rw-r--r--libxklavier/xklavier_config_xkb.c72
-rw-r--r--libxklavier/xklavier_dump.c5
-rw-r--r--libxklavier/xklavier_private_xkb.h8
-rw-r--r--libxklavier/xklavier_xkb.c3
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;