Commit Graph

303 Commits

Author SHA1 Message Date
Peter Hutterer c957a16180 dix: added isMPdev field to _DeviceIntRec, is used in GetPointerEvents()
mieq:   avoid merging events from different devices in mieqEnqueue()

xfree86/common
        isMPdev field used from xf86ActivateDevice(), xf86PostMotionEvent()
        and xf86PostButtonEvent()
2006-11-16 15:11:14 +10:30
Peter Hutterer 7ce2dc5784 dix:
merge with code cleanup from master
        GetPointerEvents treats events in the same way as XINPUT devices when flag
        has POINTER_MULTIPOINTER set.

xfree86/common:
    added XI86_MP_DEVICE flag and parsing in xf86ProcessCommonOptions
    added POINTER_MULTIPOINTER define. Is used in xf86PostMotionEvent and
    xf86PostButtonEvent for the flags that are passed into GetPointerEvents()

global:
    added flags to configure.ac to enable/disable MPX define
    added flags to dix-config.h.in to define MPX
2006-11-16 12:51:08 +10:30
Peter Hutterer bffb1f9b67 removed unused variables drag and local from xf86PostMotionEvent 2006-11-15 17:53:13 +10:30
Matthias Hopf 26d2e45bdb Bug #9023: Only check mice for "mouse" or "void" if identifier is != NULL. 2006-11-14 15:33:07 +01:00
Dave Airlie fd91630b73 make X server use system libdrm - this requires libdrm >= 2.3.0
This patch blacklists the load "drm" line, moves some functions in dri module
links dri module against libdrm, and removes the X copy of libdrm
2006-11-09 09:30:33 +11:00
Daniel Stone e7900d68c3 remove trailing whitespace
Whitespace police in full effect.
2006-11-08 15:36:47 +02:00
Daniel Stone 2035f115b7 xfree86: remove xf86Keymap.h 2006-11-08 15:30:03 +02:00
Daniel Stone 809e2841aa xfree86: add general handler, port ACPI to it (bug #5665)
Add 'general' handler registration, which will not trigger DPMS when an
event comes in.
Make ACPI use this.
2006-11-08 15:30:03 +02:00
Daniel Stone 844090a5b5 xfree86/xf86misc: warning fixes 2006-11-08 15:29:15 +02:00
Adam Jackson 05f1c30246 Merge branch 'autoconfig-for-7.2' 2006-11-07 18:42:54 -05:00
Aaron Plattner 97fd471a62 Fix standard VESA modes.
The built-in mode timings were off slightly for the 640x480@60, 640x480@72,
and 1024x768@75 modes.
2006-11-03 14:06:32 -08:00
Matthias Hopf 16c5043fc0 Fix 2 warnings. 2006-11-03 18:59:51 +01:00
Daniel Stone 1d65429a9e xfree86: don't attempt to enable and disable non-DIX devices
Don't try to enable and disable devices with no entry in the DIX, such as
the evdev brain.
2006-11-02 04:12:55 +02:00
Daniel Stone ba9f5138fc xfree86: allow starting with no input devices
Add a server flag (AllowEmptyInput), which will inhibit adding the
standard keyboard and mouse drivers, if there are no input devices in the
config file.
2006-11-02 03:16:10 +02:00
Daniel Stone 81728558a0 input: add non-keyboard bell ringing function
Add a generic 'ring the bell' function (console bell on Linux and BSD,
/dev/audio on Solaris), and add DDX functions for this.  Make this the
core keyboard's bell.
Port Xvfb and Xnest to this.
Port XFree86 to this, with OS-specific hooks for Linux, BSD, and Solaris
taken from foo_io.c in the old layer.
2006-11-01 23:10:26 +02:00
Daniel Stone 96e32805d1 Xi: disallow changing core keyboard and pointer
Just short-circuit the change core keyboard/pointer requests.
2006-10-29 03:43:34 +03:00
Daniel Stone cdc8a4b7b2 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-10-26 00:28:30 +03:00
Michel Dänzer becbda6d51 Fix test for Option "IgnoreABI".
This option has plenty of potential for wasting the time of bug triagers
without pretending it's always on.
2006-10-25 11:39:27 +02:00
Daniel Stone 0514d53e10 xfree86: remove motion history handling
Remove motion history handling, as we now deal with this in the DIX.
2006-10-25 01:10:44 +03:00
Daniel Stone 2a74b8a91d xfree86: re-bump input abi to 1.0, yet again 2006-10-25 01:04:53 +03:00
Daniel Stone 0cd6a3d8ef xfree86/input: add proximity support, free valuators
Re-add support for proximity events, and remember to both va_end our
varargs, and free our valuators.
2006-10-23 06:56:07 +03:00
Daniel Stone c8f76fb3a4 xfree86/input: disallow pointer device changes, fix drag event calculation
Don't allow users to change the core pointer.
Fix xf86SendDragEvents to check the device button state, not the core
pointer's.
Remove unused xf86CheckButton.
2006-10-23 05:12:15 +03:00
Daniel Stone c5b5b046e8 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-10-23 02:58:30 +03:00
Daniel Stone fab1d37ecb xfree86/options: don't blindly dereference NULL pointers
Sure, conf_idev should be initialised, but if it's not, try to make the
best of a bad situation.
2006-10-23 02:57:00 +03:00
Zephaniah E. Hull e26a494f41 Merge branch 'input-hotplug' of git+ssh://git.freedesktop.org/git/xorg/xserver 2006-10-21 04:26:14 -04:00
Zephaniah E. Hull 736b0d5078 DEVICE_TOUCHSCREEN becomes DEVICE_ABS_CALIB.
Update the DEVICE_ABS_CALIB stuff to include the new elements.

New DEVICE_ABS_AREA support.

dev->touchscreen becomes dev->absolute, with _CALIB and _AREA stuff in it.

Update xfree86 to compile with this, kdrive needs an update too.
2006-10-21 04:24:49 -04:00
Carl Switzky edd5f17454 Add ast driver/device info to Xorg server & config utilities 2006-10-19 17:30:54 -07:00
Daniel Stone aeba855b07 move keymap copy to event processing, from enqueuing
Move the keymap copying to event processing time (in
ProcessInputEvents), instead of being at event enqueuing time.
Break SetCore{Pointer,Keyboard} out into separate functions.
Change mieqEnqueue to take a device pointer, that asks for the
_original_ device associated with this event.
2006-10-20 00:43:11 +03:00
Alan Coopersmith b0780312d8 Pre-release message should tell users to check git, not CVS, for updates 2006-10-20 00:43:10 +03:00
Alan Hourihane 85ac2f16ab Small modification to blocking signals when switching modes. 2006-10-20 00:42:47 +03:00
Michel Dänzer a232693c8c Add per-drawable Xv colour key helper function.
This allows overlay Xv adaptors to work slightly better with compositing
managers.

Bump the video driver ABI minor so drivers only need to check for this at build
time.
2006-10-20 00:42:44 +03:00
Alan Coopersmith e1dd1904c6 Pre-release message should tell users to check git, not CVS, for updates 2006-10-19 14:27:15 -07:00
Zephaniah E. Hull 1b1698af41 Pass SetDeviceValuators down to the driver.
NOTE: This changes the LocalDeviceRec struct, which breaks input drivers.
2006-10-18 04:57:22 -04:00
Alan Hourihane d430e76a16 Small modification to blocking signals when switching modes. 2006-10-16 12:39:05 +01:00
Daniel Stone 4ae7745a0d xfree86 input: always open devices on NewInputDeviceRequest 2006-10-15 21:48:01 +03:00
Michel Dänzer f9bfee5098 Add per-drawable Xv colour key helper function.
This allows overlay Xv adaptors to work slightly better with compositing
managers.

Bump the video driver ABI minor so drivers only need to check for this at build
time.
2006-10-15 16:55:09 +02:00
Daniel Stone 335b503c5e Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into input-hotplug 2006-10-13 18:10:45 +03:00
Alan Hourihane cf948b7b04 Block IO on switchmode just as we do for VT switching
to avoid cursor movements signalling io.
2006-10-13 14:48:10 +01:00
Daniel Stone ef7e05e9de xfree86/xinput: pass first_valuator params, don't clip to first screen bound
Pass first_valuator to GetPointerEvents/GetKeyboardValuatorEvents.
Don't clip axis bounds to that of screen 0 when initialising axes.
2006-10-08 21:42:15 +03:00
Daniel Stone 41bb9fce47 mipointer: take device arguments, split miPointerAbsoluteCursor
Update mipointer API to take a device argument to (almost) all functions,
and split miPointerAbsoluteCursor into a couple of separate functions.
Remove miPointerAbsoluteCursor call from mieq, as we now deal with it in
GetPointerEvents.
Make miPointerSetPosition (successor of miPointerAbsoluteCursor) take
pointers to x and y, so it can return the clipped values.
Modify callers of miPointer*() functions to generally use the new
functions.
This should fix things with multi-head setups.
2006-10-08 20:34:32 +03:00
Daniel Stone be8dfafd1d warning cleanups
Fix still more warnings.
2006-10-08 20:32:16 +03:00
Daniel Stone 3ae4d25018 xfree86 Xinput: remove still more excessive debugging
There isn't any more debugging left for input events in the XFree86 DDX.
2006-10-08 16:20:42 +03:00
Daniel Stone 58314756ae GetPointerEvents: add first_valuator parameter
Add a first_valuator parameter.  Looks correct by inspection, but untested
with first_valuator != 0 as yet.
2006-10-08 16:18:05 +03:00
Daniel Stone 22a836fafd xfree86/loader: bump input major ABI version
Bump input major ABI version to 1.0, since we removed the OS keyboard
layer.
2006-10-07 14:16:51 +03:00
Daniel Stone ad631afcf3 make core keyboard/pointer map functions act on all core-sending devices
Make Set{Keyboard,Modifier,Pointer}Mapping act on all devices which send core
events.
Change LegalModifier to accept a DeviceIntPtr.
2006-09-29 00:34:23 +03:00
Adam Jackson 46af6d1e95 Always believe the monitor when it reports a reduced-blanking mode.
CVT reduced blanking modes are typically only seen on digital connections to
LCDs, but there are some monitors that report them as supported over the
VGA connector too, which is perfectly legitimate, electrically speaking.
2006-09-14 19:28:44 -04:00
Adam Jackson 63acf18b7e In xf86MatchPciInstances, fail gracefully when there's no PCI device at all.
This allows the autoconfig logic to fall through sanely on non-PCI machines,
which importantly includes Xen virtual machines.
2006-09-14 19:26:37 -04:00
Adam Jackson a8f9936f55 Prefer driver-provided modes when matching name strings to modelines.
Well, kinda.  Strictly we prefer M_T_BUILTIN strongest since those are modes
where the driver has said it absolutely can't do anything else (VBE).  Then
we look for user-defined modes, ie, modelines from the config file.  Then
we consider modes reported by the monitor via EDID.  Finally if nothing has
matched yet we consider the default mode pool.

Within each of the above-mentioned classes, modes with the M_T_PREFERRED bit
take priority over other modes in the same class.

This logic ensures that the timings sent to the monitor exactly match the
timings it reported as supported, which occasionally don't match the numbers
you might get for that mode from CVT or GTF.
2006-09-14 19:24:41 -04:00
Adam Jackson 81ef1b6d60 Mark EDID modes as driver modes. Infer virtual size from driver modes.
This allows the server to guess an appropriate initial virtual size and
resolution.  The heuristic is to select the largest driver-reported mode
that matches the monitor's physical aspect ratio.  We revalidate this
estimate after mode validation, since we may have filtered away all
modes that would fill that size.

Also, the EDID preferred timing is now marked as M_T_PREFERRED as well.
2006-09-14 19:18:58 -04:00
Adam Jackson 43d9edd31e Attempt to add the 'mouse' driver in more situations.
Always add a mouse driver instance configured to send core events, unless
a core pointer already exists using either the mouse or void drivers.  This
handles the laptop case where the config file only specifies, say,
synaptics, which causes the touchpad to work but not the pointing stick.
We don't double-instantiate the mouse driver to avoid the mouse moving twice
as fast, and we skip this logic when the user asked for a void core pointer
since that probably means they want to run with no pointer at all.
2006-09-14 19:09:02 -04:00