aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* code-remap for 2.10.6code-remap-2.10.6Gianni Ceccarelli2018-06-02
|
* evdev 2.10.6Peter Hutterer2018-05-29
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix generation of proximity-in/out events.Andrey Zabolotnyi2018-05-29
| | | | | | | | | | | | | | | Invoking xf86PostProximityEvent with no valuators does nothing, so we have to provide a valid valuator set to the call. https://bugs.freedesktop.org/show_bug.cgi?id=104562 [whot: slight change from 104562 abs_vals is reset on every frame but old_vals is kept around to remember the last value of the valuator (and is updated to the current values before processing the frame). We expect the prox in to have x/y, so let's just unconditionally use old_vals for proximity events.] Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Ignore x/y axis changes on proximity outPeter Hutterer2018-05-29
| | | | | | | | | | | Wacom tablets send a farewell reset to 0 on all axes when the tool goes out of proximity. Ignore those so we can rely on our various valuator masks always having the correct coordinates. Possible false positive if you manage to go out of proximity right above the zero datum but meh. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Print cause of a failed open(..) callChristian Gmeiner2018-01-30
| | | | | | | | This is quite helpful for debugging. Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix handling of devices with only buttons (e.g. tablet pads).Andrey Zabolotnyi2018-01-16
| | | | | | | | | | When transforming 'only buttons' device into a pseudo-mouse by adding relative X and Y axes, EVDEV_RELATIVE_EVENTS flag must be set on device, otherwise it gets classified as a keyboard by X11. https://bugs.freedesktop.org/show_bug.cgi?id=104630 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* autogen: add default patch prefixMihail Konev2017-01-26
| | | | Signed-off-by: Mihail Konev <k.mvc@ya.ru>
* autogen.sh: use quoted string variablesEmil Velikov2017-01-26
| | | | | | | | | Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent fall-outs, when they contain space. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* autogen.sh: use exec instead of waiting for configure to finishPeter Hutterer2017-01-26
| | | | | | | Syncs the invocation of configure with the one from the server. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* evdev 2.10.5Peter Hutterer2017-01-18
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Don't send pointer events in addition to touch eventsAlexander Volkov2017-01-03
| | | | | | | | | | | | | Updating abs_vals for touch events since d24431a1863c49aa9edcabf535ffa64bfa87053c leads to posting Motion events with updated coordinates to the X server, which in turn resends them to clients. Don't queue Motion events for touch events, the X server should synthesize them itself. Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Middle emulation - make the emulated button number configurableDavid Strobach2016-11-21
| | | | | | | | | | | | | | | | | | | | Sometimes it may be desirable to remap physical middle button to something else and use emulation instead. The emulation is however hardcoded to emulate physical button 2, so the emulated button gets remapped together with the physical one. This patch adds the Emulate3Button configuration option to allow for user selection of the emulated button number and a configuration like this: Section "InputClass" Identifier "Middle button emulation config" MatchProduct ".... some device ..." MatchDriver "evdev" Option "Emulate3Buttons" "on" Option "Emulate3Button" "9" EndSection Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix off-by-one error counting axesPeter Hutterer2016-10-24
| | | | | | | | | | We stopped counting one too early, but still initialized that axis later, leading to a bug macro to trigger. https://bugs.freedesktop.org/show_bug.cgi?id=97956 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
* evdev 2.10.4HEADmasterPeter Hutterer2016-10-01
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Support XINPUT ABI 24 (remove select mask from block/wakeup handlers)Keith Packard2016-09-06
| | | | | | | | The evdev driver wasn't using the select mask arguments, so this change just involves adjusting the argument lists. Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Support XINPUT ABI version 23 (threaded input)Keith Packard2016-06-02
| | | | | | | Use input_lock/input_unlock calls instead of SIGIO functions Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Report errors when attempting to write keyboard controlsKeith Packard2016-06-02
| | | | | | | This is mostly to eliminate a compiler warning. Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev 2.10.3Peter Hutterer2016-06-01
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Restore non-xy axes updatesPeter Hutterer2016-05-12
| | | | | | | | | | | | | This broke in d24431a1863c49aa Restore wheel emulation for absolute devices, last hunk when the valuator update was moved to before any early exit condition. But that new update only applies to valuator maps < 2, i.e. x/y only. Other valuators are now ignored and remain on 0 forever. Restore the valuator update. https://bugs.freedesktop.org/show_bug.cgi?id=95315 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev 2.10.2Peter Hutterer2016-04-29
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Prevent buffer overrun accessing btn_labelsPeter Hutterer2016-04-27
| | | | | | | | | We go up to BTN_JOYSTICK, hence group can have a value of up to including 15. The actual btn_labels only has 6 elements though. Found by coverity. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Don't reset the other axis on wheel emulation scroll buildupPeter Hutterer2016-01-20
| | | | | | | | | | | | | | | | | | The idea was that of a direction lock: as we move vertically we should not build up any horizontal scroll motion even if we move slightly diagonally. The effect was though that the axis would be reset completely as soon as an event from the other axis occured. With the default threshold of 10, if one in ten events was a REL_X, we'd never get a wheel event. Drop this code, it's not needed. By default wheel emulation doesn't do horizontal scrolling, if a config snippet sets XAxisMapping the user wants horizontal scrolling. And since we just add the value anyway, as long as the user does a roughly vertical motion we won't get over the threshold anyway. https://bugs.freedesktop.org/show_bug.cgi?id=93617 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Restore wheel emulation for absolute devicesPeter Hutterer2016-01-20
| | | | | | | | | | | | | | | Wheel emulation relies on oldVals, which stopped updating in 3dcf6f123c5. Since wheel emulation may filter the abs event, store the event before we do anything with it. If we really want the abs_event, abs_queued will be set to 1, otherwise the value will be ignored. And now that we know abs_value is always valied, we can copy its value into old_vals, so that wheel emulation can calculate the delta correctly. https://bugs.freedesktop.org/show_bug.cgi?id=93617 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* man: add a warning that wheel emu inertia must be set and it isn't inertiaPeter Hutterer2016-01-14
| | | | | | | | | | | | | | First, it's not actually inertia, it's simply the scroll distance, yay for the misnomer. And it needs to be set for any device that is more fine-grained than a mouse, especially absolute devices. For example the VirtualBox device has an abs max of 32767, so a simple motion may have a delta of to 2000 units and that results in 200 scroll events. That's a bit excessive. Related to: https://bugs.freedesktop.org/show_bug.cgi?id=93617 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev 2.10.1Peter Hutterer2016-01-08
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Only map x and y to axes 0 and 1Peter Hutterer2015-11-13
| | | | | | | | | | | | | | | | The Logitech G600 has one device with all axes north of ABS_MISC. The current code assigns ABS_MISC as first axis to map to axis 0, i.e. x. On button press, one node sends the BTN_LEFT but the other node sends an ABS_MISC with a 1 0 value. ABS_MISC is mapped to axis 0, this moves the pointer to (0, y) on every button click. Avoid this by simply mapping any axis other than x/y to at least axis 3, and make sure we only override the MT 0/1 axes when we actually have MT axes. https://bugs.freedesktop.org/show_bug.cgi?id=92856 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com>
* evdev 2.10.0Peter Hutterer2015-10-28
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add "Resolution" option for mice to the evdev driverThomas Hindoe Paaboel Andersen2015-08-27
| | | | | | | | | | | | It can be used to scale the resolution of a mouse to that of a 1000 DPI mouse. This can be useful to make high resolution mice less sensitive without turning off acceleration. The target of 1000 DPI is used as the same default is used in libinput. If the option is not set no scaling will be done. https://bugs.freedesktop.org/show_bug.cgi?id=88134 Signed-off-by: Thomas Hindoe Paaboel Andersen <phomes@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add the default evdev configPeter Hutterer2015-05-18
| | | | | | | | | | | This used to be part of the server but now that we have two drivers doing the same thing (libinput, evdev) shift the configuration defaults to the driver. This way you get what you install. https://bugs.freedesktop.org/show_bug.cgi?id=89023 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
* Bump to 2.9.99Peter Hutterer2015-03-27
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Unconditionally require mtdevPeter Hutterer2015-03-16
| | | | | | Missing from 2c9f4f0380d Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Always check for a return value on creating a propertyPeter Hutterer2015-03-16
| | | | | | Mostly to make static analyzers happy Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Invert a condition to reduce nestingPeter Hutterer2015-03-13
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Disable axis faking and MT event processing on fake MT devicesPeter Hutterer2015-03-11
| | | | | | | | | | | This effectively disables all axes >= ABS_MT_SLOT on those devices. But at least the device comes up without an error and it didn't work correctly beforehand anyway. https://bugs.freedesktop.org/show_bug.cgi?id=89473 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
* Invert two conditions to reduce nestingPeter Hutterer2015-03-11
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
* Factor out MT axis counting into a separate functionPeter Hutterer2015-03-11
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
* Split android axis simulation into a helper functionPeter Hutterer2015-03-11
| | | | | | | No functional changes Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
* Require multitouch/smooth scrolling dependenciesPeter Hutterer2015-03-11
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com>
* Drop evdev-specific XKB defaultsPeter Hutterer2015-02-13
| | | | | | | Just use the server defaults instead. This has very little effect, on most systems there was some sort of default configuration applied anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Check for incoming MT slot indices exceeding the allocated number of slots.Tobias Himmer2015-01-23
| | | | | | | Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=88715 Signed-off-by: Tobias Himmer <provisorisch@online.de> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Workaround lack of ABS_X on MT devices (#80470)Colin B. Macdonald2014-12-23
| | | | | | | | | Often on Android, we have ABS_MT_POSITION_X without ABS_X (which is contrary to spec). We add fake ABS_X axis in that case. X.Org Bug 80470 <http://bugs.freedesktop.org/show_bug.cgi?id=80470> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Move EVDEV_RELATIVE_MODE logic earlierÉric Brunet2014-12-17
| | | | | | | | | | | | | | | When in EVDEV_RELATIVE_MODE, after converting the absolute valuators, the code unsets pEvdev->abs_queued. This is wrong if there are some absolute valuators which are not positions, such as a pressure valuators, because events on these valuators would be lost. This patch fixes the problem by doing the absolute->relative translation early. This way, abs_queued is not set and then unset when receiving absolute valuators representing positions. Other absolute events now set abs_queued and will be processed. Signed-off-by: Éric Brunet <Eric.Brunet@lps.ens.fr> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Don't update old_vals when not in EVDEV_RELATIVE_MODEÉric Brunet2014-12-17
| | | | | | | | | | When not in EVDEV_RELATIVE_MODE, absolute position is stored in old_vals. This serves no purpose except that old_vals is ready when the device is switched to EVDEV_RELATIVE_MODE. It is however better to make the copy between old_vals and abs_vals at the time of the switch rather than all the time. Signed-off-by: Éric Brunet <Eric.Brunet@lps.ens.fr> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Change the logic concerning EVDEV_RELATIVE_MODE and in_proximityÉric Brunet2014-12-17
| | | | | | | | | | | | | | When not in_proximity, we don't really trust data, even though a valuator sent just before a in_proximity event might actually be important. The present code for EVDEV_RELATIVE_MODE throws away all data if not in_proximity, which is a little bit too much. This patch allows for relative values to be calculated and old_vals to be updated even if not in_proximity, but will prevent evdev to sending (presumably) wrong information to the X server. But at least, old_vals will be correctly filled when the device comes into proximity again. Signed-off-by: Éric Brunet <Eric.Brunet@lps.ens.fr> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* drop the pEvdev->delta arrayÉric Brunet2014-12-17
| | | | | | | | Now that relative events have their own valuator mask, use it instead of delta Signed-off-by: Éric Brunet <Eric.Brunet@lps.ens.fr> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Split pEvdev->vals into pEvdev->abs_vals and pEvdev->rel_valsÉric Brunet2014-12-17
| | | | | | | | This should hopefully fix bug 84445. Signed-off-by: Éric Brunet <Eric.Brunet@lps.ens.fr> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* evdev 2.9.1Peter Hutterer2014-11-26
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove three unused #definesPeter Hutterer2014-11-07
| | | | | | Obsolete since 768c25a99b2f4ec07993eb15a0f05a5e22b5c695 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Don't pass superfluous arguments to EvdevPost*EventsÉric Brunet2014-09-29
| | | | | | | | | | | | The functions EvdevPostProximityEvents, EvdevPostRelativeMotionEvents, EvdevPostAbsoluteMotionEvents and EvdevPostQueuedEvents are only called by EvdevProcessSyncEvent. These functions take as arguments an array of valuators which is set by EvdevProcessSyncEvent to contain ... nothing. This patch changes the prototype of the four functions, their definitions and the way they are called to remove the useless array of valuators. Signed-off-by: Éric Brunet <Eric.Brunet@lps.ens.fr> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Drop some unused #definesPeter Hutterer2014-08-29
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>