diff options
author | Sergey Udaltsov <svu@gnome.org> | 2004-11-08 23:59:37 +0000 |
---|---|---|
committer | Sergey Udaltsov <svu@gnome.org> | 2004-11-08 23:59:37 +0000 |
commit | 0d66928c31fd63ecc04e34f66c2507568fb937c4 (patch) | |
tree | 6ad919a4cd45e44040bb611f87b56f454af15885 | |
parent | 461375345a7efe3c8c8122f4a0788b04264fcfbb (diff) | |
download | libxklavier-0d66928c31fd63ecc04e34f66c2507568fb937c4.tar.gz |
function are declared for xmm
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | libxklavier/Makefile.am | 9 | ||||
-rw-r--r-- | libxklavier/xklavier.c | 5 | ||||
-rw-r--r-- | libxklavier/xklavier_config_xkb.c | 3 | ||||
-rw-r--r-- | libxklavier/xklavier_config_xmm.c | 47 | ||||
-rw-r--r-- | libxklavier/xklavier_evt_xmm.c | 21 | ||||
-rw-r--r-- | libxklavier/xklavier_private.h | 9 | ||||
-rw-r--r-- | libxklavier/xklavier_private_xkb.h | 6 | ||||
-rw-r--r-- | libxklavier/xklavier_private_xmm.h | 38 | ||||
-rw-r--r-- | libxklavier/xklavier_xkb.c | 1 | ||||
-rwxr-xr-x | libxklavier/xklavier_xmm.c | 71 |
11 files changed, 210 insertions, 11 deletions
@@ -1,5 +1,16 @@ 2004-11-04 19:00 svu + * libxklavier/Makefile.am, + libxklavier/xklavier.c, + libxklavier/xklavier_config_xkb.c, + libxklavier/xklavier_config_xmm.c, + libxklavier/xklavier_evt_xmm.c, + libxklavier/xklavier_private_xkb.h, + libxklavier/xklavier_private_xmm.h, + libxklavier/xklavier_xmm.c: going xmodmappy + +2004-11-04 19:00 svu + * libxklavier/xklavier_config_i18n.c, tests/Makefile.am, tests/test_config.c, diff --git a/libxklavier/Makefile.am b/libxklavier/Makefile.am index 8834675..2525209 100644 --- a/libxklavier/Makefile.am +++ b/libxklavier/Makefile.am @@ -5,13 +5,16 @@ endif AM_CFLAGS = -Wall -Werror -DDATA_DIR=\"$(datadir)/$(PACKAGE)\" -I. -I$(includedir) $(XML_CFLAGS) -I$(x_includes) -I$(top_srcdir) $(XKB_HEADERS_PRESENT_CFLAG) lib_LTLIBRARIES = libxklavier.la -noinst_HEADERS = xklavier_private.h xklavier_private_xkb.h +noinst_HEADERS = xklavier_private.h xklavier_private_xkb.h xklavier_private_xmm.h xklavierincdir = $(includedir)/libxklavier xklavierinc_HEADERS = xklavier.h xklavier_config.h -libxklavier_la_SOURCES = xklavier.c xklavier_xkb.c xklavier_evt.c xklavier_evt_xkb.c xklavier_util.c xklavier_config.c xklavier_config_xkb.c xklavier_config_i18n.c xklavier_props.c xklavier_dump.c \ - $(noinst_HEADERS) $(xklavierinc_HEADERS) +libxklavier_la_SOURCES = xklavier.c xklavier_evt.c xklavier_config.c \ + xklavier_xkb.c xklavier_evt_xkb.c xklavier_config_xkb.c \ + xklavier_xmm.c xklavier_evt_xmm.c xklavier_config_xmm.c \ + xklavier_util.c xklavier_config_i18n.c xklavier_props.c xklavier_dump.c \ + $(noinst_HEADERS) $(xklavierinc_HEADERS) libxklavier_la_LDFLAGS = -version-info @VERSION_INFO@ $(XML_LIBS) -lxkbfile -L$(x_libraries) $(LIBICONV) diff --git a/libxklavier/xklavier.c b/libxklavier/xklavier.c index 2c1f7b6..1a70046 100644 --- a/libxklavier/xklavier.c +++ b/libxklavier/xklavier.c @@ -750,8 +750,3 @@ void _XklFreeAllInfo( void ) _XklEnsureVTableInited(); (*xklVTable->xklFreeAllInfoHandler)(); } - -int _XklXmmInit( void ) -{ - return -1; -} diff --git a/libxklavier/xklavier_config_xkb.c b/libxklavier/xklavier_config_xkb.c index 71a3b79..9306f36 100644 --- a/libxklavier/xklavier_config_xkb.c +++ b/libxklavier/xklavier_config_xkb.c @@ -14,7 +14,6 @@ #include "config.h" #include "xklavier_private.h" - #include "xklavier_private_xkb.h" #ifdef XKB_HEADERS_PRESENT @@ -107,7 +106,7 @@ void _XklXkbConfigInit( void ) #endif } -Bool XklConfigLoadRegistry( void ) +Bool _XklXkbConfigLoadRegistry( void ) { struct stat statBuf; char fileName[MAXPATHLEN] = ""; diff --git a/libxklavier/xklavier_config_xmm.c b/libxklavier/xklavier_config_xmm.c new file mode 100644 index 0000000..b8b696f --- /dev/null +++ b/libxklavier/xklavier_config_xmm.c @@ -0,0 +1,47 @@ +#include <errno.h> +#include <string.h> +#include <locale.h> +#include <unistd.h> +#include <sys/stat.h> +#include <sys/param.h> +#include <sys/wait.h> + +#include <sys/types.h> +#include <fcntl.h> + +#include <libxml/xpath.h> + +#include "config.h" + +#include "xklavier_private.h" +#include "xklavier_private_xmm.h" + +#define XK_XKB_KEYS +#include <X11/keysymdef.h> + +void _XklXmmConfigInit( void ) +{ +} + +Bool _XklXmmConfigLoadRegistry( void ) +{ + return False; +} + +// check only client side support +Bool _XklXmmConfigMultipleLayoutsSupported( void ) +{ + return False; +} + +Bool _XklXmmConfigActivate( const XklConfigRecPtr data ) +{ + return False; +} + +Bool _XklXmmConfigWriteFile( const char *fileName, + const XklConfigRecPtr data, + const Bool binary ) +{ + return False; +} diff --git a/libxklavier/xklavier_evt_xmm.c b/libxklavier/xklavier_evt_xmm.c new file mode 100644 index 0000000..4a30e79 --- /dev/null +++ b/libxklavier/xklavier_evt_xmm.c @@ -0,0 +1,21 @@ +#include <time.h> + +#include <X11/Xatom.h> +#include <X11/Xlib.h> +#include <X11/Xutil.h> +#include <X11/Xlibint.h> + +#include "xklavier_private.h" +#include "xklavier_private_xmm.h" + +/** + * XKB event handler + */ +int _XklXmmEventHandler( XEvent *xev ) +{ + return 0; +} + +void _XklXmmSetIndicators( const XklState *windowState ) +{ +} diff --git a/libxklavier/xklavier_private.h b/libxklavier/xklavier_private.h index dae7de2..a0af474 100644 --- a/libxklavier/xklavier_private.h +++ b/libxklavier/xklavier_private.h @@ -9,6 +9,8 @@ typedef Bool ( *XklConfigActivateHandler )( const XklConfigRecPtr data ); typedef void ( *XklConfigInitHandler )( void ); +typedef Bool ( *XklConfigLoadRegistryHandler )( void ); + typedef Bool ( *XklConfigMultipleLayoutsSupportedHandler )( void ); typedef Bool ( *XklConfigWriteFileHandler )( const char *fileName, @@ -46,6 +48,13 @@ typedef struct */ XklConfigInitHandler xklConfigInitHandler; /* private */ /** + * Loads the registry tree into DOM (using whatever path(s)) + * The XklConfigFreeRegistry is static - no virtualization necessary. + * xkb: loads xml from XKB_BASE+"/rules/"+ruleset+".xml" + * TODO: xmodmap + */ + XklConfigLoadRegistryHandler xklConfigLoadRegistryHandler; + /** * Can the system combine layouts in one configuration - or not? * xkb: checks the simple rule with 2 layouts * xmodmap: return true diff --git a/libxklavier/xklavier_private_xkb.h b/libxklavier/xklavier_private_xkb.h index e4daa3a..3906881 100644 --- a/libxklavier/xklavier_private_xkb.h +++ b/libxklavier/xklavier_private_xkb.h @@ -24,6 +24,8 @@ extern Bool _XklXkbConfigActivate( const XklConfigRecPtr data ); extern void _XklXkbConfigInit( void ); +extern Bool _XklXkbConfigLoadRegistry( void ); + extern Bool _XklXkbConfigMultipleLayoutsSupported( void ); extern Bool _XklXkbConfigWriteFile( const char *fileName, @@ -42,7 +44,9 @@ extern Bool _XklXkbLoadAllInfo( void ); extern void _XklXkbLockGroup( int group ); -extern int _XklXkbPauseResumeListen( void ); +extern int _XklXkbPauseListen( void ); + +extern int _XklXkbResumeListen( void ); extern void _XklXkbSetIndicators( const XklState *windowState ); diff --git a/libxklavier/xklavier_private_xmm.h b/libxklavier/xklavier_private_xmm.h new file mode 100644 index 0000000..0824f29 --- /dev/null +++ b/libxklavier/xklavier_private_xmm.h @@ -0,0 +1,38 @@ +#ifndef __XKLAVIER_PRIVATE_XMM_H__ +#define __XKLAVIER_PRIVATE_XMM_H__ + +/* Start VTable methods */ + +extern Bool _XklXmmConfigActivate( const XklConfigRecPtr data ); + +extern void _XklXmmConfigInit( void ); + +extern Bool _XklXmmConfigLoadRegistry( void ); + +extern Bool _XklXmmConfigMultipleLayoutsSupported( void ); + +extern Bool _XklXmmConfigWriteFile( const char *fileName, + const XklConfigRecPtr data, + const Bool binary ); + +extern int _XklXmmEventHandler( XEvent * kev ); + +extern void _XklXmmFreeAllInfo( void ); + +extern const char **_XklXmmGetGroupNames( void ); + +extern unsigned _XklXmmGetNumGroups( void ); + +extern Bool _XklXmmLoadAllInfo( void ); + +extern void _XklXmmLockGroup( int group ); + +extern int _XklXmmPauseListen( void ); + +extern int _XklXmmResumeListen( void ); + +extern void _XklXmmSetIndicators( const XklState *windowState ); + +/* End of VTable methods */ + +#endif diff --git a/libxklavier/xklavier_xkb.c b/libxklavier/xklavier_xkb.c index 26a76a4..6e78936 100644 --- a/libxklavier/xklavier_xkb.c +++ b/libxklavier/xklavier_xkb.c @@ -366,6 +366,7 @@ int _XklXkbInit( void ) { _XklXkbConfigActivate, _XklXkbConfigInit, + _XklXkbConfigLoadRegistry, _XklXkbConfigMultipleLayoutsSupported, _XklXkbConfigWriteFile, _XklXkbEventHandler, diff --git a/libxklavier/xklavier_xmm.c b/libxklavier/xklavier_xmm.c new file mode 100755 index 0000000..d565732 --- /dev/null +++ b/libxklavier/xklavier_xmm.c @@ -0,0 +1,71 @@ +#include <time.h> +#include <stdlib.h> + +#include <X11/Xatom.h> +#include <X11/Xlib.h> +#include <X11/Xutil.h> +#include <X11/Xlibint.h> + +#include "xklavier_private.h" +#include "xklavier_private_xmm.h" + +const char **_XklXmmGetGroupNames( void ) +{ + return ( const char ** ) NULL; +} + +int _XklXmmPauseListen( ) +{ + return 0; +} + +int _XklXmmResumeListen( ) +{ + return 0; +} + +unsigned _XklXmmGetNumGroups( void ) +{ + return 0; +} + +void _XklXmmFreeAllInfo( ) +{ +} + +Bool _XklXmmLoadAllInfo( ) +{ + return False; +} + +void _XklXmmLockGroup( int group ) +{ +} + +int _XklXmmInit( void ) +{ + static XklVTable xklXmmVTable = + { + _XklXmmConfigActivate, + _XklXmmConfigInit, + _XklXmmConfigLoadRegistry, + _XklXmmConfigMultipleLayoutsSupported, + _XklXmmConfigWriteFile, + _XklXmmEventHandler, + _XklXmmFreeAllInfo, + _XklXmmGetGroupNames, + _XklXmmGetNumGroups, + _XklXmmLoadAllInfo, + _XklXmmLockGroup, + _XklXmmPauseListen, + _XklXmmResumeListen, + _XklXmmSetIndicators, + }; + + xklVTable = &xklXmmVTable; + + XklDebug( 160, + "Xmodmap support activated, display: %p, root: " WINID_FORMAT + "\n", _xklDpy, _xklRootWindow ); + return -1; +} |