summaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-multitouch.c
Commit message (Collapse)AuthorAgeFilesLines
* Revert "HID: multitouch: decide if hid-multitouch needs to handle mt devices"Henrik Rydberg2011-11-011-43/+4
| | | | | | | | | | | | | | | | This reverts commit 0db3bfc72adf0c (""HID: multitouch: decide if hid-multitouch needs to handle mt devices"). The generic detection of hid-mt devices has two major flaws, and was merged prematurely. Firstly, the hid-multitouch gets loaded even when the device is handled by a special device. Secondly, the patch only partially duplicates the device whitelist already present in hid-core, effectively rendering a number of devices non-functional. Reported-by: Sean Young <sean@mess.org> Tested-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: multitouch: decide if hid-multitouch needs to handle mt devicesBenjamin Tissoires2011-09-261-4/+43
| | | | | | | | | | | | Now that hid-generic ignores all win7 compatible multitouch devices, this patch allows hid-multitouch to catch them. The idea is to rely on the quirk HID_QUIRK_MULTITOUCH to drop the device if no ContactID is given. There is the need for a blacklist here as other devices may need a special driver (ntrig for instance). Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: add support for the IDEACOM 6650 chipStephane Chatty2011-09-201-10/+21
| | | | | | | | | | | | The IDEACOM 6650 multitouch chip, present in various all-in-one computers, uses the serial version of the HID multitouch protocol. No existing class supports this. In principle, the new MT_CLS_SERIAL should work for other serial panels as well, perhaps including some eGalax panels. Signed-off-by: Stephane Chatty <chatty@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: Add LG Display Multitouch device.Jeff Brown2011-08-161-0/+5
| | | | | | | | This panel is also known as the Dell ST2220Tc. Signed-off-by: jeffbrown@android.com Reviewed-By: Benjamin Tissoires <Benjamin_Tissoires@logitech.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: Filter collections by application usage.Jeff Brown2011-08-161-0/+10
| | | | | | | | | | | | | | | | This change fixes two problems. First, it ensures that the hid-multitouch driver does not incorrectly map GenericDesktop usages that are intended for other applications, such as a Mouse. Second, it sets the appropriate input properties so that user-space can distinguish TouchScreen devices (INPUT_PROP_DIRECT) from TouchPad devices (INPUT_PROP_POINTER) and configure them accordingly. Signed-off-by: jeffbrown@android.com Acked-By: Benjamin Tissoires <Benjamin_Tissoires@logitech.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
*-. Merge branches 'roccat', 'upstream' and 'wiimote' into for-linusJiri Kosina2011-07-221-23/+55
|\ \
| | * HID: hid-multitouch: add support for a new Lumio dual-touch panelBenjamin Tissoires2011-06-241-0/+3
| | | | | | | | | | | | | | | Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| | * HID: hid-multitouch: correct VID for Stantum panelsBenjamin Tissoires2011-06-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | while merging hid-stantum into hid-multitouch, I did not correctly copy/paste the VIDs for those devices. This patch fixes it. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| | * HID: hid-multitouch: ensure slots are initializedBenjamin Tissoires2011-06-241-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case a device does not provide the feature "Maximum Contact Count", or set it at 0, the maxcontacts field may be at 0 while calling input_mt_init_slots. This patch ensures that hid-multitouch will allways report ABS_MT_SLOT and ABS_MT_TRACKING_ID to the user space. This corrects a bug found with some Ilitek devices that has been integrated in 3.0-rc0. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| | * HID: hid-multitouch: fix broken eGalaxBenjamin Tissoires2011-06-121-18/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the inclusion of eGalax devices in 2.6.39, I've got some bug reports for 480d and other devices. The problem lies in the reports descriptors: eGalax supports both pen and fingers, and so the reports descriptors contained both. But hid-multitouch relies on them to detect the last item in each field to send the multitouch events. In 480d, the last item is not Y as it should but Pressure. That means that the fields are not aligned and X,Y are at 0,0 (the other touch coordinates of the report). With this patch, the detection is made only when the field ContactID has been detected inside the collection. There is still a problem with the detections of the range as stylus and fingers may not have the same min/max, but it's a start. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| | * HID: hid-multitouch: add support for Chunghwa multi-touch panelAustin Zhang2011-06-071-0/+5
| |/ |/| | | | | | | | | | | | | Added Chunghwa hid multitouch panel support into hid-multitouch. Signed-off-by: Austin Zhang <zhang.austin@gmail.com> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: hid-multitouch: add one new multitouch device's VID/PIDice chien2011-07-211-0/+4
|/ | | | | | | This patch adds support for the CSR panel built by XAT. Signed-off-by: Ice Chien <ice.chien@accupoint.com.tw> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: cosmetic changes, sort classes and devicesBenjamin Tissoires2011-05-231-43/+50
| | | | | | | | | | | | This patch sorts the defs for the MT_CLS. I choose to split generic classes and device specific ones to be able to add more generic classes in the future. It also put eGalax devices at their right place (alphabetically) in mt_devices. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: class MT_CLS_STANTUM is redundant with MT_CLS_CONFIDENCEBenjamin Tissoires2011-05-201-6/+3
| | | | | | | | | Stantum devices used to work with MT_CLS_STANTUM but MT_CLS_CONFIDENCE is exactly the same. This patch switches them to this generic class, and remove the unused MT_CLS_STANTUM. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: add support for Unitec panelsBenjamin Tissoires2011-05-201-0/+8
| | | | | | | | | This patch introduce support for Unitec panels. This device has not been optimized in term of kernel processing operations (default class), but it will work. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: add support for Touch International panelsBenjamin Tissoires2011-05-201-0/+5
| | | | | | | | | This patch introduce support for Touch International panels. This device has not been optimized in term of kernel processing operations (default class), but it will work. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: add support for GoodTouch panelsBenjamin Tissoires2011-05-201-0/+5
| | | | | | | | | This patch introduce support for GoodTouch panels. This device has not been optimized in term of kernel processing operations (default class), but it will work. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: add support for CVTouch panelsBenjamin Tissoires2011-05-201-0/+5
| | | | | | | | | This patch introduce support for CVTouch panels. This device has not been optimized in term of kernel processing operations (default class), but it will work. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: add support for ActionStar panelsBenjamin Tissoires2011-05-201-0/+5
| | | | | | | | | This patch introduce support for ActionStar panels. This device has not been optimized in term of kernel processing operations (default class), but it will work. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: add support for Elo TouchSystems 2515 IntelliTouch PlusBenjamin Tissoires2011-05-191-0/+10
| | | | | | | | | This patch adds support for Elo TouchSystems 2515 IntelliTouch Plus that can be found in Lenovo A700 all-in-one. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Tested-by: Bastien Nocera <hadess@hadess.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: Add support for Lumio panelsBenjamin Tissoires2011-05-181-0/+5
| | | | | | | This patch enables support for Lumio optical devices. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: add support for Ilitek dual-touch panelAustin Zhang2011-05-091-0/+5
| | | | | | | | Added ILITEK hid dual touch panel support into hid-multitouch. Signed-off-by: Austin Zhang <zhang.austin@gmail.com> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: merge hid-mosart into hid-multitouchBenjamin Tissoires2011-04-221-1/+19
| | | | | | | | | | | This patch include MosArt devices into hid-multitouch. MosArt devices now support mt-protocol B. We also need to introduce a new quirk for mosart devices to support their contactID. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: add support for PenMount dual-touch panelJohn Sung2011-04-221-0/+8
| | | | | | | | | | | | This patch adds PenMount support to hid-multitouch. A new class MT_CLS_CONFIDENCE is defined for PenMount, since it uses HID_DG_CONFIDENCE as the valid flag. Signed-off-by: John Sung <penmount.touch@gmail.com> [benjamin.tissoires@enac.fr: rebased on top of last_index_field changes] Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: refactor last_field_indexBenjamin Tissoires2011-04-221-12/+11
| | | | | | | | | | | | | | | | | | | | | | the current implementation requires the devices to report HID_DG_CONTACTCOUNT to set the last_field_index value. However, devices reporting in serial mode (DWAV and PenMount) do not send this field. Other devices (3M) add other fields in the reports descriptor that are not multitouch related at the end, thus the need to add a special case in the default case when handling events. A first work around has been set up but with PenMount devices, we have reached the limit. The idea is to calculate the last_field_index by relying only on multitouch fields the device send. This allows us to remove the handling of non-multitouch events in hid-multitouch, and guarantee that the function mt_emit_event is always called. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Reviewed-and-tested-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: migrate 3M PCT touch screens to hid-multitouchBenjamin Tissoires2011-03-241-2/+45
| | | | | | | | | | | | | | | | | This patch merges the hid-3m-pct driver into hid-multitouch. To keep devices working the same way they used to with hid-3m-pct, we need to add two signal/noise ratios for width and height. We also need to work on width/height to send proper ABS_MT_ORIENTATION flag. Importing 3M into hid-multitouch also solved the bug in which devices handling width and height in their report descriptors did not show ABS_MT_TOUCH_MAJOR and ABS_MT_TOUCH_MINOR. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Reviewed-by: Stéphane Chatty <chatty@enac.fr> Reviewed-and-tested-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: refactor initialization of ABS_MT_ORIENTATIONBenjamin Tissoires2011-03-211-3/+2
| | | | | | | | | | The way the input_set_abs_params was called for the new composite field ABS_MT_ORIENTATION was not very clear at second reading. We can remove the non-necessary call to set_abs and use the simple call to input_set_abs_params. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Reviewed-by: Stéphane Chatty <chatty@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: migrate Cando dual touch panels to hid-multitouchBenjamin Tissoires2011-03-211-0/+14
| | | | | | | | | This patch merges hid-cando into the unified multitouch driver. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Reviewed-by: Stéphane Chatty <chatty@enac.fr> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: migrate support for Stantum panels to the unified driver.Benjamin Tissoires2011-03-211-0/+15
| | | | | | | | | This patch merges hid-stantum to the generic multitouch driver. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Reviewed-by: Stéphane Chatty <chatty@enac.fr> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: Auto detection of maxcontactsBenjamin Tissoires2011-03-211-15/+37
| | | | | | | | | | | | This patch enables support of autodetection of maxcontacts. When adding support for a new device, one is now able to let the device tell how many contacts it supports, or to manually set the value if the device happens to provide wrong information. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Reviewed-by: Stéphane Chatty <chatty@enac.fr> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
*-. Merge branches 'dragonrise', 'hidraw-feature', 'multitouch', 'ntrig', ↵Jiri Kosina2011-03-171-12/+64
|\ \ | | | | | | | | | 'roccat', 'upstream' and 'upstream-fixes' into for-linus
| | * HID: Do not create input devices for feature reportsHenrik Rydberg2011-03-011-1/+1
| |/ |/| | | | | | | | | | | | | | | | | | | | | When the multi input quirk is set, there is a new input device created for every feature report. Since the idea is to present features per hid device, not per input device, revert back to the original report loop and change the feature_mapping() callback to not take the input device as argument. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Tested-by: Benjamin Tissoires <benjmain.tissoires@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: merge hid-egalax into hid-multitouchRichard Nauber2011-03-141-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch merges the hid-egalax driver into hid-multitouch. There are two types of devices support by the hid-egalax driver: resistive and capacitive. Here, they are implicitly distinguished by the absence of a HID_DG_CONTACTCOUNT field in the latter, so no special code path needs to be introduced. As a side effect, this patch fixes the broken suspend/resume behavior in the old driver. [rydberg@euromail.se: minor fixups] Signed-off-by: Richard Nauber <Richard.Nauber@gmail.com> Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: hid-multitouch: Send events per slot if CONTACTCOUNT is missingHenrik Rydberg2011-03-141-1/+4
| | | | | | | | | | | | | | | | | | | | The recent capacitive DWAV firmwares do not use the CONTACTCOUNT field, and the touch frame boundary can therefore not be determined. This patch makes the driver report the touch frame at each completed slot instead. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: hid-multitouch: introduce IrTouch Infrared USB deviceBenjamin Tissoires2011-01-311-0/+5
| | | | | | | | | | | | | | | | | | This patch adds support for IrTouch 42 inches. Tested-by: Victor Zhuk <v.zhuk@acs-ltd.ru> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: hid-multitouch: add Benjamin Tissoires as module_authorBenjamin Tissoires2011-01-311-0/+1
| | | | | | | | | | Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: hid-multitouch: Rename MT_CLS_DUAL1 and MT_CLS_DUAL2Benjamin Tissoires2011-01-311-9/+9
| | | | | | | | | | | | | | | | | | | | This patch renames MT_CLS_DUAL1 to MT_CLS_DUAL_INRANGE_CONTACTID and MT_CLS_DUAL2 to MT_CLS_DUAL_INRANGE_CONTACTNUMBER for better readability. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
| * HID: hid-multitouch: change default mt_classBenjamin Tissoires2011-01-311-1/+1
|/ | | | | | | | | | | | The safest quirk for a device (the one that works out of the box for most of them) is MT_QUIRK_NOT_SEEN_MEANS_UP. Indeed, it does not make any assumption on the device. When adding a new device, we can easily test it against MT_CLS_DEFAULT, and then optimize it with other quirks: that's why no device use MT_CLS_DEFAULT right now. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: minor fixes based on additional reviewBenjamin Tissoires2011-01-111-57/+70
| | | | | | | | | | | | | | | * amended Kconfig (PixCir and Hanvon are the same panel but with different name) * insert field name in mt_class and retrieving it in mt_probe * add 2 quirks: MT_QUIRK_VALID_IS_INRANGE, MT_QUIRK_VALID_IS_CONFIDENCE, in order to find the field "valid" * inlined slot_is_contactid and slot_is_contact_number * cosmetics changes (tabs and comments) * do not send unnecessary properties once the touch is up Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Acked-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-mulitouch: add support for the 'Sensing Win7-TwoFinger'Benjamin Tissoires2011-01-111-1/+17
| | | | | | | | | | | Added support for the 'Sensing Win7-TwoFinger' panel by GeneralTouch found on some tablets. Because of conflicting VID/PID, this conflicts with previous support for some single-touch panels by GeneralTouch Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Stéphane Chatty <chatty@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: add support for Cypress TrueTouch panelsBenjamin Tissoires2011-01-111-0/+19
| | | | | | | | Added support for Cypress TrueTouch panels, which detect up to 10 fingers Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Stéphane Chatty <chatty@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* HID: hid-multitouch: support for PixCir-based panelsBenjamin Tissoires2011-01-111-0/+468
Created a driver for PixCir based dual-touch panels, including the one in the Hanvon tablet. This is done in a code structure aimed at unifying support for several existing HID multitouch panels. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Stéphane Chatty <chatty@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
OpenPOWER on IntegriCloud