summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2008-10-18 20:59:30 +0100
committerDaniel Stone <daniel@fooishbar.org>2009-01-22 15:08:58 +1100
commitf06a9d2e05e13466c115fc706966a90b1fb0518e (patch)
treeabc6377267185b8e02fd81bc3bcc65dd66fa960b /include
parent1d1a0f67eee330a286fbdef17e967ce8ea201548 (diff)
Input: Clean up keymap change notifications
Keyboard map notifications are always generated from within XKB code, which also takes care of copying the keysyms, etc. If you need to mangle the keymap yourself, generate a new core keymap/modmap, and pass it to XkbApplyMappingChange. SendMappingNotify is renamed to SendPointerMappingNotify (and ditto its Device variants), which still only _sends_ the notifications, as opposed to also doing the copying a la XkbApplyMappingChange. Also have the modmap change code traverse the device hierachy, rather than just going off the core keyboard. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Diffstat (limited to 'include')
-rw-r--r--include/exevents.h5
-rw-r--r--include/input.h5
-rw-r--r--include/xkbsrv.h14
3 files changed, 11 insertions, 13 deletions
diff --git a/include/exevents.h b/include/exevents.h
index abe1a5f23..46df009a4 100644
--- a/include/exevents.h
+++ b/include/exevents.h
@@ -137,11 +137,8 @@ extern _X_EXPORT int SetButtonMapping (
int /* nElts */,
BYTE * /* map */);
-extern _X_EXPORT void SendDeviceMappingNotify(
+extern _X_EXPORT void SendDevicePointerMappingNotify(
ClientPtr /* client, */,
- CARD8 /* request, */,
- KeyCode /* firstKeyCode */,
- CARD8 /* count */,
DeviceIntPtr /* dev */);
extern _X_EXPORT int ChangeKeyMapping(
diff --git a/include/input.h b/include/input.h
index a38dbfac0..8a774c963 100644
--- a/include/input.h
+++ b/include/input.h
@@ -368,11 +368,8 @@ extern _X_EXPORT Bool InitKeyboardDeviceStruct(
BellProcPtr /*bellProc*/,
KbdCtrlProcPtr /*controlProc*/);
-extern _X_EXPORT void SendMappingNotify(
+extern _X_EXPORT void SendPointerMappingNotify(
DeviceIntPtr /* pDev */,
- unsigned int /*request*/,
- unsigned int /*firstKeyCode*/,
- unsigned int /*count*/,
ClientPtr /* client */);
extern _X_EXPORT Bool BadDeviceMap(
diff --git a/include/xkbsrv.h b/include/xkbsrv.h
index b2b173627..54010eb0b 100644
--- a/include/xkbsrv.h
+++ b/include/xkbsrv.h
@@ -538,9 +538,10 @@ extern _X_EXPORT void XkbUpdateCoreDescription(
extern _X_EXPORT void XkbApplyMappingChange(
DeviceIntPtr /* pXDev */,
- CARD8 /* request */,
- KeyCode /* firstKey */,
- CARD8 /* num */,
+ KeySymsPtr /* map */,
+ KeyCode /* firstKey */,
+ CARD8 /* num */,
+ CARD8 * /* modmap */,
ClientPtr /* client */
);
@@ -955,8 +956,11 @@ extern _X_EXPORT void XkbSendNewKeyboardNotify(
extern Bool XkbCopyKeymap(
XkbDescPtr /* dst */,
- XkbDescPtr /* src */,
- Bool /* sendNotifies */);
+ XkbDescPtr /* src */);
+
+extern Bool XkbCopyDeviceKeymap(
+ DeviceIntPtr /* dst */,
+ DeviceIntPtr /* src */);
#include "xkbfile.h"
#include <X11/extensions/XKMformat.h>