summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-01-12Fix FOO_MAX off-by-oneMatt Helsley
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>
2009-01-12rename NBITS to NLONGS to reflect its actual meaningMatt Helsley
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>
2009-01-12Add pressure valuatorMatt Helsley
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>
2009-01-09Remove xorgconfig & xorgcfg from See Also list in man pageAlan Coopersmith
2009-01-06Fix XkbModel parsing errorYan Li
Signed-off-by: Yan Li <yan.i.li@intel.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-12-19Add dummy test device - simple device that doesn't move at all.Peter Hutterer
Good for filling up the device list without getting distracted by spurious events all the time.
2008-12-08Revert "Keyboard: Disable kernel autorepeat"Sascha Hlusiak
This reverts commit 6867652c2c8ad563d5655302d94134592b10265b. Functionally replaced by commit ece72ce9e97adae23b1932dc1334f63669196d56 Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2008-12-08Filter all repeated keys from kernel, because we do softrepeat in serverSascha Hlusiak
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>
2008-12-03Finalize MB emu (and wakeup handlers) before closing the fd.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-12-03Support keyboards with scroll wheels.Tibi Nagy
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>
2008-12-02Keyboard: Disable kernel autorepeatDaniel Stone
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>
2008-11-17Store device file's minor/major to avoid duplicate devices.Peter Hutterer
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>
2008-11-06Fix error messageFernando Carrijo
2008-11-03Add support for axes swapping.Peter Hutterer
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>
2008-10-30Add support for run-time calibration.Peter Hutterer
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.
2008-10-30Add test/ directory for uinput-based test devices.Peter Hutterer
Three test devices provided: btn0 .... Provides BTN_0, BTN_1, BTN_2 instead of BTN_LEFT, BTN_MIDDLE, BTN_RIGHT. abs ..... Provdes x/y absolute axes, jumps between 100/100 and 120/120. absrel .. Provides relative x/y axes and absolute x/y axes at the same time. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-10-29Treat BTN_[0-2] as LMR buttons if necessary.Peter Hutterer
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>
2008-10-29Remove obsolete FIXMEPeter Hutterer
xkeyboard-config's maps are perfectly able to cope with evdev now. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-10-29Flush input after re-opening the fd.Peter Hutterer
Suggested by Julien Cristau. Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-10-28emuMB: add EvdevMBEmuOn and call from EvdevOn to register wakeup handlers.Peter Hutterer
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.
2008-10-24Fix axis inversion for absolute coordinates.Peter Hutterer
If min_x/y was not equal to 0, the inverted calculated range was off and leads to inaccessible or out-of-range areas.
2008-10-24emulate MB: fix confusing log message.Peter Hutterer
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.
2008-10-23Silence compiler warning by memsetting the struct properly.Peter Hutterer
2008-10-23MB emulation timeout is stored as Time, make the property 32-bit too.Peter Hutterer
2008-10-22Init ioctl bitmasks to 0, shuts up valgrind too.Peter Hutterer
2008-10-22Add touchscreen support.Søren Hauberg
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.
2008-10-21Fix TestBit() on 64bitJulien Cristau
Reported by Albert Damen <albrt@gmx.net> X.Org Bug#18150 <http://bugs.freedesktop.org/show_bug.cgi?id=18150>
2008-10-17Add option "GrabDevice", don't grab the device by default.Peter Hutterer
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.
2008-10-16Don't post keycodes > 255.Peter Hutterer
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>
2008-10-14Fix "Device reopened after N attempts" message.Peter Hutterer
2008-10-14Don't init draglock, etc. if we don't have the required capabilities.Peter Hutterer
2008-10-148-bit properties should use 8-bit storage types...Peter Hutterer
2008-10-14Don't include the client-side header anymore. xkbstr.h is server SDK.Peter Hutterer
2008-10-14Tidy up evdev.hPeter Hutterer
This includes shuffling some functions around so we don't need the prototypes in evdev.h.
2008-10-14Rename DragLockInit to DragLockPreInit, remove superfluous "return".Peter Hutterer
2008-10-14Register property handler from within the modules, not the main evdev file.Peter Hutterer
2008-10-14Clean up program flow - don't call PreInit for "modules" on DEVICE_INIT.Peter Hutterer
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.
2008-10-14Janitor: clean up xf86Msg use, might as well use X_CONFIG directly.Peter Hutterer
2008-10-14Add property support for ReopenAttempts option.Peter Hutterer
2008-10-14Document properties in man page.Peter Hutterer
2008-10-14Document InvertX/Y options.Peter Hutterer
2008-10-13Bump to 2.1.99.Peter Hutterer
2008-10-11Remove "Path" option.Peter Hutterer
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.
2008-10-11Remove parsing of ScreenNumber option.Peter Hutterer
Was unused anyway, so we might as well not parse it.
2008-10-11Janitor: purge unused headers, reshuffle for readability, fix whitespace errors.Peter Hutterer
2008-10-11Add checkonly handling to property handlers.Peter Hutterer
If checkonly is TRUE, we can only check if applying the value would succeed. The value is actually applied if checkonly is FALSE.
2008-10-11Fix up bad return code in draglock property handler.Peter Hutterer
2008-10-11Stricter value checking for property changes.Peter Hutterer
2008-10-11Set pInfo->fd to -1 on DEVICE_CLOSEJulien Cristau
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)
2008-10-03Add property support for axis inversion.Peter Hutterer