aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Ensure all known valuator values are stored when out of proximityChase Douglas2011-04-05
| | | | | | | | | | The current code overwrites *all* the stored axis values with whatever came in from evdev. Evdev is a stateful protocol, so it only sends us updates to the axis values that have changed. We need to only update the values that have changed. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Ensure events are posted when entering into proximityChase Douglas2011-04-05
| | | | | | | | | | Fixes LP: #736829 (https://bugs.launchpad.net/bugs/573006) Re-fixes old X.Org Bug 29645 <http://bugs.freedesktop.org/show_bug.cgi?id=29645> Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* rename valuator init functionsSimon Thum2011-03-23
| | | | | | | | Since the mode of valuators (no longer?) bears a relation to the device class actually initialized, this naming was quite misleading. Signed-off-by: Simon Thum <simon.thum@gmx.de> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove constness of device filename to avoid warning when freed.Rami Ylimäki2011-03-09
| | | | | | | | | A warning from free() can be avoided by casting the constness away from its argument pointer or by not declaring the pointer as const in the first place. Signed-off-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Release leaked device identifier on input device disconnect.Rami Ylimäki2011-03-09
| | | | | | Signed-off-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Reviewed-by: Erkki Seppälä <erkki.seppala@vincit.fi> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Release leaked XKB options on input device disconnect.Rami Ylimäki2011-03-09
| | | | | | | | | | Currently the XKB options duplicated in EvdevAddKeyClass are never released. For example, connecting and disconnecting a bluetooth keyboard repeatedly causes a steadily growing memory leak. Signed-off-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Reviewed-by: Erkki Seppälä <erkki.seppala@vincit.fi> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Use Absolute/Relative as argument to xf86Post*Peter Hutterer2011-02-11
| | | | | | | | xf86Post* takes an int for the is_absolute parameter. Since the XI protocol spec requires Relative to be 0 and Absolute to be 1, use those instead to make the code easier to read. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add third button emulation.Peter Hutterer2011-02-08
| | | | | | | | | | | | New properties: "Evdev Third Button Emulation" → switch on/off "Evdev Third Button Emulation Timeout" → timeout until event is delivered "Evdev Third Button Emulation Button" → phys button to be emulated "Evdev Third Button Emulation Threshold" → move threshold before emulation is cancelled Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Tested-by: Benjamin Tissoires <tissoire@cena.fr>
* Static atoms don't need to be initialized to 0.Peter Hutterer2011-01-31
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Replace xf86Msg() with xf86IDrvMsg().Peter Hutterer2011-01-31
| | | | | | | | | The latter provides a standardised message format in the form of driver name: device name: message making it easier to grep for driver messages in the log. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add support for masked valuatorsChase Douglas2011-01-25
| | | | | | | | With the X server now supporting masked valuators for XI2, enable support in X evdev. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Switch to "goto" logic for error handling when adding classesChase Douglas2011-01-24
| | | | | | | This will be necessary for the addition of multitouch functionality. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove support for X input ABI < 12.2Chase Douglas2011-01-24
| | | | | Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev 2.6.0xf86-input-evdev-2.6.0Peter Hutterer2011-01-11
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Print out error messages when failing to init devicesChase Douglas2011-01-06
| | | | | Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev 2.5.99.903xf86-input-evdev-2.5.99.903Peter Hutterer2011-01-05
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Don't update first_val and num_val if we don't have data (#32480)Peter Hutterer2011-01-04
| | | | | | | | | | | | | | | For touchpads, rel_queued may be on (due to abs to rel conversion) but the delta for x/y is 0/0 on the first touch. Hence, we don't have any valuators to post. The current results in a num_vals of -15 and a subsequent segfault when the data is posted to the server. Start with a last valuator of -1, so that we know if we have at least one to post. X.Org Bug 32480 <http://bugs.freedesktop.org/show_bug.cgi?id=32480> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
* Add use_proximity bit for BTN_TOOL handling.Peter Hutterer2010-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Touchpads send garbage data between BTN_TOOL_FINGER and BTN_TOUCH. This leads to cursor movement towards invalid positions (bottom left corner, usually). Add a new flag "use_proximity" as a delimiter for BTN_TOUCH handling. If unset, the actual proximity bits are ignored, no proximity events are sent and BTN_TOUCH is used for the tool handling. Example event stream for synaptics: Event: time 1292893041.002731, -------------- Report Sync ------------ Event: time 1292893041.015807, type 1 (Key), code 330 (Touch), value 0 Event: time 1292893041.015812, type 3 (Absolute), code 0 (X), value 4283 Event: time 1292893041.015813, type 3 (Absolute), code 1 (Y), value 4860 Event: time 1292893041.015815, type 3 (Absolute), code 24 (Pressure), value 23 Event: time 1292893041.015817, type 3 (Absolute), code 28 (Tool Width), value 5 Event: time 1292893041.027537, -------------- Report Sync ------------ Event: time 1292893041.038854, type 3 (Absolute), code 0 (X), value 1 Event: time 1292893041.038857, type 3 (Absolute), code 1 (Y), value 5855 Event: time 1292893041.038859, type 3 (Absolute), code 24 (Pressure), value 1 Event: time 1292893041.038861, type 3 (Absolute), code 28 (Tool Width), value 5 Event: time 1292893041.038864, -------------- Report Sync ------------ Event: time 1292893041.062432, type 3 (Absolute), code 24 (Pressure), value 0 Event: time 1292893041.062435, type 3 (Absolute), code 28 (Tool Width), value 0 Event: time 1292893041.062437, type 1 (Key), code 325 (ToolFinger), value 0 Event: time 1292893041.062438, -------------- Report Sync ------------ Reported-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
* Revert "Don't count BTN_TOUCH as tool. (#29428)"Peter Hutterer2010-12-22
| | | | | | | | | | | | Synaptics devices send garbage between BTN_TOUCH and BTN_TOOL_FINGER. By switching to use this as proximity data now, the pointer is reset to the garbage data position (usually around 1/5855). This reverts commit 899218e18120918138f6d7420465763422d5b3b7. Reported-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
* Rename proximity to in_proximity.Peter Hutterer2010-12-22
| | | | | | | | No functional change, just making it a bit more obvious to read. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Dan Nicholson <dbn.lists@gmail.com> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
* Fix grammar typo in comment.Peter Hutterer2010-12-21
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev: rename EvdevCacheCompare() to EvdevCache()Peter Korsgaard2010-12-13
| | | | | | | | | | | Since 59056e656c64 (Remove the reopen timer logic) from last year, EvdevCacheCompare() is only used for caching ioctl values and not for comparing, so remove the unused compare logic and rename the function to EvdevCache(). Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev 2.5.99.902xf86-input-evdev-2.5.99.902Peter Hutterer2010-12-08
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Return error codes from EvdevOpenDevice()Peter Hutterer2010-12-07
| | | | | | | | | | | The server's behaviour is to stop adding new devices when a BadAlloc occurs on any device (on the assumption that new devices won't magically have more memory). Change EvdevOpenDevice() to return an error code of BadValue when it fails (and thus to the server) to prevent other devices being ignored because of one misconfigured one. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
* evdev 2.5.99.901xf86-input-evdev-2.5.99.901Peter Hutterer2010-11-19
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Reshuffle to avoid the need for XI86_CONFIGURED.Peter Hutterer2010-10-28
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
* Input API 12 requires a valuator mode for each axis.Peter Hutterer2010-10-27
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
* Extend button mapping to full rangesNikolai Kondrashov2010-10-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend button code to number mapping to cover full BTN_MOUSE and BTN_MISC ranges, including undefined codes. This extends mapping introduced with 0367e387 to the following: 1 BTN_LEFT BTN_0 BTN_TOUCH 2 BTN_MIDDLE BTN_1 BTN_STYLUS 3 BTN_RIGHT BTN_2 BTN_STYLUS2 8 BTN_SIDE BTN_3 9 BTN_EXTRA BTN_4 10 BTN_FORWARD BTN_5 11 BTN_BACK BTN_6 12 BTN_TASK BTN_7 13 0x118 BTN_8 14 0x119 BTN_9 15 0x11A 0x10A 16 0x11B 0x10B 17 0x11C 0x10C 18 0x11D 0x10D 19 0x11E 0x10E 20 0x11F 0x10F This should fix https://bugs.freedesktop.org/show_bug.cgi?id=30336 Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Rename CountBits to EvdevCountBits.Peter Hutterer2010-10-21
| | | | | | | | Avoid name collision with the server. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <tissoire@cena.fr> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
* Use an array for the proximity bits.Peter Hutterer2010-10-21
| | | | | | | | | Instead of two lists that need to be kept in sync, just store the bits in an array and run through them. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <tissoire@cena.fr> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
* Rename abs/rel/prox to abs_queued/rel_queued/prox_queued.Peter Hutterer2010-10-21
| | | | | | | | | Mainly to avoid confusing between pEvdev->prox and pEvdev->proximity and to better express what these fields are actually holding. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <tissoire@cena.fr> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
* Add the names of the valuators for the multitouch propertiesBenjamin Tissoires2010-10-18
| | | | | | | | | | Thoses definitions have been included in the kernel and in the X server. However, the evdev driver has not been updated accordingly. Without these definitions, the multitouch axes are not correctly labelled. Signed-off-by: Benjamin Tissoires <tissoire@cena.fr> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add proximity support.Peter Hutterer2010-10-18
| | | | | | | | | | | | | | | | | | | | | When one of the tools comes into proximity, queue up a proximity event and send it accordingly. Includes special handling for tablets that do not send axes with tools (#29645) Some tablets send axis values, then EV_SYN, and in the next event the BTN_TOOL_PEN/BTN_TOUCH, etc. For these tablets, the cursor doesn't move as coordinates while not in proximity are ignored. Buffer coordinates received while out-of-proximity and if we get a proximity event without other coordinates, re-use the last ones received. X.Org Bug 29645 <http://bugs.freedesktop.org/show_bug.cgi?id=29645> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
* Rename evdev->tool to evdev->proximity.Peter Hutterer2010-10-13
| | | | | | | | | evdev doesn't care about the actual tool used, only that it is used as an indicator for proximity. Rename the field accordingly to make the code more obvious to read. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
* When posting buttons, post absolute valuators if we have them.Peter Hutterer2010-10-11
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
* Fix valuator offset when posting absolute motion events.Peter Hutterer2010-10-11
| | | | | | | | If first_v was not zero, the values passed to xf86PostMotionEventP were wrong. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
* Don't pass pointers around to first_v and num_v.Peter Hutterer2010-10-11
| | | | | | | We only use them as values, no need for the addresses. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
* De-duplicate event queue access.Peter Hutterer2010-10-11
| | | | | | | | Factor out access to the next queue element in a static function to be reused for button and key presses. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Benjamin Tissoires <tissoire@cena.fr>
* Remove refcnt initialization from InputDriverRec.Peter Hutterer2010-10-11
| | | | | | | | | | | | | Removed from the server with commit 6130170e7e9b64c611ee942ec3455dd1a185193d Author: Adam Jackson <ajax@redhat.com> Date: Sat Sep 18 06:41:35 2010 -0400 xfree86: Remove unused refcounting from input drivers And given that it was unused, we don't need to ifdef it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Clean up button code to number mappingNikolai Kondrashov2010-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | Now BTN_MOUSE, BTN_MISC and BTN_DIGI button ranges are all mapped to the same lower numbers including first three, corresponding to the LMR mouse buttons. Like this: 1 BTN_LEFT BTN_0 BTN_TOUCH 2 BTN_MIDDLE BTN_1 BTN_STYLUS 3 BTN_RIGHT BTN_2 BTN_STYLUS2 8 BTN_SIDE BTN_3 9 BTN_EXTRA BTN_4 10 BTN_FORWARD BTN_5 11 BTN_BACK BTN_6 12 BTN_TASK BTN_7 13 BTN_8 14 BTN_9 This streamlines the button mapping under the assumption that these ranges don't generally appear in a single device simultaneously. If they do appear, they will simply report overlapping button numbers. Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add BTN_TOUCH/STYLUS/STYLUS2 support.Nikolai Kondrashov2010-09-07
| | | | | | | | | These three buttons are mapped into buttons 1/2/3, respectively. Overlapping range with BTN_LEFT/MIDDLE/RIGHT, assuming that these ranges don't generally appear in a single device simultaneously. Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* SwapAxes should rescale raw values when enabledTim Yamin2010-09-07
| | | | | | | | | Current implementation assumes that X & Y axes have the same min and max values. If they don't, you'll end up with funny behaviour if SwapAxes is turned on. Signed-off-by: Tim Yamin <plasm@roo.me.uk> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Merge branch 'input-api' of git://people.freedesktop.org/~whot/xf86-input-evdevPeter Hutterer2010-09-01
|\
| * Return BadMatch for already configured devices.Peter Hutterer2010-07-22
| | | | | | | | | | | | | | | | PreInit can now return different error codes. Return BadAlloc for alloc failures and BadMatch if the device was already configured or the cache comparison/probe failed. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
| * Use the new input API (changed PreInit function prototype).Peter Hutterer2010-07-22
| | | | | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
| * Move private init down.Peter Hutterer2010-07-22
| | | | | | | | | | | | No real change, preparation for new input API. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
| * Use pInfo->options instead of dev->commonOptions.Peter Hutterer2010-07-22
| | | | | | | | | | | | No real change, preparation for new input API. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
| * Add ifdefs for pre ABI 12 support.Peter Hutterer2010-07-22
| | | | | | | | | | | | | | The server doesn't provide these defines anymore, define them here for future use. To be purged whenever we drop support for the current server. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
| * Remove usage of XI86_POINTER_CAPABLE and XI86_KEYBOARD_CAPABLE.Peter Hutterer2010-07-22
| | | | | | | | | | | | | | | | XI86_KEYBOARD_CAPABLE was write-only, both in the driver and the server. XI86_POINTER_CAPABLE was write-only in the server and can be emulated with has_abs_axes and has_rel_axes. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* | Improve dumb tablet detectionNikolai Kondrashov2010-09-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve dumb tablet detection by checking if BTN_STYLUS or BTN_STYLUS2 (first or second pen barrel button) is present when BTN_TOOL_PEN is not found. This enables detection of tablets without explicit tool proximity reporting. These include at least four UC-Logic tablet models: WP4030U, WP5540U, WP8060U and PF1209, on which many Genius and Trust models are based. Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>