summaryrefslogtreecommitdiff
path: root/libxklavier/xklavier_private_xmm.h
diff options
context:
space:
mode:
Diffstat (limited to 'libxklavier/xklavier_private_xmm.h')
-rw-r--r--libxklavier/xklavier_private_xmm.h52
1 files changed, 44 insertions, 8 deletions
diff --git a/libxklavier/xklavier_private_xmm.h b/libxklavier/xklavier_private_xmm.h
index 0824f29..996a035 100644
--- a/libxklavier/xklavier_private_xmm.h
+++ b/libxklavier/xklavier_private_xmm.h
@@ -1,6 +1,48 @@
#ifndef __XKLAVIER_PRIVATE_XMM_H__
#define __XKLAVIER_PRIVATE_XMM_H__
+typedef struct _XmmShortcut
+{
+ int keysym;
+ int modifiers;
+} XmmShortcut, *XmmShortcutPtr;
+
+#define MAX_SHORTCUTS_PER_OPTION 4
+typedef struct _XmmSwitchOption
+{
+ const char* optionName;
+ int numShortcuts;
+ XmmShortcut shortcuts[MAX_SHORTCUTS_PER_OPTION];
+ int shortcutSteps[MAX_SHORTCUTS_PER_OPTION];
+} XmmSwitchOption, *XmmSwitchOptionPtr;
+
+extern char* currentXmmRules;
+
+extern XklConfigRec currentXmmConfig;
+
+extern Atom xmmStateAtom;
+
+/* in the ideal world this should be a hashmap */
+extern XmmSwitchOption allSwitchOptions[];
+
+extern void _XklXmmGrabIgnoringIndicators( int keycode, int modifiers );
+
+extern void _XklXmmUngrabIgnoringIndicators( int keycode, int modifiers );
+
+extern void _XklXmmGrabShortcuts( void );
+
+extern void _XklXmmUngrabShortcuts( void );
+
+extern const char* _XklXmmGetCurrentShortcutOptionName( void );
+
+extern const XmmSwitchOptionPtr _XklXmmGetCurrentShortcut( void );
+
+extern void _XklXmmActualizeGroup( int group );
+
+extern const XmmSwitchOptionPtr _XklXmmFindSwitchOption( unsigned keycode,
+ unsigned state,
+ int * currentShortcut_rv );
+
/* Start VTable methods */
extern Bool _XklXmmConfigActivate( const XklConfigRecPtr data );
@@ -9,12 +51,6 @@ 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 );
@@ -23,6 +59,8 @@ extern const char **_XklXmmGetGroupNames( void );
extern unsigned _XklXmmGetNumGroups( void );
+extern void _XklXmmGetRealState( XklState * curState_return );
+
extern Bool _XklXmmLoadAllInfo( void );
extern void _XklXmmLockGroup( int group );
@@ -31,8 +69,6 @@ extern int _XklXmmPauseListen( void );
extern int _XklXmmResumeListen( void );
-extern void _XklXmmSetIndicators( const XklState *windowState );
-
/* End of VTable methods */
#endif