summaryrefslogtreecommitdiff
path: root/xkb
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-01-30 13:33:55 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-02-23 17:52:39 +1000
commit8829d966a6bacb05d322b60531c59366b58f4514 (patch)
treed4631aba93eaf69425750ae49d4634d3d9dd955e /xkb
parent007e93c869325cafcc29d975b356dbb8e7cd2ac1 (diff)
Xi: support InternalEvents in UpdateDeviceState, parts of POE and EnqueueEvent
Note that this breaks DGA. Life is tough. EnqueueEvent is a somewhat half-baked solution, we immediately drop back into XI and store them. But it should in theory work. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Don't let the dcce be random data.
Diffstat (limited to 'xkb')
-rw-r--r--xkb/xkbAccessX.c11
-rw-r--r--xkb/xkbActions.c12
-rw-r--r--xkb/xkbPrKeyEv.c8
3 files changed, 3 insertions, 28 deletions
diff --git a/xkb/xkbAccessX.c b/xkb/xkbAccessX.c
index 8a520c6d3..618a18c72 100644
--- a/xkb/xkbAccessX.c
+++ b/xkb/xkbAccessX.c
@@ -722,19 +722,10 @@ DeviceEvent *event = (DeviceEvent*)xE;
* see. it's still steaming. told you. (whot)
*/
- {
- /* FIXME: temporary solution only. */
- static int nevents;
- static xEvent ev[1000]; /* enough bytes for the events we have atm */
-
- nevents = ConvertBackToXI((InternalEvent*)xE, ev);
-
-
UNWRAP_PROCESS_INPUT_PROC(mouse, xkbPrivPtr, backupproc);
- mouse->public.processInputProc(ev, mouse, nevents);
+ mouse->public.processInputProc(xE, mouse, count);
COND_WRAP_PROCESS_INPUT_PROC(mouse, xkbPrivPtr,
backupproc, xkbUnwrapProc);
- }
xkbi->state.ptr_buttons = mouse->button->state;
diff --git a/xkb/xkbActions.c b/xkb/xkbActions.c
index 6f5c6bc04..afc42f31d 100644
--- a/xkb/xkbActions.c
+++ b/xkb/xkbActions.c
@@ -1211,20 +1211,10 @@ xkbDeviceInfoPtr xkbPrivPtr = XKBDEVICEINFO(dev);
else
tmpdev = GetPairedDevice(dev);
- {
-
-
- /* FIXME: temporary solution only. */
- static int nevents;
- static xEvent ev[1000]; /* enough bytes for the events we have atm */
- nevents = ConvertBackToXI((InternalEvent*)event, ev);
-
UNWRAP_PROCESS_INPUT_PROC(tmpdev,xkbPrivPtr, backupproc);
- dev->public.processInputProc(ev, tmpdev, nevents);
+ dev->public.processInputProc((xEvent*)event, tmpdev, 1);
COND_WRAP_PROCESS_INPUT_PROC(tmpdev, xkbPrivPtr,
backupproc,xkbUnwrapProc);
-
- }
}
else if (keyEvent) {
FixKeyState(event, dev);
diff --git a/xkb/xkbPrKeyEv.c b/xkb/xkbPrKeyEv.c
index 33fd09840..86e967477 100644
--- a/xkb/xkbPrKeyEv.c
+++ b/xkb/xkbPrKeyEv.c
@@ -177,14 +177,8 @@ ProcessKeyboardEvent(xEvent *xE,DeviceIntPtr keybd,int count)
/* We're only interested in key events. */
if (!is_press && !is_release) {
- /* FIXME: temporary solution only. */
- static int nevents;
- static xEvent ev[1000]; /* enough bytes for the events we have atm */
-
- nevents = ConvertBackToXI((InternalEvent*)xE, ev);
-
UNWRAP_PROCESS_INPUT_PROC(keybd, xkb_priv, backup_proc);
- keybd->public.processInputProc(ev, keybd, nevents);
+ keybd->public.processInputProc(xE, keybd, count);
COND_WRAP_PROCESS_INPUT_PROC(keybd, xkb_priv, backup_proc,
xkbUnwrapProc);
return;