From 0d66928c31fd63ecc04e34f66c2507568fb937c4 Mon Sep 17 00:00:00 2001 From: Sergey Udaltsov Date: Mon, 8 Nov 2004 23:59:37 +0000 Subject: function are declared for xmm --- ChangeLog | 11 ++++++ libxklavier/Makefile.am | 9 +++-- libxklavier/xklavier.c | 5 --- libxklavier/xklavier_config_xkb.c | 3 +- libxklavier/xklavier_config_xmm.c | 47 +++++++++++++++++++++++++ libxklavier/xklavier_evt_xmm.c | 21 +++++++++++ libxklavier/xklavier_private.h | 9 +++++ libxklavier/xklavier_private_xkb.h | 6 +++- libxklavier/xklavier_private_xmm.h | 38 ++++++++++++++++++++ libxklavier/xklavier_xkb.c | 1 + libxklavier/xklavier_xmm.c | 71 ++++++++++++++++++++++++++++++++++++++ 11 files changed, 210 insertions(+), 11 deletions(-) create mode 100644 libxklavier/xklavier_config_xmm.c create mode 100644 libxklavier/xklavier_evt_xmm.c create mode 100644 libxklavier/xklavier_private_xmm.h create mode 100755 libxklavier/xklavier_xmm.c diff --git a/ChangeLog b/ChangeLog index 7d29916..9215dd0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +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, 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 +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include "config.h" + +#include "xklavier_private.h" +#include "xklavier_private_xmm.h" + +#define XK_XKB_KEYS +#include + +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 + +#include +#include +#include +#include + +#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, @@ -45,6 +47,13 @@ typedef struct * TODO: xmodmap */ 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 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 +#include + +#include +#include +#include +#include + +#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; +} -- cgit v1.2.1