aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Fix FOO_MAX off-by-oneMatt Helsley2009-01-12
| | | | | | | | | | | | | | | | | 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>
* rename NBITS to NLONGS to reflect its actual meaningMatt Helsley2009-01-12
| | | | | | | | | 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>
* Add pressure valuatorMatt Helsley2009-01-12
| | | | | | | | If it's available report pressure as third valuator. (Use xf86PostMotionEventP instead of the varargs wrapper.) Signed-off-by: Matt Helsley <matt.helsley@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Fix XkbModel parsing errorYan Li2009-01-06
| | | | | Signed-off-by: Yan Li <yan.i.li@intel.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Revert "Keyboard: Disable kernel autorepeat"Sascha Hlusiak2008-12-08
| | | | | | | This reverts commit 6867652c2c8ad563d5655302d94134592b10265b. Functionally replaced by commit ece72ce9e97adae23b1932dc1334f63669196d56 Signed-off-by: Daniel Stone <daniel@fooishbar.org>
* Filter all repeated keys from kernel, because we do softrepeat in serverSascha Hlusiak2008-12-08
| | | | | | | Discard all repeated events that come from the device. The server will handle per-key autorepeat in software. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
* Finalize MB emu (and wakeup handlers) before closing the fd.Peter Hutterer2008-12-03
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
* Support keyboards with scroll wheels.Tibi Nagy2008-12-03
| | | | | | | | | | For keyboards, scroll events are reported by the kernel as EV_REL class events of REL_WHEEL type. If, during probing, the device is found to support wheel events, make sure it is set up as a pointing device, even if it doesn't have buttons or doesn't report motion along the X and Y axis so that the scroll events can be mapped to mouse wheel buttons (usually buttons 4 and 5). Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
* Keyboard: Disable kernel autorepeatDaniel Stone2008-12-02
| | | | | | | We handle autorepeat in software due to per-key repeat and whatnot, so disable the kernel's, which just interferes with ours. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Store device file's minor/major to avoid duplicate devices.Peter Hutterer2008-11-17
| | | | | | | | 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>
* Fix error messageFernando Carrijo2008-11-06
|
* Add support for axes swapping.Peter Hutterer2008-11-03
| | | | | | | | | 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>
* Add support for run-time calibration.Peter Hutterer2008-10-30
| | | | | | | | | | 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.
* Treat BTN_[0-2] as LMR buttons if necessary.Peter Hutterer2008-10-29
| | | | | | | | | | | | | 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>
* Remove obsolete FIXMEPeter Hutterer2008-10-29
| | | | | | xkeyboard-config's maps are perfectly able to cope with evdev now. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
* Flush input after re-opening the fd.Peter Hutterer2008-10-29
| | | | | | Suggested by Julien Cristau. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
* emuMB: add EvdevMBEmuOn and call from EvdevOn to register wakeup handlers.Peter Hutterer2008-10-28
| | | | | | | 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.
* Fix axis inversion for absolute coordinates.Peter Hutterer2008-10-24
| | | | | If min_x/y was not equal to 0, the inverted calculated range was off and leads to inaccessible or out-of-range areas.
* emulate MB: fix confusing log message.Peter Hutterer2008-10-24
| | | | | | | If we're forcing MB emulation behaviour as per config, then at least state whether we're forcing it off or on. Found by Michel Dänzer.
* Silence compiler warning by memsetting the struct properly.Peter Hutterer2008-10-23
|
* MB emulation timeout is stored as Time, make the property 32-bit too.Peter Hutterer2008-10-23
|
* Init ioctl bitmasks to 0, shuts up valgrind too.Peter Hutterer2008-10-22
|
* Add touchscreen support.Søren Hauberg2008-10-22
| | | | | | | 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.
* Fix TestBit() on 64bitJulien Cristau2008-10-21
| | | | | Reported by Albert Damen <albrt@gmx.net> X.Org Bug#18150 <http://bugs.freedesktop.org/show_bug.cgi?id=18150>
* Add option "GrabDevice", don't grab the device by default.Peter Hutterer2008-10-17
| | | | | | | | 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.
* Don't post keycodes > 255.Peter Hutterer2008-10-16
| | | | | | | 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>
* Fix "Device reopened after N attempts" message.Peter Hutterer2008-10-14
|
* Don't init draglock, etc. if we don't have the required capabilities.Peter Hutterer2008-10-14
|
* 8-bit properties should use 8-bit storage types...Peter Hutterer2008-10-14
|
* Don't include the client-side header anymore. xkbstr.h is server SDK.Peter Hutterer2008-10-14
|
* Tidy up evdev.hPeter Hutterer2008-10-14
| | | | | This includes shuffling some functions around so we don't need the prototypes in evdev.h.
* Rename DragLockInit to DragLockPreInit, remove superfluous "return".Peter Hutterer2008-10-14
|
* Register property handler from within the modules, not the main evdev file.Peter Hutterer2008-10-14
|
* Clean up program flow - don't call PreInit for "modules" on DEVICE_INIT.Peter Hutterer2008-10-14
| | | | | | 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.
* Janitor: clean up xf86Msg use, might as well use X_CONFIG directly.Peter Hutterer2008-10-14
|
* Add property support for ReopenAttempts option.Peter Hutterer2008-10-14
|
* Remove "Path" option.Peter Hutterer2008-10-11
| | | | | 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.
* Remove parsing of ScreenNumber option.Peter Hutterer2008-10-11
| | | | Was unused anyway, so we might as well not parse it.
* Janitor: purge unused headers, reshuffle for readability, fix whitespace errors.Peter Hutterer2008-10-11
|
* Add checkonly handling to property handlers.Peter Hutterer2008-10-11
| | | | | If checkonly is TRUE, we can only check if applying the value would succeed. The value is actually applied if checkonly is FALSE.
* Fix up bad return code in draglock property handler.Peter Hutterer2008-10-11
|
* Stricter value checking for property changes.Peter Hutterer2008-10-11
|
* Set pInfo->fd to -1 on DEVICE_CLOSEJulien Cristau2008-10-11
| | | | | | | | 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)
* Add property support for axis inversion.Peter Hutterer2008-10-03
|
* Add support for axis inversion.Søren Hauberg2008-10-03
|
* Close fd on DEVICE_OFF. (LP #276887)Peter Hutterer2008-10-02
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Remove useless initialization of rc.Peter Hutterer2008-10-02
|
* Move misplaced #endifPeter Hutterer2008-09-30
|
* Register property handlers directly, instead of abstracting them.Peter Hutterer2008-09-30
| | | | | | 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).
* Cleanup: "valid_vals" should be "vals" now.Peter Hutterer2008-09-30
|