diff options
author | Daniel Stone <daniel@fooishbar.org> | 2008-12-26 18:38:25 +1100 |
---|---|---|
committer | Daniel Stone <daniel@fooishbar.org> | 2009-01-22 15:08:51 +1100 |
commit | 08363c5830bdea34012dcd954b45ccfdc79a3a7e (patch) | |
tree | 67475a96ca4c23bcacb626b02eb4ab2f8602a742 /include | |
parent | 40877c6680863bd6a8475f2bb0c54df55bcf0b0e (diff) |
Input: Overhaul keyboard initialisation process
XkbInitKeyboardDeviceStruct is now the only valid keyboard
initialisation: all the details are hidden behind here. This now makes
it impossible to supply a core keymap at startup.
If dev->key is valid, dev->key->xkbInfo->desc is also valid.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/input.h | 16 | ||||
-rw-r--r-- | include/xkbsrv.h | 33 |
2 files changed, 14 insertions, 35 deletions
diff --git a/include/input.h b/include/input.h index cf546e076..db75f6c78 100644 --- a/include/input.h +++ b/include/input.h @@ -53,6 +53,7 @@ SOFTWARE. #include <X11/Xmd.h> #include <X11/Xproto.h> #include "window.h" /* for WindowPtr */ +#include "xkbrules.h" #define DEVICE_INIT 0 #define DEVICE_ON 1 @@ -268,11 +269,6 @@ extern _X_EXPORT Bool SetKeySymsMap( KeySymsPtr /*dst*/, KeySymsPtr /*src*/); -extern _X_EXPORT Bool InitKeyClassDeviceStruct( - DeviceIntPtr /*device*/, - KeySymsPtr /*pKeySyms*/, - CARD8 /*pModifiers*/[]); - extern _X_EXPORT Bool InitButtonClassDeviceStruct( DeviceIntPtr /*device*/, int /*numButtons*/, @@ -304,11 +300,6 @@ typedef void (*KbdCtrlProcPtr)( DeviceIntPtr /*device*/, KeybdCtrl * /*ctrl*/); -extern _X_EXPORT Bool InitKbdFeedbackClassDeviceStruct( - DeviceIntPtr /*device*/, - BellProcPtr /*bellProc*/, - KbdCtrlProcPtr /*controlProc*/); - typedef void (*PtrCtrlProcPtr)( DeviceIntPtr /*device*/, PtrCtrl * /*ctrl*/); @@ -363,9 +354,8 @@ extern _X_EXPORT Bool InitPointerDeviceStruct( int /*numAxes*/); extern _X_EXPORT Bool InitKeyboardDeviceStruct( - DevicePtr /*device*/, - KeySymsPtr /*pKeySyms*/, - CARD8 /*pModifiers*/[], + DeviceIntPtr /*device*/, + XkbRMLVOSet * /*rmlvo*/, BellProcPtr /*bellProc*/, KbdCtrlProcPtr /*controlProc*/); diff --git a/include/xkbsrv.h b/include/xkbsrv.h index af87d8fa5..a28967c22 100644 --- a/include/xkbsrv.h +++ b/include/xkbsrv.h @@ -54,6 +54,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include <X11/extensions/XKBproto.h> #include "xkbstr.h" +#include "xkbrules.h" #include "inputstr.h" typedef struct _XkbInterest { @@ -870,31 +871,18 @@ extern _X_EXPORT void XkbClearAllLatchesAndLocks( XkbEventCausePtr /* cause */ ); +extern _X_EXPORT void XkbGetRulesDflts( + XkbRMLVOSet * /* rmlvo */ +); + extern _X_EXPORT void XkbSetRulesDflts( - char * /* rulesFile */, - char * /* model */, - char * /* layout */, - char * /* variant */, - char * /* options */ + XkbRMLVOSet * /* rmlvo */ ); extern _X_EXPORT void XkbDeleteRulesDflts( void ); -extern _X_EXPORT void XkbInitDevice( - DeviceIntPtr /* pXDev */ -); - -extern _X_EXPORT Bool XkbInitKeyboardDeviceStruct( - DeviceIntPtr /* pXDev */, - XkbComponentNamesPtr /* pNames */, - KeySymsPtr /* pSyms */, - CARD8 /* pMods */[], - BellProcPtr /* bellProc */, - KbdCtrlProcPtr /* ctrlProc */ -); - extern _X_EXPORT int SProcXkbDispatch( ClientPtr /* client */ ); @@ -922,10 +910,6 @@ extern _X_EXPORT Status XkbChangeKeycodeRange( XkbChangesPtr /* changes */ ); -extern _X_EXPORT int XkbFinishDeviceInit( - DeviceIntPtr /* pXDev */ -); - extern _X_EXPORT void XkbFreeSrvLedInfo( XkbSrvLedInfoPtr /* sli */ ); @@ -1021,6 +1005,11 @@ extern _X_EXPORT Bool XkbDDXNamesFromRules( XkbComponentNamesPtr /* names */ ); +extern _X_EXPORT XkbDescPtr XkbCompileKeymap( + DeviceIntPtr /* dev */, + XkbRMLVOSet * /* rmlvo */ +); + _XFUNCPROTOEND #define XkbAtomGetString(s) NameForAtom(s) |