Peter Hutterer
4f2cd0ed96
Merge branch 'master' into mpx
...
This merge reverts Magnus' device coorindate scaling changes. MPX core event
generation is very different, so we can't scale in GetPointerEvents.
Conflicts:
Xi/opendev.c
dix/devices.c
dix/dixfonts.c
dix/getevents.c
dix/resource.c
dix/window.c
hw/xfree86/common/xf86Xinput.c
mi/mipointer.c
xkb/ddxBeep.c
xkb/ddxCtrls.c
xkb/ddxKeyClick.c
xkb/ddxList.c
xkb/ddxLoad.c
xkb/xkb.c
xkb/xkbAccessX.c
xkb/xkbEvents.c
xkb/xkbInit.c
xkb/xkbPrKeyEv.c
xkb/xkbUtils.c
2008-03-04 18:11:10 +10:30
Peter Hutterer
74628d6397
dix: change GetEventList to return length of list and set parameter in place.
...
Changing DDXs to use new prototype too.
2008-02-19 16:53:15 +10:30
Peter Hutterer
3fe64d8d27
Move input event list initialisation and storage from DDX to DIX.
...
Rather than letting the DDX allocate the events, allocate them once in the DIX
and just pass it around when needed.
DDX should call GetEventList() to obtain this list and then pass it into
Get{Pointer|Keyboard}Events.
2008-02-18 18:46:01 +10:30
Peter Hutterer
10617dc0fb
xfree86: stick two more checks in for num_valuators < MAX_VALUATORS
2008-02-01 14:24:04 +10:30
Matthieu Herrb
c68f063be6
xfree86: don't call xalloc from signal handlers when posting events.
...
Reviewed-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-02-01 14:14:17 +10:30
Peter Hutterer
e5e531ce96
Merge branch 'master' into mpx
...
Conflicts:
dix/events.c
2008-01-31 16:36:17 +10:30
Peter Hutterer
5b8641a5fd
xfree86: fix AlwaysCore handling. (Bug #14256 )
...
Assume AlwaysCore being set by default, just like the other options.
X.Org Bug 14256 <http://bugs.freedesktop.org/show_bug.cgi?id=14256 >
2008-01-29 10:01:42 +10:30
Peter Hutterer
ba315ae5dd
Xi: add XACE hooks for device creation (ChangeDeviceHierarchy)
...
AddInputDevice checks for permissions already, so all we do is modify a few
callers to let AID sort it out.
2008-01-21 23:44:07 +10:30
Peter Hutterer
8da83836b6
Merge branch 'master' into mpx
...
Conflicts:
XTrap/xtrapddmi.c
Xext/security.c
Xext/xprint.c
Xext/xtest.c
Xext/xvdisp.c
Xi/exevents.c
Xi/grabdevb.c
Xi/grabdevk.c
Xi/opendev.c
Xi/ungrdev.c
Xi/ungrdevb.c
Xi/ungrdevk.c
dix/cursor.c
dix/devices.c
dix/dixutils.c
dix/events.c
dix/getevents.c
dix/main.c
dix/window.c
hw/xfree86/ramdac/xf86Cursor.c
include/dix.h
include/input.h
include/inputstr.h
mi/midispcur.c
mi/miinitext.c
mi/misprite.c
render/animcur.c
xfixes/cursor.c
xkb/xkbAccessX.c
2008-01-03 17:04:54 +10:30
Peter Hutterer
f9269bebae
DeviceIntRec: move lastx/lasty from valuator into DeviceIntRec.
...
We free the ValuatorClassRec quite regularly. If a SIGIO is handled while
we're swapping device classes, we can bring the server down when we try to
access lastx/lasty of the master device.
2007-11-22 17:30:14 +10:30
Peter Hutterer
184a7b8917
Merge branch 'mpx' into mdsd
...
Conflicts:
Xi/opendev.c
2007-11-08 09:34:35 +10:30
Peter Hutterer
0b729051c0
Merge branch 'master' into mpx
...
Conflicts:
Xi/extinit.c
Xi/grabdev.c
Xi/setmode.c
Xi/ungrdev.c
dix/devices.c
dix/events.c
dix/getevents.c
include/dix.h
mi/midispcur.c
mi/misprite.c
xkb/xkbActions.c
xkb/xkbEvents.c
xkb/xkbPrKeyEv.c
2007-11-07 15:37:23 +10:30
Eamon Walsh
a52c9b2a59
Merge branch 'master' into XACE-SELINUX
...
Conflicts:
dix/dispatch.c
dix/property.c
hw/xfree86/common/xf86VidMode.c
include/xkbsrv.h
render/glyph.c
xkb/xkbActions.c
2007-11-05 19:08:36 -05:00
Peter Hutterer
8ead41388e
xfree86: wrap keyboard devices for XKB.
...
Call ProcessOtherEvents first, then for all keyboard devices let them be
wrapped by XKB. This way all XI events will go through XKB.
Note that the VCK is still not wrapped, so core events will bypass XKB.
(cherry picked from commit d627061b48
)
2007-10-28 17:31:07 +02:00
Peter Hutterer
5fe9bfd23f
xfree86: NIDR: don't call PairDevices explicitly.
...
set isMaster to FALSE explicitly.
Pairing isn't necessary, attachment should be done in EnableDevices.
2007-10-16 18:23:48 +09:30
Peter Hutterer
271d4c3d62
xfree86: remove XI86_SHARED_POINTER flag.
...
Not needed anymore. By default, all devices are slaves of first master device.
2007-10-16 15:50:07 +09:30
Peter Hutterer
e9f149fb56
Fix up detritus from removing GetPairedPointer/Keyboard.
2007-10-16 14:24:20 +09:30
Peter Hutterer
45ec6cd1fb
xfree86: fix DGA to use the correct devices.
...
DGAStealXXXEvent modified to take in device argument.
The evdev driver only sends one valuator when only one axis changed. We need
to check for DGA either way (xf86PostMotionEventP), otherwise we lose purely
horizontal/vertical movements.
Note that DGA does not do XI events.
2007-10-02 13:19:07 +09:30
Peter Hutterer
113011221a
Xi, xfree86: Remove leftovers of the XI wrapper code.
2007-10-01 21:42:01 +09:30
Eamon Walsh
5c03d13181
xace: add new hooks + access controls: XInput extension.
...
Introduces new dix API to lookup a device, dixLookupDevice(), which
replaces LookupDeviceIntRec and LookupDevice.
2007-09-28 08:02:00 -04:00
Peter Hutterer
e2cb851566
xfree86: pass in the XKB event processing proc instead of the XI one.
...
We need to pass ProcessPointerEvent or ProcessKeyboardEvent to
XkbSetExtension, otherwise we lose the xkb layer.
2007-09-26 18:01:17 +09:30
Peter Hutterer
340911d724
Wrap core event handling through ProcessOtherEvents.
...
When processing events from the EQ, _always_ call the processInputProc of the
matching device. For XI devices, this proc is wrapped in three layers.
Core event handling is wrapped by XI event handling, which is wrapped by XKB.
A core event now passes through XKB -> XI -> DIX.
This gets rid of a sync'd grab problem: with the previous code, core events
did disappear during a sync'd device grab on account of mieqProcessInputEvents
calling the processInputProc of the VCP/VCK instead of the actual device. This
lead to the event being processed as normal instead of being enqueued for
later replaying.
2007-09-26 15:12:49 +09:30
Peter Hutterer
d627061b48
xfree86: wrap keyboard devices for XKB.
...
Call ProcessOtherEvents first, then for all keyboard devices let them be
wrapped by XKB. This way all XI events will go through XKB.
Note that the VCK is still not wrapped, so core events will bypass XKB.
2007-09-06 18:57:00 +09:30
Peter Hutterer
f367285fd5
Merge branch 'master' into mpx
...
Conflicts:
Xi/exevents.c
dix/devices.c
dix/getevents.c
include/dix.h
mi/mieq.c
2007-08-12 15:31:10 +09:30
Daniel Stone
0e0174d45e
XFree86: Allow disabling of HAL
...
If NoAutoAddDevices is given as a server flag, then no devices will be added
from HAL events at all. If NoAutoEnableDevices is given, then the devices will
be added (and the DevicePresenceNotify sent), but not enabled, thus leaving
policy up to the client.
2007-08-01 03:33:06 +03:00
Daniel Stone
cd8e99e56e
Input: Don't enable devices when we open them
...
Thanks to Xi's braindead design, it's otherwise impossible to query input
devices without enabling them. Hurrah.
2007-08-01 03:33:06 +03:00
Daniel Stone
89f628394f
XFree86: Input: Fix whitespace
2007-08-01 03:33:05 +03:00
Daniel Stone
7c9e8fd56e
Input: Allow enabling and disabling of devices
...
Add DEVICE_ENABLE to KDrive and XFree86 to allow us to enable and disable
devices on the fly.
2007-08-01 01:53:31 +03:00
Adam Jackson
4d76075dbb
Death to RCS tags.
2007-06-29 14:06:52 -04:00
Tiago Vignatti
38f8e53668
Janitor work. Remove 'defined but not used' warnings from xorg and other cosmetic.
2007-06-27 03:19:37 -03:00
Peter Hutterer
1f97a76476
Merge branch 'master' into mpx
...
Conflicts:
dix/devices.c
hw/xfree86/common/xf86Xinput.c
hw/xfree86/loader/xf86sym.c
mi/mieq.c
2007-06-19 17:20:52 +09:30
Zephaniah E. Hull
562ca3f2f9
In NewInputDeviceRequest, only call EnableDevice if xf86Screens[0]->vtSema is
...
true, preventing unwanted behavior in the case where a device is added while
the user is in a different VT.
2007-06-18 12:00:49 -04:00
Zephaniah E. Hull
75dece08fb
xf86PostMotionEvents[P] calls xf86SendDragEvents, xf86SendDragEvents
...
unconditionally checks device->button->buttonsDown.
Let's make it possible to have a device with motion, but no buttons.
Without segfaulting.
2007-06-04 09:09:20 -04:00
Zephaniah E. Hull
fbb9b20395
Let's not do a calloc and a free on every call to xf86PostMotionEvents.
2007-06-04 06:59:42 -04:00
Zephaniah E. Hull
3f4295e643
Add xf86PostMotionEventP, takes a pointer instead of a variable number of
...
arguments.
Bump input ABI to 1.1 since we export this.
2007-06-04 06:48:06 -04:00
Daniel Stone
9a7aaeb3f6
XFree86: Input: Assume core events per default
...
Assume that a device will be sending core events, unless explicitly
specified otherwise.
2007-06-03 18:38:53 +03:00
Daniel Stone
94361cbba7
XFree86: Input: Perform case-insensitive comparisons on option names
2007-06-03 18:38:42 +03:00
Peter Hutterer
58c0fd2927
Adjust EQ to support long events.
...
Add RawDeviceEvent (pointers only for now).
This commit changes the event queue to use EventLists instead of xEvent
arrays. Only EQ is affected, event delivery still uses xEvent* (look for
comment in mieqProcessInputEvent).
RawDeviceEvents deliver driver information to the client, without clipping or
acceleration.
2007-05-02 13:50:09 +09:30
Peter Hutterer
f28eea0647
Merge branch 'master' into mpx
...
Conflicts:
dix/devices.c
dix/events.c
2007-04-27 16:34:36 +09:30
Peter Hutterer
09436fb7c3
Disable devices before removing, remove unrecoverable devices.
2007-04-24 23:11:44 +09:30
Peter Hutterer
c7e2ba0c9b
Use DevicePresence events to tell the client about enabled/disabled devices.
...
Include the device id in the event sent to the client.
2007-04-24 23:11:44 +09:30
Peter Hutterer
d4dad6f84f
Merge branch 'master' into mpx
...
Conflicts:
configure.ac
dix/events.c
hw/xfree86/common/xf86Xinput.c
2007-04-12 11:11:03 +09:30
Remigiusz Marcinkiewicz
aecbc71214
Input: Allow a pointer to a device to be returned in NIDR
...
Allow a pointer to the first device added to be returned, so we know which
device(s) were added by the NIDR call.
2007-04-11 00:38:16 +03:00
Magnus Vigerlöf
82962bbae2
Input: Add DeleteInputDeviceRequest
...
Add DIDR, which asks the DDX to remove a device, analogous to
NewInputDeviceRequest. Only implemented for XFree86 at the moment.
2007-04-10 23:58:20 +03:00
Magnus Vigerlöf
7b82a836c6
XFree86: Fix memory leaks, option parsing, in NewInputDeviceRequest
...
Plugged some possible memory leaks, and added some more checks on the
options, particular for driver/identifier. Added an unwind.
2007-04-10 23:58:20 +03:00
Peter Hutterer
e8777a91f3
Merge branch 'master' into mpx
...
Conflicts:
Xi/closedev.c
Xi/exevents.c
Xi/extinit.c
Xi/listdev.c
dix/window.c
hw/xfree86/common/xf86Xinput.c
include/extinit.h
mi/mipointer.c
2007-04-02 15:36:26 +09:30
Peter Hutterer
63d8f01819
dix: Fix wrong cursor refcount.
...
Calloc cursor struct to ensure devPrivates are zeroed out and don't
increase the refcnt for devices automatically when allocating a new
cursor. Use new DeviceIsPointerType() to detect if device is a pointer
_before_ device has been activated and can thus be identified and set
up grab functions accordingly. This way we can increase the refcnt
when we get a pointer grab.
2007-03-30 14:59:43 +09:30
Peter Hutterer
5f9c10e8da
Clean up DeviceIntPtr, prepare for Server 1.4 ABI. Move sprite-related
...
information into a new SpriteInfoRec, remove isMPDev flag.
2007-03-25 15:00:03 +09:30
Daniel Stone
3e9f7a5504
XFree86 DGA: Guard against NULL pointer dereferences.
...
Ass, u, me ...
2007-03-21 02:35:31 +02:00
Daniel Stone
9398d62f27
XFree86 input: Add backwards compatibility for motion history
...
Add the old motion history API back, as a shim around the new mi API.
2007-03-21 00:18:24 +02:00