aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Rename pEvdev->buttons to pEvdev->num_buttons for clarity.Peter Hutterer2009-05-21
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Ensure enough buttons are advertised to pass the button mapping.Peter Hutterer2009-05-21
| | | | | | | | | | | | | | | | Some buttons are mapped to higher button numbers. For example, BTN_0 is posted as button 8 if BTN_LEFT is present. On top of that, the driver-specific button mapping may map the button to something else again. We need to take these mappings into account when counting the number of buttons on the device. Example: A device with BTN_LEFT and BTN_0 and a mapping from 1 -> 7 and 8 -> 2. BTN_LEFT is mapped to 1. 1 is mapped to 7. num_buttons is 7. BTN_0 is mapped to 8. 8 is mapped to 2. num_buttons remains 7. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Up the number of button labels atoms to EVDEV_MAXBUTTONS.Peter Hutterer2009-05-21
| | | | | | | | | | | | Button labels would smash memory if the device had less than 4 buttons and did not advertise a wheel event. In this case the hard-coded wheel button labels would write past the atoms[] boundary. Potential memory smash if a device had a BTN_LEFT and BTN_0, since the latter would map to 8, regardless of the the number of actual buttons (same with BTN_MIDDLE and BTN_1 or BTN_RIGHT and BTN_2). Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Only label axes and buttons if the device has axes or buttons.Peter Hutterer2009-05-21
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Use xf86DisableDevice instead of the DIX' DisableDevice.Peter Hutterer2009-05-16
| | | | | | | DisableDevice has changed API in xi2, xf86DisableDevice hasn't. So let's use this one so we can have one version for master and xi2. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix copy-paste error when probing type nameDan Nicholson2009-05-11
| | | | | | | | | | A minor copy and paste error was introduced in 71e9a69e leaving an "if" where an "else if" should be. Without this, any device configured as XI_TOUCHPAD or XI_TABLET will end up having the type_name reset to either XI_TOUCHSCREEN or XI_MOUSE. Signed-off-by: Dan Nicholson <dbn.lists@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Revamp the whole "has_axes" definition.Peter Hutterer2009-04-29
| | | | | | | Since we can now deal with multiple axes, etc. we might as well print it properly. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Print read errors as X_NONE to avoid mallocs in the server.Peter Hutterer2009-04-16
| | | | | | | | Messages of type X_NONE are just passed down to the log files, everything else gets the (EE) or (II) prefixed. Since this mallocs, we can't use it in the signal handler. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Pre-allocate the reopen timer so we don't allocate during sigio handling.Peter Hutterer2009-04-16
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Trigger read error handling if len is <= 0.Peter Hutterer2009-04-06
| | | | | | | Red Hat Bug 494245 <https://bugzilla.redhat.com/show_bug.cgi?id=494245> Reported-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix wrong reference to axis and button label atom list.Peter Hutterer2009-03-26
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix jumpy touchpads by updating old_vals only when reported by the device.Peter Hutterer2009-03-17
| | | | | | | | | | Remember whether ABS_X or ABS_Y were reported before the SYN event and only update the old_vals[0, 1] if we got data for them. Touchpads that reported pressure data before x/y would otherwise update old_x/y with bogus values, leading to jumps when the first x/y coordinates were actually reported. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* If we have a touchpad, print so, don't claim we're configuring a tablet.Peter Hutterer2009-03-17
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* make sure to clear all axis_map entriesJeremy Jay2009-03-17
| | | | | | | don't use uninitialized axis_map entries, ie axis_map[ABS_PRESSURE] Signed-off-by: Jeremy Jay <dinkumator@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Assume touchscreen/touchpad if we have _either_ ABS_PRESSURE or BTN_TOUCHPeter Hutterer2009-03-17
| | | | | | | Touchpads have pressure or touch and also BTN_TOOL_FINGER. Touchscreens have either pressure or touch, but no finger. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Move keymap/modifier initialization behind the ABI < 5 ifdefs.Peter Hutterer2009-03-16
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Set "rel" when converting absolute touchpad coordinates to relative (#20661)Jeremy Jay2009-03-16
| | | | | | | | | We unset "abs" and convert to relative, but never set "rel" so the events don't get posted. This bit got broken in 43dd2a959243877. X.Org Bug 20661 <http://bugs.freedesktop.org/show_bug.cgi?id=20661> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Restore repeat-filtering for server 1.5 and earlier.Peter Hutterer2009-03-10
| | | | | | | | | Letting the server deal with key repeats is fine if we have server 1.6. For earlier servers, we need to pass on the repeat events (except for modifier keys). Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Tested-by: Marty Jack <martyj19@comcast.net>
* Define MAX_VALUATORS if it's missing to allow for builds against 1.5.Peter Hutterer2009-03-09
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Check button label before fetching the Atom from the server. (#20524)Peter Hutterer2009-03-09
| | | | | | | | | | The server doesn't like NULL names, so don't call XIGetKnownProperty for labels that don't exist. X.Org Bug 20524 <http://bugs.freedesktop.org/show_bug.cgi?id=20524> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Tested-by: Peter Henriksson
* Fix duplicate wheel button up mapping.Peter Hutterer2009-03-06
| | | | | | | Reported by Simon Thum. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Simon Thum <simon.thum@gmx.de>
* Add support for button labelling.Peter Hutterer2009-03-02
| | | | | | Buttons 4/5 and 6/7 are hardcoded for wheel buttons. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Rename prop_label to prop_axis_label.Peter Hutterer2009-03-02
|
* Don't double-assign the UKNOWN axis label.Peter Hutterer2009-02-26
| | | | | | All labels default to unknown anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* If scrollwheels are found, bump the button number by 4 (or up to 7).Peter Hutterer2009-02-26
| | | | | | | | | | Scrollwheel data is always posted as buttons, so we need to advertise at least enough buttons to accommodate for 6/7 (horizontal wheel). Note that this may mean that if you have a device that has scroll wheels and axes, but no buttons, it may be interpreted as a mouse. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Ignore REL_WHEEL, REL_HWHEEL and REL_DIAL during axis initialisation.Peter Hutterer2009-02-26
| | | | | | We don't post the events for them anyway, so lets ignore them completely. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Pass on all relative events, not just x/y.Peter Hutterer2009-02-26
| | | | | | | | | 9620fe776 added generic axes support for relativ values, but values from such axes didn't get passed on to the server. Fix this. Note that wheel events are not posted as motion events. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Reduce the number of read calls in ReadInput.Adam Jackson2009-02-26
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Adam Jackson <ajax@redhat.com>
* Split ReadInput into ReadInput and ProcessEvent.Peter Hutterer2009-02-26
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Move relative motion and other magic up to EV_SYN processing.Adam Jackson2009-02-26
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Adam Jackson <ajax@redhat.com>
* Open with O_NONBLOCK, and simplify EvdevReadInput to match.Adam Jackson2009-02-23
| | | | | | | | | xf86WaitForInput() would call select() with zero timeout to discover if more input was ready. But we know that's always true at least once, since we're only ever called from the sigio handler (if silken is active) or from the main loop (if it's not and we selected readable). With nonblocking IO we can just spin around until we hit EAGAIN, which gets us down to n+1 syscalls per event instead of 2n.
* Revert "Remove useless include directive."Peter Hutterer2009-02-19
| | | | | | | | Necessary for builds against 1.6, but let's at least get rid of XKB defines. This reverts commit aa5dfa1d6ae374479d39f1394b85660e6b6bb881. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Label axes conditional on actual support.Peter Hutterer2009-02-18
| | | | | | Server 1.6 has device properties, but not axis labels. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Accommodate for holes in the ABS label defines.Peter Hutterer2009-02-18
| | | | | | | | abs_labels[] has to be aligned with the defines in linux/input.h, but the latter does not have continuous range. Pad the holes with AXIS_LABEL_PROP_ABS_MISC. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add support for arbitrary relative axis labels.Peter Hutterer2009-02-17
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove superfluous (and duplicate) call to xf86MotionHistoryAllocate.Peter Hutterer2009-02-17
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add generic axis support for relative axes.Peter Hutterer2009-02-17
| | | | | | Just query the kernel what axes we actually have, rather than hard-coding x/y. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add dynamic axis labelling for absolute devices.Peter Hutterer2009-02-17
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* remove duplicate (code > 255) check.Peter Hutterer2009-02-16
|
* Swap axes after scaling, not before.Peter Hutterer2009-02-16
| | | | | | | | If we swap before scaling, we scale with the wrong coordinate range. Reported by Matt Helsley. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* CacheCompare before probing the device.Peter Hutterer2009-02-16
| | | | | | | | Saves a few duplicate ioctls. Suggested by Matt Helsley. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* General axis valuator support.Matt Helsley2009-02-16
| | | | | | | | | Instead of x/y and pressure, support any absolute axis that is reported on the device. Note that there are still locations that special-case X and Y. Minor modifications by Peter Hutterer. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Change cached bitmasks from long to unsigned long.Peter Hutterer2009-02-16
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove unused 'screen' variable from the EvdevRec.Peter Hutterer2009-02-16
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Log which EVIOCGABS ioctl failed.Peter Hutterer2009-02-16
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove superfluous motion history allocation.Peter Hutterer2009-02-16
| | | | | | | The motion history buffer is allocated during InitValuatorClassDeviceStruct anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove duplicate MB emu finalization.Peter Hutterer2009-02-16
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Remove useless include directive.Peter Hutterer2009-02-16
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Add descriptive messages for device-has-changed errsBryce Harrington2009-02-13
| | | | | | | | | As can be seen in e.g. bugs 19819 & 20025, it can be unclear what exactly caused a given "Device has changed - disabled" error. This patch adds some more specific messages to give a better clue on what exactly was seen to have changed. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Janitor: make distcheck, .gitignore.Paulo Cesar Pereira de Andrade2009-02-02
| | | | | | | Remove non toplevel .gitignore and .cvsignore files. The "make distcheck correction" for $(sdkdir) probably has a better approach using a "*-hook:" target, or possibly making $sdkdir a configure time option that could be set with DISTCHECK_CONFIGURE_FLAGS.