| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Signed-off-by: Jason Gerecke <killertofu@gmail.com>
|
|
|
|
| |
Signed-off-by: Jason Gerecke <killertofu@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Jason Gerecke <killertofu@gmail.com>
|
|
|
|
|
|
| |
Fixes: http://sourceforge.net/p/linuxwacom/bugs/232
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
| |
Signed-off-by: Jason Gerecke <killertofu@gmail.com>
|
|
|
|
|
| |
Signed-off-by: Ping Cheng <pingc@wacom.com>
Acked-by: Jason Gerecke <killertofu@gmail.com>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Typo in commit message, tablet is actually 0xEC. Revert and re-commit to
make the patch easier to find.
This reverts commit 8488c2af5bdd6dc4d049dc6d895c50c5f34aea14.
|
|
|
|
|
|
| |
It is a Wacom device found in Samsung Ativ Smart PC Pro 700t.
Signed-off-by: Ping Cheng <pingc@wacom.com>
|
|
|
|
| |
Signed-off-by: Ping Cheng <pingc@wacom.com>
|
|
|
|
| |
Signed-off-by: Ping Cheng <pingc@wacom.com>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Ping Cheng <pinglinux@gmail.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Ping Cheng <pinglinux@gmail.com>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Jason Gerecke <killertofu@gmail.com>
|
|
|
|
| |
Signed-off-by: Jason Gerecke <killertofu@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
src/wcmUSB.c:451:14: warning: unused variable 'private' [-Wunused-variable]
wcmUSBData* private = common->private;
Signed-off-by: Jason Gerecke <killertofu@gmail.com>
|
|
|
|
|
|
| |
The data in the property is actually the other way round. Oops.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Jason Gerecke <killertofu@gmail.com>
|
|
|
|
| |
Signed-off-by: Jason Gerecke <killertofu@gmail.com>
|
|
|
|
|
|
|
| |
../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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
We do not allow finger competes with CURSOR.
Signed-off-by: Ping Cheng <pingc@wacom.com>
Reviewed-by: Jason Gerecke <killertofu@gmail.com>
|