Commit Graph

2742 Commits

Author SHA1 Message Date
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
3df454719f kdrive: add KdRingBell prototype 2006-11-01 23:02:57 +02:00
Daniel Stone
644ee2434a kdrive: avoid null dereferences
Avoid jumping into NULL pointers for OS or card functions which do not
exist.
2006-10-29 03:52:11 +03:00
Daniel Stone
738d2e8817 kdrive: move bell ringing into an OS function
Move the bell into an OS function, and use that if it's declared; else,
fall back to using the driver's function.
Remove the Linux keyboard bell function; just move it into the OS layer.
Use named initialisers when converting the old structures, and eliminate
unused functions.
2006-10-29 03:48:02 +03: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
68f595ca6c GetTimeInMillis: use correct units for clock_gettime
Make sure we're treating the nanoseconds as a long, not an int, so we
don't overflow.
2006-10-29 03:41:34 +03:00
Daniel Stone
51a06b3c44 WaitForSomething: only rewind when delta is more than 250ms
Only rewind time when we're more than (original delta + 250ms) away from
executing the timer.
When we're walking the timer list, use a goto to iterate all of them from
the start again, since timers may drop out of the list.
Don't bother trying to be smart in TimerSet, we'll pick it up in
WaitForSomething anyway.
2006-10-29 03:40:57 +03:00
Daniel Stone
196c5836f4 CoreKeyboardProc: annotate with FIXME
Setting an empty keymap by default isn't wildly useful.
2006-10-27 01:27:31 +03:00
Daniel Stone
f9a1e456f8 CoreKeyboardProc: don't leak keymap and modmap
SetKeySymsMap does a copy here, so try not to leak them.
2006-10-27 01:25:39 +03:00
Daniel Stone
a5be654017 mieqEnqueue: only compare DEVICE_BITS of deviceid
Only compare DEVICE_BITS of the two deviceids, so we don't decide that
a valuator event isn't for us, because (id | MORE_EVENTS) != id.
2006-10-27 01:25:21 +03:00
Daniel Stone
85212eb504 getValuatorEvents: make sure we put MORE_EVENTS in the right places
Make sure we put MORE_EVENTS in with the device id if there are, in fact,
more valuator events coming.
2006-10-27 01:23:58 +03:00
Daniel Stone
8c0556e7cb Merge branch 'master' into input-hotplug 2006-10-26 15:21:22 +03:00
Daniel Stone
004d00e668 GetTimeInMillis: simplify monotonic test
We don't actually need to get the CPU clock ID, which means we don't need
the monotonic_usable test.  Since there's now only one branch, the
compiler will treat that as likely, so we don't need xproto 7.0.9 anymore.

The fallthrough to gettimeofday() is preserved.
2006-10-26 01:10:08 +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
Daniel Stone
d285833290 GetTimeInMillis: spuport monotonic clock
Add support for CLOCK_MONOTONIC from clock_gettime, and use that in
GetTimeInMillis() if available, falling back to the old gettimeofday()
implementation.

