Age | Commit message (Collapse) | Author |
|
|
|
|
|
Leaving the fd open means we still get keyboard events after VT switching
away. Coming back, some of these events are replayed on the application that
has the current focus.
Reproduceable:
1. open terminal, focus.
2. VT switch away
3. type something, preferably a password
4. VT switch back, trigger a mouse event
5. Observe the X server guessing your password.
Closing the fd on DEVICE_OFF fixes this. Reopen is handled by the reopen
code introduced with
commit 9930477cbeb4acfd070ae70894d13ffabfc347b8
Author: Peter Hutterer <peter.hutterer@redhat.com>
Date: Tue Aug 26 14:33:40 2008 +0930
Attempt to re-open devices on read errors.
Launchpad Bug 276887
<https://bugs.edge.launchpad.net/ubuntu/+source/xorg-server/+bug/276887>
|
|
|
|
|
|
|
|
This removes a left-over from the early device property code where we could
only have a single handler. Now it's easier to just register the handlers for
each subsystem (emulate wheel, draglock and MB emulation).
|
|
|
|
|
|
Return appropriate status codes from property handlers.
Make properties non-deletable.
|
|
|
|
|
|
Coming back from resume may leave us with a file descriptor that can be opened
but fails on the first read (ENODEV).
In this case, try to open the device until it becomes available or until the
predefined count expires. To be safe, we cache the information from the device
and compare against it when we re-open. This way we ensure that if the
topology changes under us, we don't open a completely different device. If a
device has changed, we disable it.
Adds option "ReopenAttempts" <int>
|
|
|
|
Hide properties behind ifdefs, fake use of "val".
|
|
parsing int* to char* in XIChangeDeviceProperty means we lose values.
|
|
Even if we don't want EmulateWheel, we can at least init everything to usable
values. This way we only need to toggle "enabled", rather than initialising
the whole lot before usage.
|
|
Copied from the wheel inertia property support.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Support the EmulateWheelTimeout option as the mouse driver does.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
xkeyboard-config recently changed to a separate ruleset for the evdev
driver, so match that by only forcing the ruleset, not the model, to be
evdev.
|
|
Not such a good idea, CTRL+C terminates the server and other issues. Reverting
for now until a better solution is found, at least this way the driver is
usable.
See also: http://lists.freedesktop.org/archives/xorg/2008-August/038032.html
This reverts commit e8534d47c8524ac081c2e3e6ebaabe4c6b274a18.
|
|
Grabbing event devices stops in-kernel event forwarding, most notably rfkill
and the "Macintosh mouse button emulation" device. Let's not do that.
Option "GrabDevice" forces grabbing the device.
|
|
The Emulate3Button needs to be the last filter function, otherwise the timeout
code causes it to hijack button presses for the first 3 buttons.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
|
|
Instead of having separate handlers for each property, just handle all of them
in one handler for emuMB, and one handler for emuWheel.
|
|
Numbers are so lame, defines are all the rage now I've heard.
|
|
Don't enable wheel emulation with 0 inertia - bad things happen.
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Keycodes over 255 are silently ignored in the server. The least we can do is
put a warning in the logs.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Remove code duplication, let the mapping function hand us the actual button
event to be passed up to the server.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Fixes file descriptor leak.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
With this fix, on my PowerBook HAL hotplugging correctly detects my USB mouse,
and no longer thinks keyboards have random numbers of mouse buttons. :)
The LONG_BITS and NBITS macro definitions are stolen from xf86-input-synaptics.
Signed-off-by: Michel Dänzer <michel@tungstengraphics.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
Report correct versions instead of
"compiled for 0.0.0, module version = 1.0.0"
|
|
After suspend/resume, sometimes the device doesn't come back up on the same
node. Since we do not call PreInit for the device (which would detect this
situation), we continue to try to read a nonexisting file, spamming the log
file with "Read Error".
|
|
|
|
|
|
We're not building with or without XInput. Same with xkb.
|
|
Hook taken from xserver's Makefile.am
|
|
Fix up licence of emuMB.c, was using Red Hat instead of "The authors", but
this code wasn't contributed by RH anyway.
|
|
Ctrl+Alt+Backspace works, I'm using it daily.
CapsLock doesn't repeat, otherwise we wouldn't have Bug 16318.
|
|
Conversion is now done in the DIX.
|
|
greater than BTN_TASK.
Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
|
|
We don't really do anything with the number other than print it since I'm sure
that half the mice don't report the correct number anyway (especially with the
wheel button mapping). But having a bit more debug info is good.
|
|
|
|
Follow-up to 76800bfa75807e49398380b902f6c0f547cd4c0e.
|
|
Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
|