summaryrefslogtreecommitdiff
path: root/src/emuWheel.c
AgeCommit message (Collapse)Author
2010-05-28Remove libc wrappers for malloc, calloc and free.Peter Hutterer
Evdev is Linux-only, and we've had the above calls for quite a while now. Plus, now that the server has removed them they generate _a lot_ of warnings otherwise. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jamey Sharp <jamey@minilop.net>
2010-04-29config: remove AH_TOP autoheader statement.Peter Hutterer
Include it in evdev.h instead. xorg-server.h is required to define the right datatype sizes on 64 bit, hence ensure that evdev.h is the first included in each file. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Gaetan Nadon <memsize@videotron.ca>
2010-04-20evdev: leaked_storage: free memory allocated from the xf86Option code.Oliver McFadden
Signed-off-by: Oliver McFadden <oliver.mcfadden@nokia.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-12-08allow wheel emulation to work with absolute-position devicesDima Kogan
Signed-off-by: Dima Kogan <dkogan@cds.caltech.edu> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-09-23emuWheel: fix signed/unsigned screwupPeter Hutterer
This patch fixes wheel emulation on buttons other than 0. Reported-by: Andy Neitzke Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-08-18Allow 0 as wheel emulation button for unconditional scrolling (#20529)Dima Kogan
If wheel emulation is on and the emulation button is 0, then any x/y motion of the device is converted into wheel events. The devices becomes a scrolling-only device. Signed-off-by: Dima Kogan <dkogan@cds.caltech.edu> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-08-18Restrict wheel emulation to a single axis at a time.Peter Hutterer
Wheel emulation works for both horizontal and vertical axes. Thus, if a device doesn't move in perfect straight line, scroll events build up on the respective other axis. In some clients, scroll wheel events have specific meanings other than scrolling (e.g. mplayer). In these clients, erroneous scrolling events come at a high cost. Thus, if a scroll wheel event is generated for one axis, reset the inertia of the other axis to 0, avoiding the buildup of these erroneous scrolling events. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-08-13Rename parts of the Post API to a Queue API.Peter Hutterer
Button and key events aren't posted from EvdevPost*Event, they are simply enqueued onto the evdev-internal event queue until the next EV_SYN arrives. Rename those interfaces from EvdevPost* to EvdevQueue* and leave only those that actually post to the server with a matching "*Post*" name. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Oliver McFadden <oliver.mcfadden@nokia.com>
2009-08-04evdev: Use the EvdevPost...Event() functions in the emulation code.Oliver McFadden
This is similar to commit 1f641d75edba7394201c1c53938215bae696791b. It provides the same functionality of queuing the (in this case emulated) events and waiting until an EV_SYN synchronization event is received before posting them to the server. This preserves the order of events (both real and emulated) and ensures that MotionNotify events will always be posted first. It also unifies the event posting into a few small functions which improves maintainability. From this point on, you should never use the xf86Post...Event() functions in new code, but rather the EvdevPost...Event() versions. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-07-17Coverity Prevent: NO_EFFECT in EvdevWheelEmuSetProperty:Oliver McFadden
Event unsigned_compare: Comparing unsigned less than zero is never true. "pEvdev->emulateWheel.timeout < 0UL" 342 if (pEvdev->emulateWheel.timeout < 0) Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-05-21Rename pEvdev->buttons to pEvdev->num_buttons for clarity.Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-02Janitor: make distcheck, .gitignore.Paulo Cesar Pereira de Andrade
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.
2009-02-02Protect against zero-sized property values. #19882Peter Hutterer
X.Org Bug 19882 <http://bugs.freedesktop.org/show_bug.cgi?id=19882> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2008-10-148-bit properties should use 8-bit storage types...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-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-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-11Stricter value checking for property changes.Peter Hutterer
2008-09-30Cleanup: "valid_vals" should be "vals" now.Peter Hutterer
2008-09-30Add evdev-properties.h file with #defines for all property names.Peter Hutterer
2008-09-26Use new property API (no ConfigureDP, less args to ChangeDP)Peter Hutterer
Return appropriate status codes from property handlers. Make properties non-deletable.
2008-09-04Use HAVE_PROPERTIES define instead of GET_ABI_MAJOR for property compilation.Peter Hutterer
2008-09-04Shut up "unused variable" compiler warnings.Peter Hutterer
Hide properties behind ifdefs, fake use of "val".
2008-08-25Wheel emulation: initial values must be char.Peter Hutterer
parsing int* to char* in XIChangeDeviceProperty means we lose values.
2008-08-22Init all emulateWheel values, even if EmulateWheel is disabled.Peter Hutterer
Even if we don't want EmulateWheel, we can at least init everything to usable values. This way we only need to toggle "enabled", rather than initialising the whole lot before usage.
2008-08-22Add wheel timeout property supportDan Nicholson
Copied from the wheel inertia property support. Signed-off-by: Dan Nicholson <dbn.lists@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-08-22Add timeout support for mouse wheel emulationDan Nicholson
Support the EmulateWheelTimeout option as the mouse driver does. Signed-off-by: Dan Nicholson <dbn.lists@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-08-08Simplify the property handler registration.Peter Hutterer
Instead of having separate handlers for each property, just handle all of them in one handler for emuMB, and one handler for emuWheel.
2008-08-08Add EVDEV_MAXBUTTONS instead of checking against 32.Peter Hutterer
Numbers are so lame, defines are all the rage now I've heard.
2008-08-08Expose wheel emulation through device properties.Peter Hutterer
Don't enable wheel emulation with 0 inertia - bad things happen.
2008-08-07Adding mouse wheel emulation code.Chris Salch
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>