summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-25Four finger swipes in multitouchHEADmasterDaniel Landau3-0/+14
I think four finger swipes are useful, attached is a very simple patch enabling that. Signed-off-by: Daniel Landau <daniel.landau@helsinki.fi> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2011-03-03Makefile: make LIBDIR configurableHarald Hoyer1-1/+2
On Fedora /usr/lib64 is used for 64 bit architectures. [rydberg@euromail.se: removed extra slash] Signed-off-by: Harald Hoyer <harald@redhat.com> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2011-02-13Add missing thumb reset at state extractionDennis Jarosch1-0/+1
Fixes the bug that stopped tapped clicks from working when two thumbs were detected, by initializing the thumb variable for every new state. Signed-off-by: Dennis Jarosch <dennis.jarosch@gmx.de> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2011-02-13Fix event flood in tap handlingDennis Jarosch1-0/+1
Fixes the bug that flooded the X server with button events, by initializing the Gestures struct before handling taps. Signed-off-by: Dennis Jarosch <dennis.jarosch@gmx.de> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2011-02-13Support XINPUT 12Henrik Rydberg1-0/+33
The version 12 input ABI brings substantial changes to driver handling. This patch makes the driver compile and run under the upcoming X server 1.10. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-10-21xf86-input-multitouch v1.0-rc2Henrik Rydberg1-1/+1
2010-10-21Package as xf86-input-multitouchHenrik Rydberg10-36/+25
Refresh the debian packaging, changing name and version to match current project. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-10-16Increase vscroll speed by a factor of twoHenrik Rydberg1-1/+1
The default two-finger scroll is somewhat slow; double it. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-10-16Support palm detection for trackpads without width supportHenrik Rydberg1-3/+7
The Magic Trackpad does not report both touch and width of a finger, making thumb/palm detection less reliable. Approximate thumb detection as a large oval object, restoring some of the thumb functionality. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-10-16Turn tapping on by defaultHenrik Rydberg1-1/+1
The current lack of configuration possibilities makes it reasonable to turn tapping on by default, if nothing else for discoverability reasons. Turn turn off, just change the value in src/memory.c. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-10-16Do not grab by defaultHenrik Rydberg1-1/+1
Grabbing the device has some historic virtues, but to simplify experimentation with devices and multitouch data, turn the device grabbing of by default. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-10-16Adjust thumb detection based on kernel touch width alignmentHenrik Rydberg1-2/+2
Recently, a set of kernel drivers were updated to align the reported touch size with actual physical size. Consequently, the thumb detection, which contains an absolute size component, needs to be updated. Remedied with this patch. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-10-16Enable integrated button support for the Magic TrackpadHenrik Rydberg1-0/+4
The magic trackpad has an integrated button. This patch detects the integrated button which enables the special logic for those devices. Signed-off-by: Henrik Rydberg <rydberg@bitmath.org>
2010-10-12Remove usage of deprecated xalloc/xfreeHenrik Rydberg1-2/+2
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-10-12Remove credits now found in the mtdev libraryHenrik Rydberg1-30/+0
2010-10-12Use a non-blocking example instead of blockingHenrik Rydberg1-2/+2
The non-blocking example is more interesting in the X applications. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-10-12Improve error handling in mtouch open and closeHenrik Rydberg1-6/+17
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-10-12Only check delayed gestures when queue is emptyHenrik Rydberg1-1/+3
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-10-12Same version, but using the mtdev library.Henrik Rydberg24-1509/+58
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-21Simplify event readingHenrik Rydberg6-40/+44
This patch puts the reading code more in line with the upcoming mtdev library, and should remove some spurious input behavior. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-17Move tapping parameter to memory.cHenrik Rydberg2-5/+4
The tapping was not properly turned off by the parameter, resulting in spurious clicks when typing. This patch moves the tapping parameter logic to memory.c, which fixes the problem. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-17Make MT_ABS_SIZE available for all kernel versionsHenrik Rydberg1-1/+2
The code erroneously had MT_ABS_SIZE defined only for kernels before 2.6.36. Fixed with this patch. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16Multitouch 1.0-beta1Henrik Rydberg1-1/+1
2010-06-16Add tapping logicHenrik Rydberg10-0/+176
This patch adds tap-to-click, tap-and-hold for dragging, two-finger and three-finger taps. Turned on by default for touch screens only; switch on in gestures.c. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16Correct mtdev API namesHenrik Rydberg6-23/+23
The mtdev queue api functions had wrong names. This patch changes them to the familiar put and get. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16Increase stability against thumb and edge touchesHenrik Rydberg2-2/+2
Sliding a thumb along the upper edge of the pad results in spurious pointer motion. This patch increases the delays before moving close to the pad edges, and increase the relaxation time after a thumb detection, reducing the effect somewhat. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16Increase event buffer sizeHenrik Rydberg1-1/+1
The MT devices produce a lot of data. This patch increases the buffer size to a value empirically found working well for up to ten fingers. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16Control grabbing by parameterHenrik Rydberg1-6/+14
Add a parameter to control whether the underlying device should be grabbed or not. Default to yes. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16janitor: Simplify gesture handlingHenrik Rydberg1-5/+3
Use the bit traversal functions where possible. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16janitor: Simplify gesture tracingHenrik Rydberg1-35/+16
It is more convenient to print out the gesture at will than having trace commands all over the code. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16refactor: Replace hwdata by mtdevHenrik Rydberg15-386/+221
This patch makes the switch, from using hwdata and the associated type A parser, to using mtdev and the associated type B parser. A command-line gesture test program is included. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16refactor: Introduce mtdevHenrik Rydberg5-1/+597
With the addition of the kernel MT slots, the MT event protocol is capable of efficiently propagating changes to a set of tracked contacts. At the same time, the need to treat a variety of different kernel drivers is increased. This patch introduces the mtdev, an abstract MT device which converts all valid MT event formats into a uniform, slotted type B event stream. A command-line test program is included. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16refactor: Use the bitmask_t typeHenrik Rydberg6-8/+8
Use the bitmask_t for all bitfields, to simplify future expansions to larger bit fields. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16refactor: Simplify capabilitiesHenrik Rydberg7-93/+85
Use the generated abs2mt mapping to simplify the MT device capabilities. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16refactor: Generate code for ABS_MT mappingHenrik Rydberg4-0/+123
Use the kernel-provided list MT_SLOT_ABS_EVENTS to generate code mappings between ABS_MT space and MT space. This patch adds the program mapgen that does the mapping, and adds two include files generated with it. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-06-16refactor: Move filesHenrik Rydberg20-64/+127
Move all headers into include, separate source files into modules match, mtdev, src and driver, move some common definitions to common.h, and include define support for the MT slot protocol. This patch does not introduce any logical changes. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-17Allow ABI_XINPUT versions greater than 7Henrik Rydberg1-1/+1
The current code does not allow ABI_XINPUT versions above 7, although the relevant parts are still good. This patch makes all new versions behave as version 7, until proven otherwise. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14Add rotation gestureHenrik Rydberg4-6/+28
Moving two fingers around a center point will trigger the gesture. This patch computes the rotation gesture and maps it to mouse buttons 14 and 15. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14Add scale gestureHenrik Rydberg4-5/+49
Moving two fingers apart or closer together will trigger the gesture. This patch computes the scaling gesture and maps it to mouse buttons 12 and 13. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14Hold movement while clickingHenrik Rydberg1-1/+5
In particular for trackpads with integrated button, freezing the mouse movement while clicking is important for pointer precision. This patch holds the movement while clicking, obtaining the desired effect. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14Disable motion with resting thumbsHenrik Rydberg3-5/+20
Disable motion gestures whenever one of the pointing fingers is a thumb. Movement is skipped rather than held, minimizing unpredictable movement after thumb release. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14Add resting thumb detection to MTFingerHenrik Rydberg2-1/+27
Robust thumb detection is essential for more advanced gestures, thumbs being responsible for many false positives. One major feature of the thumb is that its shape is oval, regardless of applied pressure. An index finger pressed hard against the surface also turns oval, but the touch/width ratio then increases significantly. This suggests that it is possible to uniquely identify a resting thumb as a finger with oval shape and normal touch/with ratio. This patch adds detection of resting thumbs to the MTFinger structure. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14Refactor parsor memory usageHenrik Rydberg4-70/+112
Add the bitmasks "fingers" and "added" to parsor memory, and extend time handling to use a hold time and a forget time. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14janitor: Split gesture code into memory refresh and parseHenrik Rydberg4-135/+226
Split the gesture code into a lexical part, which updates the filtered motion state, and a parsing part, which translates the motion state to gestures. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14Add convenience methods for distance to capability center pointHenrik Rydberg3-0/+27
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14Introduce MTFinger structureHenrik Rydberg3-11/+27
Switch from the FingerData structure to the MTFinger structure, making room for more computed finger details in MTState. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14janitor: Move min/max and dist functions up to common.hHenrik Rydberg4-19/+24
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14Simplify bit bookkeepingHenrik Rydberg5-21/+43
In preparation of adding several additional finger bit registers, remove the redundant bit-counting variables and introduce fast bit-traversal functions instead. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-05-14Add a READMEHenrik Rydberg1-0/+8
The github likes readme files, so add a rudimentary one. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-04-19Increase touch/width signal-to-noise ratioHenrik Rydberg1-1/+1
The current signal-to-noise ratio for the touch size is much too low, making the pointer feel too insensitive. This patch increases the ratio from 15 to 100. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>