summaryrefslogtreecommitdiffstats
path: root/drivers/input/tablet/wacom_wac.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'next' into for-linusDmitry Torokhov2013-02-191-101/+91
|\ | | | | | | Prepare first set of updates for 3.9 merge window.
| * Input: wacom - add support for DTH-2242Ping Cheng2013-02-131-1/+24
| | | | | | | | | | | | | | It is a pen with 10 finger touch device. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: wacom - use new input-mt routinesPing Cheng2013-01-061-60/+22
| | | | | | | | | | | | | | | | | | This patch brings wacom driver in-sync with input-mt changes made in release 3.7. Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: wacom - prepare for syncing with input-mt changesPing Cheng2013-01-061-40/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Henrik added new MT routines in release 3.7. This patch is to prepare for the use of new MT routines. In the newly added wacom_abs_set_axis() function, the first if-statement assigns ABS_X/Y for number of contacts less or equal to 2. So, it is single and 2 finger touch devices. Two finger touch devices are processed here since they will not use the updated input_mt_init_slots(), which does not offer benefit to those devices. input_mt_init_slots() will take care of ABS_X/Y assignment when flags are not zero. All touch devices with more than two contacts will use input_mt_init_slots() with non-zero flags. The second if-statement is for all MT devices, which include two finger touch devices. Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* | Merge branch 'next' into for-linusDmitry Torokhov2012-12-161-6/+23
|\ \ | |/ | | | | Prepare first set of updates for 3.8 merge window.
| * Input: wacom - add support for a new MT device (0x4001)Ping Cheng2012-11-211-0/+4
| | | | | | | | | | | | | | It supports 10 fingers. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: wacom - simplify type check for newer V5 devicesPing Cheng2012-11-211-3/+1
| | | | | | | | | | | | | | The updated type enum enables this implementation. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: wacom - add support for 2 new multi-touch tablets (0x100 and 0x101)Ping Cheng2012-11-081-3/+18
| | | | | | | | | | | | | | This adds support for the two new multi-touch tablets. Signed-off-by: Ping Cheng <pinglinux@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* | Input: wacom - fix touch support for Bamboo Fun CTH-461Diego Calleja2012-12-031-1/+2
|/ | | | | | | | | | | | | | Commit f393ee2b814e3291c12565000210b3cf10aa5c1d forgot to add the touch_max property for Wacom Bamboo Fun CTH-461/S, ID 056a:00d2. This broke the touch functionality for that device. This patch, (done with help of Ping Cheng), adds the correct value and makes touch work again. Signed-off-by: Diego Calleja <diegocg@gmail.com> Reviewed-by: Ping Cheng <pinglinux@gmail.com> Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Merge tag 'v3.7-rc3' into for-linus to sync up with recent USB changesDmitry Torokhov2012-10-301-3/+85
|\
| * Input: wacom - add touch sensor support for Cintiq 24HD touchJason Gerecke2012-10-251-2/+83
| | | | | | | | | | | | | | | | | | Decode multitouch reports from the touch sensor of the Cintiq 24HD touch. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * Input: wacom - handle split-sensor devices with internal hubsJason Gerecke2012-10-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Like our other pen-and-touch products, the Cintiq 24HD touch needs data to be shared between its two sensors to facilitate proximity-based palm rejection. Unlike other tablets that report sensor data through separate interfaces of the same USB device, the Cintiq 24HD touch has separate USB devices that are connected to an internal USB hub. This patch makes it possible to designate the USB VID/PID of the other device so that the two may share data. To ensure we don't accidentally link to a sensor from a physically separate device (if several have been plugged in), we limit the search to siblings (i.e., devices directly connected to the same hub). Signed-off-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | Input: wacom - add INPUT_PROP_DIRECT flag to Cintiq 24HDJason Gerecke2012-10-251-0/+3
|/ | | | | Signed-off-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Merge branch 'next' into for-linusDmitry Torokhov2012-10-111-9/+27
|\ | | | | | | | | Prepare second set of updates for 3.7 merge window (Wacom driver update and patches extending number of input minors).
| * Input: wacom - allow any multi-input Intuos device to set proxJason Gerecke2012-10-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | The ability to set the proximity flag should apply to any device that has both pen and touch input. Rather than listing classes of devices known to meet this criteria, simply filter on the quirk defining all such devices. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Tested-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Input: wacom - report correct touch contact size for I5/BambooJason Gerecke2012-10-031-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes how the touch packets for Intuos5 and 3rd-gen Bamboo are interpreted, so that proper values for the MAJOR and MINOR axes are reported. Instead of using the amplitude field (data[6]), we use the size field (data[5]) and do some calculation to transform it from a scaled-down area into axis lengths. Note that even though we assume a circular contact, both MAJOR and MINOR are reported since the resolution of the X and Y axes differ. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
| * Merge branch 'for-next' of git://github.com/rydberg/linux into nextDmitry Torokhov2012-10-011-3/+3
| |\ | | | | | | | | | | | | | | | Merge Henrik's updates to multitouch code. Even though Jiri already pulled them in I need to do it too since my changes to evdev using dynamic major would clash with them.
| | * Input: MT - Add flags to input_mt_init_slots()Henrik Rydberg2012-09-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Preparing to move more repeated code into the mt core, add a flags argument to the input_mt_slots_init() function. Reviewed-and-tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Tested-by: Ping Cheng <pingc@wacom.com> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
| * | Input: wacom - add support for EMR on Cintiq 24HD touchJason Gerecke2012-09-041-1/+5
| |/ | | | | | | | | | | | | | | | | | | Adds support for the EMR digitizer on the Cintiq 24HD touch. The EMR digitizer should work identically to that found on the Cintiq 24HD. The touch digitizer is a separate USB device similar to how we split apart some other devices. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* | Input: wacom - mark Intuos5 pad as in-prox when touching buttonsJason Gerecke2012-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the ExpressKeys on the Intuos5 are touched, they currently result an out-of-prox packet being sent even if the pad is already out of prox. This can cause some confusion in the X driver. To restore the expected semantics, we make being touched a sufficient condition to signal proximity. https://bugs.freedesktop.org/show_bug.cgi?id=54250 Reported-by: Timo Aaltonen <tjaalton@ubuntu.com> Signed-off-by: Jason Gerecke <killertofu@gmail.com> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* | Input: wacom - add support for EMR on Cintiq 24HD touchJason Gerecke2012-08-211-1/+5
|/ | | | | | | | | | Adds support for the EMR digitizer on the Cintiq 24HD touch. The EMR digitizer should work identically to that found on the Cintiq 24HD. The touch digitizer is a separate USB device similar to how we split apart some other devices. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: wacom - add support to Cintiq 22HDPing Cheng2012-07-241-2/+19
| | | | | Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: wacom - TPC2FG doesn't store touch id for slotsPing Cheng2012-06-281-2/+4
| | | | | | | Signed-off-by: Ping Cheng <pingc@wacom.com> Tested-by: Rafi Rubin <rafi@seas.upenn.edu> Reviewed-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
* Input: wacom - Bamboo One 1024 pressure fixChris Bagwell2012-06-121-1/+1
| | | | | | | | | | | | | | | | | Bamboo One's with ID of 0x6a and 0x6b were added with correct indication of 1024 pressure levels but the Graphire packet routine was only looking at 9 bits. Increased to 10 bits. This bug caused these devices to roll over to zero pressure at half way mark. The other devices using this routine only support 256 or 512 range and look to fix unused bits at zero. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Reported-by: Tushant Mirchandani <tushantin@gmail.com> Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wacom - add two new devices (0xed and 0xef)Ping Cheng2012-06-121-1/+12
| | | | | | | | | 0xed supports pen and one finger touch; 0xef is pen only. Signed-off-by: Ping Cheng <pingc@wacom.com> Acked-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wacom - rearrange type enumPing Cheng2012-06-121-4/+2
| | | | | | | | | So we can simplify a few type related if statements Signed-off-by: Ping Cheng <pingc@wacom.com> Acked-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wacom - use dev_xxx() instead of naked printk()s and dbg()sDmitry Torokhov2012-05-021-10/+19
| | | | | Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wacom - add 0xE5 (MT device) supportPing Cheng2012-04-291-5/+94
| | | | | | | | | | | | | | | | | | | Main part of patch is adding support for a new Wacom MT touch packet and labels these devices using MTSCREEN type. Other items of interest: Delete some duplicate code in HID parsing for Y info since its already done in X path. In wacom_query_tablet_data(), only invoke the set report that requests tablets to send Wacom Touch packets for Finger interfaces. Mostly, this is to make code intent clear. Tested-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Input: wacom - retrieve maximum number of touch pointsPing Cheng2012-04-291-23/+36
| | | | | | | | | From the HID usage table when it is supported. Tested-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* Merge commit 'v3.4-rc4' into nextDmitry Torokhov2012-04-211-1/+1
|\
| * Merge branch 'next' into for-linusDmitry Torokhov2012-03-271-1/+48
| |\ | | | | | | | | | | | | Conflicts: drivers/input/tablet/wacom_sys.c
| * \ Merge branch 'next' into for-linusDmitry Torokhov2012-03-191-8/+20
| |\ \
| * | | Input: wacom - fix 3rd-gen Bamboo MT when 4+ fingers are in useJason Gerecke2012-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The message count field uses three bits of storage, not two. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Acked-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: wacom - add Intuos5 multitouch sensor supportJason Gerecke2012-04-041-5/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Intuos5 tablets with PTH-* model numbers include a multitouch sensor which use the same touch reports as the 3rd-generation Bamboo. No useful information is in the HID descriptor for the touch interface so hardcoded values are used during setup. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: wacom - add Intuos5 Touch Ring/ExpressKey supportJason Gerecke2012-04-041-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Intuos5 uses a new report type for Touch Ring and ExpressKey data. Note that data from the capacitive sensors present on the ExpressKeys will be ignored until a proper way is found to expose it. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | | Input: wacom - add basic Intuos5 supportJason Gerecke2012-04-041-3/+33
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the basic pen functions of Intuos5 tablets. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Ping Cheng <pingc@wacom.com> Tested-by: Timo Aaltonen <tjaalton@ubuntu.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - wireless battery statusChris Bagwell2012-03-251-1/+4
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Tested-by: Jason Gerecke <killertofu@gmail.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - create inputs when wireless connectChris Bagwell2012-03-251-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a tablet connect or disconnect is detected, schedule work queue to register or unregister related input devices. When a wireless tablet connects, it reports same USB PID used if tablet is connected with USB cable. Use this to update features values, set input capabilities, and then register device. From there, the Pen and Touch interfaces will reuse the existing tablet's IRQ routines. Its possible that 1 receiver is shared with 2 tablets with different PID (small and medium Bamboo for example) so the input is unregister at disconnect to better support this case. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Tested-by: Jason Gerecke <killertofu@gmail.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - wireless monitor frameworkChris Bagwell2012-03-251-1/+27
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 3rd gen Bamboo Pen & Touch and Intuos5 tablets support an optional wireless module. When its receiver is plugged into USB, it presents 3 interfaces: 0) Monitor 1) Pen and 2) Touch. The exact capabilities of the Pen and Touch interfaces can not be determined until a tablet connection is established and reported over the Monitor interface. This patch detects this wireless receiver and enables interrupt packets to be processed for the Monitor interface. Processing the data in packets will be left to another patch. Since it doesn't make sense to create an input device for the Monitor interface, it is not created. Creation of Pen and Touch input device is also delayed until monitor packets can be processed. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Tested-by: Jason Gerecke <killertofu@gmail.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge commit 'v3.3-rc6' into nextDmitry Torokhov2012-03-091-0/+4
|\ \ | |/
| * Merge branch 'next' into for-linusDmitry Torokhov2012-01-081-11/+176
| |\
| * | Input: wacom - add product id used by Samsung Slate 7Chris Bagwell2011-12-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | New product ID reported by Harvey Braun on linuxwacom mailing list and also tested this patch with new hardware. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pinglinux@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - use switch statement for wacom_tpc_irq()Ping Cheng2012-01-311-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | And add two new data formats. Tested-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | | Input: wacom - use BTN_TOOL_FINGER to indicate touch device typePing Cheng2012-01-311-2/+2
| |/ |/| | | | | | | | | | | Tested-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Input: wacom - add support for Cintiq 24HDJason Gerecke2011-12-121-1/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | Adds support for the Cintiq 24HD. There are two quirks about this model that haven't been seen in prior tablets. First, a second touch ring is present on this display; it is being exposed via the ABS_THROTTLE axis. Second, three capacitive buttons at the top of the unit are available; though physically a touch strip, we report the use of these buttons with generic KEY_ events. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
* | Merge commit 'v3.2-rc3' into nextDmitry Torokhov2011-11-291-15/+37
|\ \ | |/
| * Merge branch 'next' into for-linusDmitry Torokhov2011-10-261-21/+27
| |\
| * | Input: wacom - revert "Cintiq 21UX2 does not have menu strips"Jason Gerecke2011-10-041-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 71c86ce59791bcd67af937bbea719a508079d7c2. The 21UX2 does have touchstrips, but they are in a somewhat- hidden location. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Acked-by: Ping Cheng <pinglinux@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: wacom - fix touch parsing on newer BamboosChris Bagwell2011-09-121-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bamboos with Product ID's > 0xD4 return values unrelated to pressure in touch 1 pressure field. They also report 2nd touch X/Y values shifted down 1 byte (where pressure was). This results in jumpy 1 finger touch and totally invalid 2nd finger data. For touch detection, switch to a Touch Present single bit that all versions of Bamboo support. For touch 2 offset, calculate offset based on a bit that is set different between the two packet layouts. Since touch pressure reports were removed from driver, there was no need to be reading pressure any more. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Ping Cheng <pinglinux@gmail.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
| * | Input: wacom - add POINTER and DIRECT device propertiesJason Gerecke2011-09-081-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds INPUT_PROP_POINTER or INPUT_PROP_DIRECT as necessary to the hardware supported by the Wacom driver. The DIRECT property is assigned to devices with an embedded screen (i.e. touchscreens and display tablets). The POINTER property is assigned to those without embedded screens. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
OpenPOWER on IntegriCloud