summaryrefslogtreecommitdiff
path: root/drivers/input/tablet/wacom_wac.c
AgeCommit message (Collapse)Author
2011-12-12Input: wacom - add product id used by Samsung Slate 7Chris Bagwell
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>
2011-10-26Merge branch 'next' into for-linusDmitry Torokhov
2011-10-10Input: wacom - correct max Y value on medium bamboosChris Bagwell
Medium size Bamboo P&T driver reused max X/Y form older Bamboo 1 medium size tablets and never updated to real value. Actual active area of tablet is slightly larger in Y direction. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-10-10Input: wacom - add ABS_DISTANCE to Bamboo Pen reportsChris Bagwell
Tablet reports a distance of 0 right at highest point possible to be in proximity and distance_max when touching tablet. Inverse the distance since user land has no way of knowing ABS_DISTANCE is not distance from tablet. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-10-10Input: wacom - remove unneeded touch pressure initializationChris Bagwell
These were left in during removal of touch pressure reports but not needed now. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-10-04Input: wacom - revert "Cintiq 21UX2 does not have menu strips"Jason Gerecke
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>
2011-09-12Input: wacom - fix touch parsing on newer BamboosChris Bagwell
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>
2011-09-08Input: wacom - add POINTER and DIRECT device propertiesJason Gerecke
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>
2011-08-26Input: wacom - advertise BTN_TOOL_PEN and BTN_STYLUS for PenPartnerJason Gerecke
The Wacom PenPartner should advertise its stylus tip and button in addition to the eraser tool. These are both physically present on the hardware, and emitted from 'wacom_penpartner_irq'. Signed-off-by: Jason Gerecke <killertofu@gmail.com> Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-08-26Input: wacom - remove pressure for touch devicesPing Cheng
Touch devices do not report valid pressure or capacitance. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-08-16Input: wacom - add support for the Wacom Bamboo Pen (CTL-660/K)Gerard Braad
Signed-off-by: Gerard Braad <me@gbraad.nl> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-07-06Input: wacom - cleanup a return value for the old BambooPing Cheng
The old code may call input_sync() without sending any other events. While it will be suppressed by the input core not calling it at all is still cheaper. Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-07-06Input: wacom - update Graphire4 and old Bamboo tablet buttonsPing Cheng
Bamboo touch sets BTN_BACK, BTN_FORWARD, BTN_LEFT, and BTN_RIGHT as the default button events for tablet buttons. Change Graphire4 and old Bamboo to the same settings. Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-07-06Input: wacom - add serial number for Graphire4 and old BambooPing Cheng
With the removal of BTN_TOOL_FINGER for tablet buttons and expresskeys, serial number is needed to distingush if the events were from a regular tool (stylus, eraser, or mouse) or the attribures (buttons, strips, or wheels) on the tablet since there are overlapped events between the tools and the tablet attributes. Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-07-06Input: wacom - remove BTN_TOOL_FINGER for padPing Cheng
BTN_TOOL_FINGER was designed to indicate a single finger touch. Remove the lines that borrowed this type for expresskeys and tablet buttons. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-06-27Input: wacom - add 3 new models - 6A, 6B, and 97Ping Cheng
Tested-by: Alex Tervoort <alex.tervoort@gmail.com> for 6A Signed-off-by: David Foley <favux.is@gmail.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-06-27Input: wacom - Wacom Bamboo Pen D4 has 1024 pressure levelsPing Cheng
D4 has 1024, not 512, pressure levels. Reported-by: David Foley <favux.is@gmail.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-06-22Input: wacom - use only one interface with DTU-2231Aristeu Rozanski
The Wacom DTU-2231 tablet has two interfaces on its default configuration and both have HID class, leading to the creation of two input devices instead of one. Only the first one is used, so filter out the second. Signed-off-by: Aristeu Rozanski <aris@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-06-22Input: wacom - Cintiq 21UX2 does not have menu stripsPing Cheng
So don't set ABS_RX/ABS_RY for them. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-03-31Input: wacom - add support for Lenovo tablet ID (0xE6)Manoj Iyer
Signed-off-by: Manoj Iyer <manoj.iyer@canonical.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-03-26Input: wacom - report resolution for pen devicesPing Cheng
Touch resolution is reported to the userland by retrieving the value from the HID descriptor. But pen resolution is not since it can not be retrieved. The current Wacom X driver has a resolution table. To centralize the source of these values, the resolution entries are added in the wacom_features struct for x and y coordinates respectively. The values are then reported to the userland. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-03-26Input: wacom - constify wacom_features for a new missed Bamboo modelsPing Cheng
Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-03-12Input: wacom - support 2FGT in MT formatPing Cheng
Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-03-12Input: wacom - support one finger touch the touchscreen wayPing Cheng
There are two types of 1FGT devices supported in wacom_wac.c. Changing them to follow the existing touchscreen format, i.e., only report BTN_TOUCH as a valid tool type. Touch data will be ignored if pen is in proximity. This requires a touch up event sent if touch was down when pen comes in. The touch up event should be sent before any pen events are emitted. Otherwise, two pointers would race for the cursor. However, we can not send a touch up inside wacom_tpc_pen since pen and touch are on different logical port. That is why we have to check if touch is up before sending pen events. Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-03-12Input: wacom - process pen data in its own routinePing Cheng
So it would be easier for patch reviewers to follow the data path. Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Reviewed-by: Chris Bagwell <chris@cnpbagwell.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-03-12Input: wacom - do not send 2FGT Tablet PC events in TAP formatPing Cheng
2FGT Tablet PC touch events were processed in _TAP_ format. Remove them so we can change to _MT_ format. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-01-25Input: wacom - pass touch resolution to clients through input_absinfoPing Cheng
Also remove fake ABS_RX/ABS_RY "axes" that were used to report physical dimensions now that we have better way. Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Henrik Rydberg <rydberg@euromail.se> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-01-24Input: wacom - add 2 Bamboo Pen and touch modelsPing Cheng
Reported-by: David Foley <favux.is@gmail.com> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2011-01-06Merge branch 'next' into for-linusDmitry Torokhov
Conflicts: include/linux/input.h
2010-12-23Input: wacom - add support for digitizer in Lenovo W700Ajay Ramaswamy
Signed-off-by: Ajay Ramaswamy <ajay@ramaswamy.net> Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-12-16input: mt: Move tracking and pointer emulation to input-mtHenrik Rydberg
The drivers using the type B protocol all report tracking information the same way. The contact id is semantically equivalent to ABS_MT_SLOT, and the handling of ABS_MT_TRACKING_ID only complicates the driver. The situation can be improved upon by providing a common pointer emulation code, thereby removing the need for the tracking id in the driver. This patch moves all tracking event handling over to the input core, simplifying both the existing drivers and the ones currently in preparation. Acked-by: Ping Cheng <pingc@wacom.com> Acked-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-12-16input: mt: Collect slots initialization codeHenrik Rydberg
The MT slots devices all follow the same initialization pattern of creating slots and hinting about buffer size. Let drivers call an initialization function instead, and make sure it can be called repeatedly without side effects. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-12-16input: mt: Break out slots handlingHenrik Rydberg
In preparation for common code to handle a larger set of MT slots devices, move the slots handling over to a separate file. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
2010-12-10Input: wacom - add another Bamboo Pen ID (0xd4)Kevin Granade
Add the features struct and device table entry to enable yet another version of Wacom Bamboo Pen (CTL460, Product ID 0xD4). Signed-off-by: Kevin Granade <kevin.granade@gmail.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-12-07Input: wacom - add new Bamboo PT (0xdb)David Foley
Adds new Bamboo Pen & Touch model - Bamboo P & T Special Edition Medium (CTH661/L; Product ID = 0xdb). Tested-by: Tobias Verbeke <tobias.verbeke@gmail.com> Signed-off-by: David Foley <favux.is@gmail.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-11-30Input: wacom - add IDs for two new Bamboo PTsDavid Foley
Add two new Bamboo Pen & Touch models: Bamboo Comic Medium (CTH661/S1; Product ID = 0xd8) Bamboo P & T Special Edition Small (CTH461/L; Product ID = 0xdA) Tested-by: IRIE Shinsuke <irieshinsuke@yahoo.co.jp> Tested-by: Andrea Cadeddu <mrernia@gmail.com> Signed-off-by: David Foley <favux.is@gmail.com> Reviewed-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-10-24Input: wacom - specify Cinitq supported toolsPing Cheng
Cintiq, being a display tablet, doesn't have mouse and associated BTN_s. Make sure we do not specify them when registering Cintiq's input device so that userland can retrieve the exact tool set the device supports. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-10-17Merge branch 'for-linus' into nextDmitry Torokhov
2010-10-10Input: wacom - fix pressure in Cintiq 21UX2Aristeu Rozanski
Currently the pressure range in Cintiq 21UX2 is limited to half of the supported. This patch fixes the problem. Signed-off-by: Aristeu Rozanski <aris@redhat.com> Acked-by: Ping Cheng <pingc@wacom.com> CC: stable@kernel.org Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-12Input: wacom - disable Bamboo touchpad when pen is being usedChris Bagwell
Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-12Input: wacom - add support for Bamboo PenChris Bagwell
This adds support for Pen on Bamboo Pen and Bamboo Pen&Touch devices. Touchpad is handled by previous Bamboo Touch logic. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-12Input: wacom - move Bamboo Touch irq to its own functionChris Bagwell
This is in preparation of pen support in same irq handler. Signed-off-by: Chris Bagwell <chris@cnpbagwell.com> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-05Input: wacom - add a quirk for low resolution Bamboo devicesHenrik Rydberg
The Bamboo Touch reports a sub-screen resolution of 480x320. The signal-to-noise ratio is only about 100, so filtering is needed in order to reduce the jitter to a usable level. However, the low resolution leads to round-off errors in the EWMA filter, resulting in extremely jerky pointer motion. This patch explicitly sets a higher resolution for those devices, and tells this to the completion handler via a low-resolution quirk. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-05Input: wacom - add support for the Bamboo Touch trackpadHenrik Rydberg
Add support for the Bamboo Touch trackpad, and make it work with both the Synaptics X Driver and the Multitouch X Driver. The device uses MT slots internally, so the choice of protocol is a given. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-05Input: wacom - collect device quirks into single functionHenrik Rydberg
Collect device-specific code into a single function, and use quirks to flag specific behavior instead. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-09-05Input: wacom - add fuzz parameters to featuresHenrik Rydberg
The signal-to-noise ratio varies between devices, but currently all devices are treated the same way. Add fuzz parameters to the feature struct, allowing for tailored treatment of devices. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-08-28Input: wacom - fix mousewheel handling for old wacom tabletsMike Auty
This fixes a regression introduced in 3b57ca0f80c5c8994b5b1e3d3f904cfe727951f2. The data[6] byte contains either 1 or -1 depending on the whether the mouse wheel on older wacom tablets is moved down (1) or up (-1). The patch introduced in the above commit changed the cast from (signed char) to (signed). When cast as a signed integer and negated, the value of -1 (stored in the byte as 0xff) became -255 rather than 1. This patch reverts the cast to a (signed char) and also removes an unnecessary (signed) cast, as all the values operated on are bitmasked. Signed-off-by: Mike Auty <ikelos@gentoo.org> Reviewed-by: Ping Cheng <pingc@wacom.com> Cc; stable@kernel.org Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-08-10Merge branch 'next' into for-linusDmitry Torokhov
2010-08-02Input: switch to input_abs_*() access functionsDaniel Mack
Change all call sites in drivers/input to not access the ABS axis information directly anymore. Make them use the access helpers instead. Also use input_set_abs_params() when possible. Did some code refactoring as I was on it. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-08-02Merge branch 'next' into for-linusDmitry Torokhov