This is _slightly_ faster on some 64-bit architectures, and _slightly_
slower on others (though barely measurable).
2006-10-25 23:57:00 +03:00
Daniel Stone
d3e57faffe WaitForSomething: allow time to rewind
If time rewinds dramatically, reset all the timers to fix their expiry.
2006-10-25 23:55:43 +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
Keith Packard
598ac7a836 Merge branch 'origin' 2006-10-24 17:23:12 -07:00
Keith Packard
828c34e83c Byte swap RRSelectInput enable flags. 2006-10-24 17:23:02 -07:00
Daniel Stone
3da918a16c mipointer: remember to update pointer location
Update pointer location so it doesn't get quickly reset by the next
pointer update.
2006-10-25 02:22:07 +03:00
Daniel Stone
aabc087998 GetPointerEvents: always ensure correct number of events
Ensure correct number of valuator events are returned, and that we always
increment events correctly.
2006-10-25 02:21:39 +03:00
Daniel Stone
65cd5aa4d7 kdrive/input: remove unnecessary #ifdef XINPUTs
Xi is now mandatory, so don't bother with the ifdefs.
2006-10-25 01:12:45 +03: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
b1debebf8f mi: remove mi motion history
This is now unneeded as we do motion history in the DIX.
2006-10-25 01:10:20 +03:00
Daniel Stone
b9e180e632 port all users to the new DIX motion history API
Port KDrive, Xvfb, and Xnest, as well as the virtual core devices, to the
new motion history API.  Make GetPointerEvents also update the history.
2006-10-25 01:09:19 +03:00
Daniel Stone
5b38eb69cd dix: add motion history support
Add motion history support (sort of based on the XFree86 DDX's
implementation) to the DIX.
2006-10-25 01:08:29 +03:00
Daniel Stone
11fb58be77 miscellaneous warning fixes
Use the correct type for time, and fix the mi prototype of EnqueueEvent.
2006-10-25 01:07:36 +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
37d1fffe79 inputstr: try to keep device structs the same size
Try to make sure DeviceIntRec and friends stay the same size,
regardless of whether or not XKB is enabled.
2006-10-24 23:06:57 +03:00
Daniel Stone
9f9ac01a81 inputstr: fix indentation 2006-10-24 23:01:05 +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
cccf7ae0ff GetProximityEvents: add (untested) function
Add untested first guess at what GetProximityEvents should look like.
2006-10-23 06:55:21 +03:00
Daniel Stone
35fa4ac12b GetPointerEvents: break into separate functions
Break out clipAxis, clipValuators, and getValuatorEvents, into
separate functions, to be used by the proximity event code.
2006-10-23 06:23:45 +03:00
Daniel Stone
a7c2d9a15d kdrive: numerous warning fixes 2006-10-23 06:08:27 +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
Daniel Stone
523fe64ba1 kdrive/lots of DDXes: make stubs use KdOsAddInputDrivers()
In theory, removing LinuxPciScan should make these drivers OS-independent.
2006-10-23 02:56:28 +03:00
Daniel Stone
57f98e2b72 kdrive/tslib: port to new absolute API, remove debugging
Port to new absolute device (not touchscreen) API, and remove some
leftover debugging.
2006-10-23 02:55:41 +03:00
Daniel Stone
a6dc629052 kdrive/os: add KdOsAddInputDrivers
Add KdOsAddInputDrivers, which adds all relevant input drivers.

Could possibly be refactored to KdAddInputDrivers, which called through
OsFuncs to a new function, if it existed.
2006-10-23 02:54:59 +03:00
Daniel Stone
ac240b00ff kdrive/input: use Absolute instead of Touchscreen
Adjust to suit Zepheniah's new absolute device API.
2006-10-23 02:54:07 +03:00
Daniel Stone
b1ba4b3e8a kdrive/neomagic: include vesa.h, use DebugF 2006-10-23 02:53:15 +03:00
Daniel Stone
29f28dd1a8 configure.ac: add XSERVER_LIBS to XNEST_LIBS 2006-10-23 02:52:52 +03:00
Daniel Stone
2f33f4065d Xnest: port to new input API
Port Xnest to Get{Pointer,Keyboard}Events, plus the new mieq API.
2006-10-23 02:52:35 +03:00
Daniel Stone
08928afb05 Xnest: disable XKB, reshuffle code
Disable XKB, as we can't yet use it; move Composite disabling to
ddxInitGlobals, along with XKB.
2006-10-23 02:51:52 +03:00
Daniel Stone
cd3b16a57e Xvfb: port to new mieq API 2006-10-23 02:51:13 +03:00
Daniel Stone
bf4df9b73f include: move POINTER_* flags from inputstr.h to input.h
Given they're just numeric constants, they should be included in
input.h, not inputstr.h.
2006-10-23 02:50:53 +03:00
Daniel Stone
4dd91c45ab miinitext: Xi and XKB are not hardware-only extensions
Xi is now a required extension, and XKB can be used without hardware,
so include them both when NO_HW_ONLY_EXTS is defined.
2006-10-23 02:50:03 +03:00
Daniel Stone
562096a012 XkbCopyKeymap: increment shapes and outlines when copying
Remember to increment the source and destination shapes when copying,
instead of just endlessly copying the first one.
2006-10-23 02:49:22 +03:00
Daniel Stone
eec1822591 dix/getevents: move SyntheticMotion to getevents.c
Mostly, this is just a cheesy hack to ensure that getevents.o gets
included when linking.  Sigh.
2006-10-23 02:48:30 +03:00