aboutsummaryrefslogtreecommitdiff
path: root/src/evdev.c
Commit message (Collapse)AuthorAge
* Options: Accept differently-named optionsDaniel Stone2007-08-07
| | | | | Take some differently-named options for device and the XKB options. These should really be better-handled, but eh.
* Clean up a little bit the code.Tiago Vignatti2007-06-15
|
* Update version using PACKAGE_VERSION_*.Zephaniah E. Hull2007-06-13
|
* evdev.c:Zephaniah E. Hull2007-06-11
| | | | | | | | | | | | | | | | | | | | | Set and use the X mode control, letting XInput see it properly. Kill some cruft. evdev.h: Set and use the X mode control, letting XInput see it properly. evdev_axes.c: Set and use the X mode control, letting XInput see it properly. evdev_key.c: Remove some cruft, the bell func can be NULL now, so do so. Don't bother looking for keys above 0xF7 until we can actually do something with them.
* Wheel mice work again!Zephaniah E. Hull2007-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Old configs don't.) evdev.c: Add EvdevParseMapToButton and EvdevParseMapToButtons to evdev_map_parsers. Add EvdevParseMapOption to search through evdev_map_parsers. Fix up EvdevTokenize to handle the evdev_option_token_t changes. EvdevAxesNew0 after BtnNew0 instead of before now. (This isn't the right fix.) evdev.h: EVDEV_MAXBUTTONS -> BTN_MAX. Redid evdevBtnRec with the new mapping goodness. Removed v_min and v_max from evdevAbsRec. Reworked evdev_option_token_t, no union, no is_chain. If it's a chain, it still has a string, but the chain pointer is set. EvdevParseMapToButton, EvdevParseMapToButtons, and EvdevParseMapOption. evdev_axes.c: Kill off EvdevAxesMapButton, a variant lives in evdev_btn.c now. Changes for the evdev_option_token_t changes. Use EvdevParseMapOption instead of repeating the contents twice. Disable EV_ABS_V_INVERT for the moment. (Better fix maybe needed.) evdev_btn.c: s/Ptr /Rec */g EvdevMapButton and parser. EvdevMapButtons and parser. Nuke EvdevBtnCalcRemap as a whole. Move everything but the alloc to New1 from New0. New mapping code, same guts os the axes mapping code even.
* Update the copyright notices for me to include 2007.Zephaniah E. Hull2007-06-05
| | | | Finish merging copyright notices. (evdev_key.c was missed.)
* Merge branch 'master' of ↵Zephaniah E. Hull2007-06-05
|\ | | | | | | | | | | | | | | git+ssh://git.freedesktop.org/git/xorg/driver/xf86-input-evdev Conflicts: src/evdev.h
| * Merge copyright notices.Kristian Høgsberg2007-06-05
| |
* | Alright, this is a really big commit that breaks stuff.Zephaniah E. Hull2007-06-05
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | evdev.h: Switch to flags in the abs and rel structs. Add the axes struct, and defines. Rework the abs and rel structs, moving stuff to the axes struct and moving everything to the new mapping handling. Add the structs and function declarations for the new tokenization stuff, parsing stuff, and mapping stuff. evdev.c: Add EvdevTokenize, and the evdev_map_parsers list. evdev_axes.c: Basicly a full rewrite, big, messy. We now use a completely different mapping setup for axes, and mapping to buttons is currently missing. However we now handle ABS_CALIB and ABS_AREA, including rotation in both rel and abs modes. evdev_btn.c: Disable lots of code and break things horribly, we compile but we don't work very well. Fixing this is next on my todo list.
* Disable and remove the device when a read error occurs.Peter Hutterer2007-04-24
|
* Try harder to make unplugging work.Zephaniah E. Hull2007-04-24
|
* Handle driver removal cleanly, we now xfree everything we Xcalloc.Zephaniah E. Hull2007-04-24
| | | | | NOTE: Someone needs to check for memory leaks, I'd be willing to bet a fair bit that we've got tons in the mouse and xkb code, but.
* Remove the evil xf86ActivateDevice declaration, don't need it anymore.Zephaniah E. Hull2007-04-24
| | | | | | Fix the crash on device unplug. NOTE: We still don't properly get rid of ourselves.
* Remove all of evdev_brain.c and all callers.Zephaniah E. Hull2007-04-24
| | | | | | | | | | | | Remove the non-functional 2.4 kernel compiling compatibility. Remove the XInput 1.4+ SendCoreEvents/DontSendCoreEvents define replacements. Remove evdevDriver, some stuff from evdevDevice, all users. NOTE: This WILL BREAK all existing configurations. NOTE: Device read failure segfaults, don't unplug stuff.
* Remove driver from list if no device is associated any more.Peter Hutterer2007-04-23
| | | | | This effectively stops the driver from hotplugging new devices. Devices have to be added with the dbus hotplugging events.
* Remove direct call to DEVICE_INIT, ActivateDevice() takes care of that.Peter Hutterer2007-04-19
|
* Add some documentation to evdev.c and evdev_brain.c.Peter Hutterer2007-04-19
|
* ActivateDevice() before EnableDevice() in EvdevNew.Peter Hutterer2007-04-19
|
* support new DIX motion history APIDaniel Stone2006-10-25
| | | | Use the DIX motion history if we have ABI version 1 or higher.
* Merge branch 'master' of ↵Daniel Stone2006-10-17
|\ | | | | | | git+ssh://git.freedesktop.org/git/xorg/driver/xf86-input-evdev into input-hotplug
| * Use XORG_VERSION_CURRENT in the module version struct.Zephaniah E. Hull2006-10-02
| |
| * Fix compilation.Zephaniah E. Hull2006-09-10
| |
| * Split the New functions so that structs can be allocated and buttonsZephaniah E. Hull2006-07-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | detected, and then stuff that depends on _other_ areas. (Specificly, axes and btn have a circular dependency on which one has to run first, this solves that.) Add button names, and a way to get a button number from a name. Add a function for checking to see if a button exists, takes the number from the previous function. Change the (unused) state array of pointers in the button struct to an array of pointers to functions for callback. Implemented the 'touch' feature, on by default if BTN_DIGI_TOUCH exists, won't, in rel mode, process x/y data unless it's down, and is used to try and make 'pick up stencil, move to other side of digitizer, set back down' not jump to the other side of the screen in rel mode. (This doesn't work as well as it could, but I'm fairly sure that it's due to the quality of the absolute input device I'm using, but feedback would be really nice.) FIXME: Update the manpage for this.
| * Set pInfo->fd to -1 when we close it in EvdevProc.Zephaniah E. Hull2006-07-11
| |
* | prune device list on DEVICE_CLOSEDaniel Stone2006-07-19
| | | | | | | | Remove a device from the device list when we get DEVICE_CLOSE.
* | remove XFree86LOADER usageDaniel Stone2006-07-09
|/ | | | Build evdevModuleData, et al, unconditionally.
* Tweak credits and references.Zephaniah E. Hull2006-05-14
| | | | | | | | | | | | | | | | | | Change the longs to unsigned longs in the bitfields. Cleanup our includes. Stop pulling in asm/types.h and asm/bitops.h. Conditionally define the stuff that used to come from the above, including our own test_bit, set_bit and clear_bit. Change the longs to unsigned longs in the bitfields. Change the longs to unsigned longs in the bitfields. Use the bitop defines in evdev.h properly. Change the longs to unsigned longs in the bitfields. Change the longs to unsigned longs in the bitfields. Use the bitop defines in evdev.h properly. Change the longs to unsigned longs in the bitfields. Use the bitop defines in evdev.h properly. Add HPPA/HPPA64 entries. (Thanks to Fabio M. Di Nitto <fabbione@ubuntu.com>)
* Remove a debugging message.Zephaniah E. Hull2006-04-09
| | | | | Actually, well, _work_. Note, abs support still segfaults, I'll debug it after I've slept. But I should get it tomorrow.
* Dropped the xorg-xserver 1.0.99.901 requirement. (Things were tweaked toZephaniah E. Hull2006-04-08
| | | | | | | | mostly work for older servers again.) Close the device properly on read errer. Minimal inotify support, not ideal yet, but... Minimal inotify support, not ideal yet, but... Minimal inotify support, not ideal yet, but...
* Remove evdev_abs.c and evdev_rel.c. Added evdev_axes.c.Zephaniah E. Hull2006-04-08
| | | | | | | | | | | | | | | | | | Change the calls to refer to EvdevAxes instead of Abs and Rel. Include mipointer.h. (Fixes a compile error.) Remove an unused variable from EvdevReadInput. Removed evdev_abs.c and evdev_rel.c, added evdev_axes.c. Added count to rel and abs. Moved btnMap from rel to the new axes. Shuffle some includes, and include stdarg.h. Removed. New, a mix of rel and abs that should actually work in the rel case. Rearrange include order. btnMap was moved from being part of rel to being part of axes. Removed. Rearrange include order. Rearrange include order. NOTE: This commit has been compile tested, not run tested. I have some other changes to make before I can do more heavy testing.
* Unlibcwrap. Bump server version requirement. Bump to 1.1.0.evdev-1_1_0Adam Jackson2006-04-07
|
* Better error reporting if the read fails.Zephaniah E. Hull2006-02-27
| | | | Work properly if we're defining entirely by capability maps.
* Compile with -Wall now. Add evdev.h to the sources so that make distcheckZephaniah E. Hull2006-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gets it. Bugzilla #5943 <https://bugs.freedesktop.org/show_bug.cgi=5943> Make sure we include errno.h. Reduce EVDEV_MAXBUTTONS to 96. Split up evdevStateRec into a struct with pointers to new structs for btn, abs, rel, and key. New structure type for handling the device capability bitmaps. Add device bits and struct input_id to evdevDeviceRec. Add matching device bits, struct input_id, and pass number to evdevDriverRec. Prototype for evdevGetBits from evdev_brain.c. Conversion for the evdevStateRec split. Remove the errno.h include, it's in evdev.h for now. Move the bit getting from the drivers to here, into evdevDeviceRec. Fix a rare case of fd leakage. Add several new (and somewhat ugly) device matching options: <map>Bits: Where map is one of ev, key, rel, abs, msc, led, snd, or ff. In the format of '+0 +3 -1-2 ~5-10', requires bits 0 and 3 be set, bits 1 and 2 to not be set, and at least one bit in the range of 5 to 10 be set. bustype, vendor, product, and version: Simple integer options for matching the struct device_id fields, must be 0 (the default) or the exact value you wish to match against. pass: Bounded to 0-3, devices are matched to the first matching entry found, order for multiple matching entries in the same pass is undefined, but it starts with pass 0 and goes to pass 3. Adaptation for the evdevStateRec split and the change in capability bitmap handling. Add evdevGetBits to fill the new evdevBitsRec struct type. Lots of somewhat ugly code for matching by capability bits. Split out of evdevRescanDevices to smaller handling functions. The new design should be better if I decide to handle arbitrary Device fields again. Adaptation for the evdevStateRec split and the change in capability bitmap handling. Handle all buttons, no button compression at this time, however we reorder things so that BTN_MOUSE comes before BTN_MISC, somewhat evily. Support for the new btn->state[] array of int pointers. Adaptation for the evdevStateRec split and the change in capability bitmap handling. Adaptation for the evdevStateRec split and the change in capability bitmap handling. I really hope I didn't miss any changes.
* include errno.h to make it compile.Lars Knoll2006-02-24
|
* Bugzilla #5696 <https://bugs.freedesktop.org/show_bug.cgi?id=5696> SlightlyZephaniah E. Hull2006-02-14
| | | | | | | updated version of the patch listed. Basicly a rewrite of the driver, with a few pieces of the old. XKB support, proper device matching, basic absolute pointer support. Lots more, will require some user config changes.
* Bug #3913: Suppress kernel-generated repeat events for chording keys.XORG-6_8_99_903XORG-6_8_99_902XORG-6_8_99_901Adam Jackson2005-09-23
|
* Yet more 2.4 build fixes, this time for BTN_TASK.XORG-6_8_99_900Adam Jackson2005-07-28
|
* Handle BTN_TASK too (#3859).Kristian Høgsberg2005-07-25
|
* Prep input drivers for modularizing by adding guarded #include "config.h"XORG-6_8_99_16XORG-6_8_99_15Adam Jackson2005-07-11
|
* Add some build compatibility for 2.6 linux systems with 2.4 kernel headersXORG-6_8_99_14Adam Jackson2005-07-03
| | | | installed. Allow the use of evdev for mice on 2.4 kernels.
* Bug #3626: _X_EXPORT tags for video and input drivers.XORG-6_8_99_13Adam Jackson2005-06-25
|
* Bug #968: Grab the event device used by the evdev driver to avoid weirdXORG-6_8_99_9XORG-6_8_99_8XORG-6_8_99_7XORG-6_8_99_12XORG-6_8_99_11XORG-6_8_99_10Adam Jackson2005-05-11
| | | | | issues when input goes to multiple places. Restrict building the evdev driver to 2.6 kernels since EVIOCGRAB didn't exist in 2.4.
* Handle horizontal wheel events and move mapping of extra buttons up so theysco_port_update-baseXORG-6_8_99_6XORG-6_8_99_5XORG-6_8_99_4XORG-6_8_99_3XORG-6_8_99_2XORG-6_8_99_1Kristian Høgsberg2005-01-18
| | | | don't overlap the wheel buttons. Patch from Alan Swanson (#968).
* Build fixes for static server.Adam Jackson2005-01-14
|
* Add new evdev input driver. This driver uses the linux input layer directlyKristian Høgsberg2005-01-12
and can handle both mice and keyboards. Convert this to UTF-8 again. The ChangeLog should be kept in UTF-8.