summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* HACK: Define 'input_option_new' for Ubuntu 12.04 'frankenserver'hack/fix_ubuntu_1204Jason Gerecke2013-12-091-2/+0
| | | | | | | | | | | The 'frankenserver' X server that ships with Ubuntu 12.04 doesn't actually implement the input_option_new function, despite what its version number would imply. With the symbol missing, the server crashes once a tablet is plugged in. This hack forces the input_option_new function to be compiled, allowing it to be resolved on the frakenserver. This patch DOES NOT belong in the upstream xf86-input-wacom tree.
* wacom 0.23.0xf86-input-wacom-0.23.0Jason Gerecke2013-09-271-1/+1
| | | | Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* wacom 0.22.99.1xf86-input-wacom-0.22.99.1Jason Gerecke2013-09-191-1/+1
| | | | Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* Correct return value of special_map_buttonJason Gerecke2013-09-191-2/+2
| | | | | | | | | | The 'special_map_*' functions called by 'parse_actions' are expected to return a count of the number of words of input they have consumed. The 'special_map_buttom' function errounously returns the number of actions added instead, causing the program to potentially skip over requested actions which follow a list of "button" actions. Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* Fix buffer overflows in 'special_map_*'Jason Gerecke2013-09-191-16/+42
| | | | | | | | | | | | | | Each of the 'special_map_*' functions is given free reign to write to the end of a buffer, but is never given the size of the buffer itself. It is trivial to trigger an overflow simply by feeding the program more actions to perform than space to store them. This patch adds an argument to each function which contains the buffer's size. The functions check for sufficient space before writing to the buffer and will print out an error message if it isn't available. Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* Add support for Intuos Pro seriesPing Cheng2013-09-112-0/+7
| | | | | | Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* strdup the option key/values in our input_option_newPeter Hutterer2013-09-051-2/+2
| | | | | | | | | | | | | | | | This is a interface for servers with ABI < 14 (up to server 1.11). The server version of it strdups the values, so we must do the same. Otherwise the values assigned to the InputOption list in wcmOptionDupConvert are freed during xf86OptionListFree(). That later causes a SIGABORT when NewInputDeviceRequest starts using those options. https://sourceforge.net/p/linuxwacom/bugs/233/ Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Ping Cheng <pinglinux@gmail.com>
* Print list of supported models on wcmPlugPeter Hutterer2013-09-053-148/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the driver starts, print the list of supported models. This should help with any questions like "does my driver support this or that model". For those models that don't have a defined name, print "usb:1234:5678" instead, so users can at least try to match the usb IDs. Sample log output: [ 25950.166] (II) wacom: Driver for Wacom graphics tablets: PenPartner, PenPartner, Graphire, Graphire2 4x5, Graphire2 5x7, Graphire3 4x5, Graphire3 6x8, Graphire4 4x5, Graphire4 6x8, BambooFun 4x5, BambooFun 6x8, Bamboo1 Medium, Graphire4 6x8 BlueTooth, CTL-460, CTH-461, CTL-660, CTL-461/S, Bamboo Touch, CTH-460/K, CTH-461/S, CTH-661/S1, CTH-461/L, CTH-661/L, Intuos 4x5, Intuos 6x8, Intuos 9x12, Intuos 12x12, Intuos 12x18, PTU600, PL400, PL500, PL600, PL600SX, PL550, PL800, PL700, PL510, PL710, DTI520, DTF720, DTF720a, DTF521, DTU1931, DTU2231, DTU1631, Intuos2 4x5, Intuos2 6x8, Intuos2 9x12, Intuos2 12x12, Intuos2 12x18, Intuos2 6x8 , Volito, PenStation, Volito2 4x5, Volito2 2x3, PenPartner2, Bamboo, Bamboo1, Bamboo1 4x6, Bamboo1 5x8, Intuos3 4x5, Intuos3 6x8, Intuos3 9x12, Intuos3 12x12, Intuos3 12x19, Intuos3 6x11, Intuos3 4x6, Intuos4 4x6, Intuos4 6x9, Intuos4 8x13, Intuos4 12x19, Intuos4 WL USB Endpoint, Intuos4 WL Bluetooth Endpoint, Intuos5 touch S, Intuos5 touch M, Intuos5 touch L, Intuos5 S, Intuos5 M, Cintiq 21UX, Cintiq 20WSX, Cintiq 12WX, Cintiq 21UX2, Cintiq 24HD, Cintiq 22HD, Cintiq 24HD touch (EMR digitizer), Cintiq 13HD, DTK2241, DTH2242, Cintiq 22HDT, TabletPC 0x90, TabletPC 0x93, TabletPC 0x97, TabletPC 0x9A, CapPlus 0x9F, TabletPC 0xE2, TabletPC 0xE3, TabletPC 0xE5, TabletPC 0xE6, TabletPC 0xEC, TabletPC 0xED, TabletPC 0xEF, TabletPC 0x100, TabletPC 0x101, TabletPC 0x10D, TabletPC 0x4001, usb:172f:0024, usb:172f:0025, usb:172f:0026, usb:172f:0027, usb:172f:0028, usb:172f:0030, usb:172f:0031, usb:172f:0032, usb:172f:0033, usb:172f:0034, usb:172f:0035, usb:172f:0036, usb:172f:0037, usb:172f:0038, usb:172f:0039, usb:172f:0051, usb:172f:0052, usb:172f:0053, usb:172f:0054, usb:172f:0055, usb:172f:0056, usb:172f:0057, usb:172f:0058, usb:172f:0500, usb:172f:0501, usb:172f:0502, usb:172f:0503, usb:1b96:0001, usb:17ef:6004 [ 25950.167] (II) Using input driver 'wacom' for 'Wacom Intuos4 6x9' Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Ping Cheng <pinglinux@gmail.com>
* wacom 0.22.1xf86-input-wacom-0.22.1Jason Gerecke2013-07-151-1/+1
| | | | Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* Fix build on ABI < 16 - touch_mask isn't definedPeter Hutterer2013-07-151-0/+2
| | | | | | Fixes: http://sourceforge.net/p/linuxwacom/bugs/232 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* wacom 0.22.0xf86-input-wacom-0.22.0Jason Gerecke2013-07-101-1/+1
| | | | Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* Unify wcmFingerMultitouch and wcmSendTouchEventPing Cheng2013-07-101-45/+26
| | | | | Signed-off-by: Ping Cheng <pingc@wacom.com> Acked-by: Jason Gerecke <killertofu@gmail.com>
* Transform touch events just like all other eventsSjoerd Simons2013-07-101-0/+2
| | | | | | | | | Transform touch coordinates in the same way as other events coming from the wacom driver otherwise setting for exmaple the Wacom Rotation property has no effect Signed-off-by: Sjoerd Simons <sjoerd@greynoise.nl> Acked-by: Jason Gerecke <killertofu@gmail.com>
* Revert "Transform touch events just like all other events"Jason Gerecke2013-07-101-26/+43
| | | | | | | | This reverts commit bfb56bf858e08d95156d52cec9744d3d3251b59c. This commit will be split in two to provide proper credit for each of the two authors. Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* Add support for 0xEC.Ping Cheng2013-07-032-0/+2
| | | | | | | It is a Wacom device found in Samsung Ativ Smart PC Pro 700t. Signed-off-by: Ping Cheng <pingc@wacom.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Revert "Add support for 0xED."Peter Hutterer2013-07-032-2/+0
| | | | | | | Typo in commit message, tablet is actually 0xEC. Revert and re-commit to make the patch easier to find. This reverts commit 8488c2af5bdd6dc4d049dc6d895c50c5f34aea14.
* Add support for 0xED.Ping Cheng2013-07-022-0/+2
| | | | | | It is a Wacom device found in Samsung Ativ Smart PC Pro 700t. Signed-off-by: Ping Cheng <pingc@wacom.com>
* wacom 0.21.99.1xf86-input-wacom-0.21.99.1Ping Cheng2013-06-141-1/+1
| | | | Signed-off-by: Ping Cheng <pingc@wacom.com>
* Add xf86OptionListFree for distcheckPing Cheng2013-06-142-4/+8
| | | | Signed-off-by: Ping Cheng <pingc@wacom.com>
* Transform touch events just like all other eventsPing Cheng2013-06-071-43/+26
| | | | | | | | | | Transform touch coordinates in the same way as other events coming from the wacom driver otherwise setting for exmaple the Wacom Rotation property has no effect Signed-off-by: Sjoerd Simons <sjoerd@greynoise.nl> Acked-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Ping Cheng <pingc@wacom.com>
* Don't emulate a mouse when multitouch is enabledPing Cheng2013-06-062-45/+24
| | | | | | | | | | | | | | | | | | | Currently when enabling XI 1.2 multitouch events the Wacom driver does a strange mix of emulating a mouse (when there is only touch) and switches suddenly switches to be a touchscreen when 2 fingers are down. Change this to only send touch events when using multitouch mode, such that the touchscreen works the same as other touchscreens. This enables applications to properly respond to one finger touches (e.g. panning in GTK+). The X server core will still send emulated input events to applications not supporting multitouch, so there shouldn't be a regression for those applications. Signed-off-by: Sjoerd Simons <sjoerd@greynoise.nl> Acked-by: Jason Gerecke <killertofu@gmail.com> Signed-off-by: Ping Cheng <pingc@wacom.com>
* Add support for Cintiq 22HDT and 13HD, DTK2241 and DTH2242.Ping Cheng2013-05-232-1/+11
| | | | | | Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Don't init abswheel2 valuator (7th val) if we don't have onePeter Hutterer2013-05-091-10/+11
| | | | | | | | | | | InitValuatorAxisStruct() will return if the axisnum > num_axes and not initialise anything which is why the current code worked without issues. With a new patch to the server this will now complain with an error message to the log. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Ping Cheng <pinglinux@gmail.com>
* Free the device name after reassigningPeter Hutterer2013-05-091-2/+5
| | | | | | | | | | | When hotplugging the first tool (usually the stylus) changes pInfo->name to the name + tool name. Thus, free the original one. And strdup the oldname so we can unconditially free it, regardless of whether we changed the actual device name or not. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Ping Cheng <pinglinux@gmail.com>
* Free the touch mask on shutdownPeter Hutterer2013-05-091-0/+1
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Ping Cheng <pinglinux@gmail.com>
* Free input attribute's productPeter Hutterer2013-05-091-3/+5
| | | | | | | | This is copied first by DuplicateInputAttributes, then asprintf makes another copy. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Ping Cheng <pinglinux@gmail.com>
* Free duplicated option list after conversion to InputOptionPeter Hutterer2013-05-091-5/+7
| | | | | | | | | | | | | | | | | | | | | | The duplicated list is a copy (as the comment in the server says) and thus must be freed. ==27895== 947 (40 direct, 907 indirect) bytes in 1 blocks are definitely lost in loss record 266 of 311 ==27895== at 0x4A06B6F: calloc (vg_replace_malloc.c:593) ==27895== by 0x4E538C: addNewOption2 (Flags.c:203) ==27895== by 0x4E5401: xf86addNewOption (Flags.c:216) ==27895== by 0x4AEB24: xf86AddNewOption (xf86Option.c:347) ==27895== by 0x4AE54B: xf86OptionListDuplicate (xf86Option.c:152) ==27895== by 0xB74D139: wcmOptionDupConvert (wcmValidateDevice.c:382) ==27895== by 0xB74D408: wcmQueueHotplug (wcmValidateDevice.c:515) ==27895== by 0xB74D645: wcmHotplugOthers (wcmValidateDevice.c:568) ==27895== by 0xB742DA2: wcmPreInit (wcmConfig.c:599) ==27895== by 0x4C1ACF: xf86NewInputDevice (xf86Xinput.c:846) ==27895== by 0x4C2014: NewInputDeviceRequest (xf86Xinput.c:989) ==27895== by 0x4DD72C: device_added (udev.c:231) Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Ping Cheng <pinglinux@gmail.com>
* Plug memory leaks left by xf86SetStrOptionPeter Hutterer2013-05-096-20/+44
| | | | | | | | | | | | | | xf86SetStrOption() returns a strdup'd string that needs to be freed after use. This requires some const char* → char* changes too, for things that were never really const char* to begin with anyway. wcmEventAutoDevProbe() can use xf86CheckStrOption so it too returns a strup that we can free lateron. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Ping Cheng <pinglinux@gmail.com>
* Purge TILT_REQUEST_FLAGPeter Hutterer2013-05-022-5/+0
| | | | | | | Write-only value, obsolete as of xf86-input-wacom-0.10.4-45-gba90433 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Ping Cheng <pinglinux@gmail.com>
* man: clarify how to configure keys on higher shift levels in xsetwacomPeter Hutterer2013-05-021-0/+8
| | | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Ping Cheng <pinglinux@gmail.com>
* xsetwacom: map a bunch of special symbolsPeter Hutterer2013-05-021-3/+58
| | | | | | | | Punctuation marks and others map to XK_* keysyms but only in their named form, not in their single-character symbol form. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Ping Cheng <pinglinux@gmail.com>
* xsetwacom: if we fail to map a string, try as special key or warnPeter Hutterer2013-05-021-0/+8
| | | | | | | | If a string comes back with a KeySym of 0, try again as a special key. And if that fails too, print a warning. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Ping Cheng <pinglinux@gmail.com>
* xsetwacom: add special mappings for Home, End, DeletePeter Hutterer2013-05-021-0/+3
| | | | | | | | These three are likely written as home, end, del, so let's try to understand that. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Ping Cheng <pinglinux@gmail.com>
* wacom 0.21.0xf86-input-wacom-0.21.0Jason Gerecke2013-04-291-1/+1
| | | | Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* wacom 0.20.99.1xf86-input-wacom-0.20.99.1Jason Gerecke2013-04-191-1/+1
| | | | Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* Fix const warnings in wcmSetActionPropertyJason Gerecke2013-04-181-1/+1
| | | | | | | | | | | | | | | CC wcmXCommand.lo ../../src/wcmXCommand.c: In function 'wcmSetActionProperty': ../../src/wcmXCommand.c:460:23: warning: assignment discards 'const' qualifier from pointer target type [enabled by default] case BadMatch: msg = "BadMatch"; break; ^ ../../src/wcmXCommand.c:461:23: warning: assignment discards 'const' qualifier from pointer target type [enabled by default] case BadValue: msg = "BadValue"; break; ^ ../../src/wcmXCommand.c:462:17: warning: assignment discards 'const' qualifier from pointer target type [enabled by default] default: msg = "UNKNOWN"; break; ^ Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* Remove unused variableJason Gerecke2013-04-181-1/+0
| | | | | | | src/wcmUSB.c:451:14: warning: unused variable 'private' [-Wunused-variable] wcmUSBData* private = common->private; Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* Correct comment for Sample and Suppress propertyPeter Hutterer2013-04-101-1/+1
| | | | | | The data in the property is actually the other way round. Oops. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* add support for 0x10dPing Cheng2013-03-112-0/+2
| | | | | | | | | It is a Wacom device found in Fujitsu Lifebook T902. Signed-off-by: Stephan Frank <sfrank@cs.tu-berlin.de> Acked-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jason Gerecke <killertofu@gmail.com>
* Resume button events for pucksPing Cheng2013-03-111-4/+5
| | | | | | | | | | | wcmBTNChannel was statically assigned to PAD_CHANNEL by commit 1f9bf45b, which excluded button events for CURSOR tools. This patch allows usbParseBTNEvent to process button events for both CURSOR and PAD tools. wcmBTNChannel is removed from wcmUSBData since we do not need it anymore. Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Jason Gerecke <killertofu@gmail.com>
* Make touchscreens (WCM_LCD) direct touch devicesJan Alexander Steffens (heftig)2013-03-061-1/+4
| | | | | | | | Tested with a tablet pc, allowing finger scrolling in GTK3. Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Tested-by: Jason Gerecke <killertofu@gmail.com>
* Consolidate calls to wcmEvent into one statementPing Cheng2013-03-061-13/+0
| | | | | | | | | | The extra wcmEvent call was to deal with generic PAD events received without motion events in the same packet. Those PAD events would be filtered out by the device type retrieving code later. Signed-off-by: Ping Cheng <pingc@wacom.com> Acked-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Jason Gerecke <killertofu@gmail.com>
* Clean up device_type initialization for tool on tabletPing Cheng2013-03-061-54/+5
| | | | | | | | | | | | usbInitToolType retrieves device type from the kernel when tool is on the tablet at X server startup. No need to do it again later. Since kernel does not have a specific device type for PAD, we have to check the actual events to set its type. Signed-off-by: Ping Cheng <pingc@wacom.com> Acked-by: Chris Bagwell <chris@cnpbagwell.com> Reviewed-by: Jason Gerecke <killertofu@gmail.com>
* Update MAX_CHANNELS definitionPing Cheng2013-03-061-3/+3
| | | | | | | | Make room to report pen and touch events simultaneously Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jason Gerecke <killertofu@gmail.com>
* Handle DEVICE_ABORT on input ABI 19.1Peter Hutterer2013-03-051-1/+4
| | | | | | | | | | And do nothing. USB devices are handled by the kernel, so we don't need to reset the HW. ISDV4 devices don't get reset on normal shutdown anyway, so we don't need to do anything here either. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* wacom 0.20.0xf86-input-wacom-0.20.0Jason Gerecke2013-03-041-1/+1
| | | | Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* wacom 0.19.99.1xf86-input-wacom-0.19.99.1Jason Gerecke2013-02-261-1/+1
| | | | Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* Fix warning: format expects argument of typeJason Gerecke2013-02-261-1/+1
| | | | | | | ../src/wcmXCommand.c: In function 'wcmCheckActionProperty': ../src/wcmXCommand.c:387:3: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long int' [-Wformat] Signed-off-by: Jason Gerecke <killertofu@gmail.com>
* Support pen/touch arbitration across product idsPing Cheng2013-02-261-6/+34
| | | | | | | | | | | | | Devices with different product ids for pen and touch, such as Cintiq 24HD and DTH 2242, were added recently. Applying arbitration only for tools with same product id is not enough. However, we want to make sure tools with same product id are lined properly first. That's why the same routine is repeated instead of combined. Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Jason Gerecke <killertofu@gmail.com>
* Arbitration applies to puck/Wacom mouse as wellPing Cheng2013-02-264-20/+22
| | | | | | | We do not allow finger competes with CURSOR. Signed-off-by: Ping Cheng <pingc@wacom.com> Reviewed-by: Jason Gerecke <killertofu@gmail.com>