| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In linux/input.h each section's (e.g. ABS) FOO_MAX is the maximum FOO
value. Recent kernels define FOO_CNT as the maximum number of FOO there
will ever be. Hence using FOO_MAX to size the bit vectors representing
the capabilities of an evdev device is off by one.
Define FOO_CNT values for use with Linux kernels which lack them. Use
FOO_CNT whenever we need to know the number of bits needed -- usually to
calculate the number of longs needed.
When iterating over the values FOO_MAX still seems appropriate however
the loop test should include FOO_MAX rather than skip it.
Signed-off-by: Matt Helsley <matt.helsley@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 4dfd86b2201b2b19761a1abb3c580cecf0060224)
Conflicts:
src/evdev.c
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NBITS really convers the number of bits passed as its argument
into a number of longs. This is somewhat atypical of many
function-like-macro names. Rename it to NLONGS.
Signed-off-by: Matt Helsley <matt.helsley@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry-picked from commit d3fd42d8644310abcae23bbf534f8c445296bcb7)
Not really required, but it makes cherry-picking
4dfd86b2201b2b19761a1abb3c580cecf0060224 easier.
|
|
|
|
|
|
| |
Signed-off-by: Yan Li <yan.i.li@intel.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit d170cba0cdd8f7a2e500e094f5b21fc33aefb52a)
|
|
|
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
(cherry picked from commit 2bf6e29b40f0da2bc417964fd2bd819306e5d3ed)
|
|
|
|
|
|
|
|
|
| |
Devices added that use the same min/maj as an already added device are ignored
by the driver. This way users can have an xorg.conf entry on
/dev/input/by-id/blahblah and not get the same device added by HAL.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
(cherry picked from commit 63af314368cec47b6b8266db331f2c820e7a071f)
|
|
|
|
| |
(cherry picked from commit 4c5c9c111d406e5590429377262b86e91868ef76)
|
|
|
|
|
|
|
|
|
|
| |
New option: SwapAxes (boolean)
New property: EVDEV_PROP_SWAP_AXES.
Actual swapping code written by Donnie Berkholz.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
(cherry picked from commit 4826969f23a0b298da2750c2e23a92b9d91819dd)
|
|
|
|
|
|
|
|
|
|
|
| |
Some devices require run-time axis calibration. We can't change the min/max
ranges once we've initialised the valuator structs though, so in-driver
run-time calibration is required.
If the property is set, the driver scales from the calibrated range to the
values reported to the X server (which then may scale to screen coordinates).
If the property is not set (i.e. zero items) no scaling is performed.
(cherry picked from commit 33eb36f26663c09c873acede1b35e91ef4c64479)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Treat BTN_[0-2] as LMR buttons on devices that do not advertise BTN_LEFT,
BTN_MIDDLE, BTN_RIGHT (e.g. 3Dconnexion SpaceNavigator).
Otherwise, treat BTN_[0+n] as button 5+n. Note: This causes duplicate
mappings for BTN_0 + n and BTN_SIDE + n.
This also fixes a bug where we could end up with negative button numbers after
trying to map BTN_0.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
(cherry picked from commit 64554e4799a697d37dfd8be480f8eee636b9bea1)
|
|
|
|
|
|
|
| |
xkeyboard-config's maps are perfectly able to cope with evdev now.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
(cherry picked from commit b77f9398570fb8eae1fcf50bc3c10c9c390c6bac)
|
|
|
|
|
|
|
| |
Suggested by Julien Cristau.
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
(cherry picked from commit a43ab4999b9cad10f77aa6c703d3c61b754f1fd4)
|
|
|
|
|
|
|
|
| |
This got broken in b0737bdbd1f6e601eb4984b6f4cb49279190984c, when the
EmuMBPreInit call was removed from EvdevOn. As a result, VT switching away and
back wouldn't restore the wakeup handlers and mouse button presses
disappeared.
(cherry picked from commit af096e8c5d8b425f725a37bf4a98e205e70716e9)
|
|
|
|
|
|
| |
If min_x/y was not equal to 0, the inverted calculated range was off and leads
to inaccessible or out-of-range areas.
(cherry picked from commit 12498042fcc08e34aef0117ce84192f59542fd56)
|
|
|
|
| |
(cherry picked from commit 0ab4c09e504ba3822c5e030732b770140165e725)
|
|
|
|
| |
(cherry picked from commit 2c1698fa615a083de7dd647622a302d5de77dc0c)
|
|
|
|
|
|
|
|
| |
Touchscreens are devices that do not have buttons and only advertise
BTN_TOUCH. Add a new flag to note the device type.
If BTN_TOUCH is detected, change it to BTN_LEFT and process it normally.
(cherry picked from commit 8c39302594445ba774ea3fec66417492cc5643e0)
|
|
|
|
|
|
| |
Reported by Albert Damen <albrt@gmx.net>
X.Org Bug#18150 <http://bugs.freedesktop.org/show_bug.cgi?id=18150>
(cherry picked from commit f57e8face94c9e6986b35ca2ec231e284b9f58cf)
|
|
|
|
|
|
|
|
|
| |
We now have the matching code in the server to set the console to RAW mode and
don't need to grab the devices anymore.
This is an updated version of e8534d47c8524ac081c2e3e6ebaabe4c6b274a18, which
was reverted in 6dc41991557fa55a9e2f5aaf0fe40c70a08d41fd.
(cherry picked from commit 4912e2aa7f867a86d383010023b8426c881fb3b0)
|
|
|
|
|
|
|
|
| |
If we only have keys > 255 we don't set up a key class rec, so don't post
them. It makes the server unhappy.
Signed-off-by: Julien Cristau <jcristau@debian.org>
(cherry picked from commit 7243116f55609a2a5f73bb88cf6ad6386c9bbc0b)
|
|
|
|
| |
(cherry picked from commit 0089d931ac5fb290c82908da652b28c8b515d449)
|
|
|
|
| |
(cherry picked from commit 0f5a5ac09ebc89e984b72d395475bb9f412e240c)
|
|
|
|
| |
(cherry picked from commit 088e0a175a4913bf827c1f7e19de09fdf987d347)
|
|
|
|
| |
(cherry picked from commit cefedeb205291001e7e47b7516de261dbccce059)
|
|
|
|
|
|
|
| |
Call the PreInit functions for MB Emulation, wheel emu, and draglock during
PreInit, not on DEVICE_INIT. This way, we only parse the options once and
don't overwrite with defaults when coming back from a VT switch.
(cherry picked from commit b0737bdbd1f6e601eb4984b6f4cb49279190984c)
|
|
|
|
| |
(cherry picked from commit 5f2c8a2dcdf98b39997ee5e7c9a9ace3b640bfa3)
|
|
|
|
| |
(cherry picked from commit ff783fce65a63707555098759692b22147646263)
|
|
|
|
|
| |
Path was just an alias for Device anyway, so we might as well not parse it.
By now you should be using HAL anyway which fills in Device for you.
|
|
|
|
| |
Was unused anyway, so we might as well not parse it.
|
| |
|
|
|
|
|
| |
If checkonly is TRUE, we can only check if applying the value would succeed.
The value is actually applied if checkonly is FALSE.
|
|
|
|
|
|
|
|
| |
This allows the reopen logic to kick in later.
DEVICE_CLOSE gets called on regen, so without this we'd keep a stale
file descriptor in pInfo->fd in subsequent sessions.
Debian bug#496101 (http://bugs.debian.org/496101)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
| |
|
|
|
|
| |
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>
|