Commit Graph

70 Commits

Author SHA1 Message Date
Alexandre Julliard 7afa53c0f2 winex11: Use standard dlopen() instead of the libwine wrappers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 14:26:20 +02:00
John Chadwick 578d26f826 winex11/wintab: Fix values for lcSys* and lcOut*.
Testing using the Wacom wintab32 (from driver version 6.3.37-3) on
Windows 10, it appears that the values for lcOut* were likely
accidentally mixed up with the values for lcSys*. The lcSys* values are,
according to the documentation, supposed to specify the extent of the
screen mapping area for the cursor, wheras lcOut* simply specifies the
output coordinate space for the given context. There is no logical
reason I'm aware of for why lcOut* would have different default values
from lcIn*, and in testing Wacom wintab32 defaults lcOut* to match
lcIn*.

In addition, lcSysExt* should use SM_C*VIRTUALSCREEN instead of
SM_C*SCREEN, to handle multi-monitor setups properly. Setting lcSysExt*
to these values works even if the tablet is mapped to a subset of this
area.

After this change, PaintTool SAI 2 appears to work out of the box. Other
wintab clients I tested appear to be unaffected (such as the Wintab SDK
demos and Adobe Photoshop CS2.)

Signed-off-by: John Chadwick <john@jchw.io>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
John Chadwick 4506b468d4 winex11.drv: Handle button events without axes.
Not all XInput events contain axes information. In particular, libinput
does not seem to provide axes information on button_event.

Signed-off-by: John Chadwick <john@jchw.io>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 21:00:39 +01:00
Alistair Leslie-Hughes 13243a28b2 winex11/wintab: Set all Device Orientation values.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-23 23:50:44 +02:00
Alistair Leslie-Hughes 0652a2ccc9 winex11: Implement PK_CHANGE for wintab.
Based on a patch by Eriks Dobelis.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-10 21:25:30 +02:00
Alex Henrie 3f69b7ecc8 winex11.drv: Correct spelling of "plug-n-play".
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 22:27:05 +01:00
Alex Henrie b43204bc4a winex11.drv: Make several constants static.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 22:27:05 +01:00
Alex Henrie 4e122bdadd winex11: Return FALSE from LoadTabletInfo if the system isn't a tablet.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46024
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-23 15:31:05 +02:00
Akihiro Sagawa ce7a98e95c winex11: Return more reliable value from X11DRV_MsgWaitForMultipleObjects.
After processing several X events, X11DRV_MsgWaitForMultipleObjects always
tells us that a new message is available. This is not true for some cases.

For instance, when we call DestroyWindow, the X queues DestroyEvent. Then,
X11DRV_MsgWaitForMultipleObjects handles the event only; none is posted or
sent as hwnd for destroyed window is unavailable. However, the function
states "new message is available" by returning count - 1 value.

This is an issue for CoWaitForMultipleHandles because it expects a new
message in the queue and consumes the message.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-25 22:27:40 +09:00
Michael Stefaniuc 17169816cd winex11: Use debugstr_a to print strings that can be NULL.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-14 19:05:53 +09:00
Eriks Dobelis 235100bb72 wintab: Initialize lcOutExtX and Y values. 2014-04-01 13:31:02 +02:00
Eriks Dobelis 2de64560fe wintab: Fix incorrectly classifying cursor as stylus instead of eraser. 2014-04-01 13:31:01 +02:00
C John Klehm d2ab8e454e winex11.drv: Add pen to tablet stylus detection whitelist. 2013-05-16 12:11:19 +02:00
Alexandre Julliard cf1be58706 winex11: Remove the remaining X11 locking calls. 2012-08-16 16:48:00 +02:00
Frédéric Delanoy 7e309601f3 dlls: Assorted spelling fixes. 2011-08-03 14:15:50 +02:00
Alexandre Julliard 9c8911e342 winex11: Simplify the event handler lookup, and support names in debug traces for extension events. 2011-04-06 13:26:42 +02:00
Peter Urbanec 0ea8bf17fa wintab32: Better handling of XInput initialisation errors. 2011-03-03 17:47:14 +01:00
Marcus Meissner 478592cd3d winex11.drv: Handle if cursor not found (Cpverity). 2009-12-04 14:34:57 +01:00
John Klehm bc95ef3cbc winex11.drv: Report correctly when wintab is disabled. 2009-11-30 12:47:46 +01:00
Maarten Lankhorst 569de388fa wintab32/winex11.drv: Add CDECL to imported functions. 2008-12-17 15:02:24 +01:00
Alexandre Julliard b4debd66a2 winex11: Make some functions static. 2008-12-03 12:10:32 +01:00
Juan Lang 6e726e2a91 winex11: Make button_state as large as the maximum number of cursors. Fixes Coverity id 728. 2008-09-12 11:41:16 +02:00
Andrew Talbot 9b5d26ed8b winex11.drv: Remove unneeded address-of operators from array names. 2008-07-14 11:50:37 +02:00
Francois Gouget dbaec0a101 Assorted spelling fixes. 2008-07-10 13:40:15 +02:00
Alexandre Julliard 06a1407c13 winex11: Explicitly request creation of the per-thread data where necessary. 2008-06-26 15:08:08 +02:00
John Klehm 70cf762d31 winex11: Place tablet cursors in slots based on type. 2008-06-20 12:27:23 +02:00
John Klehm 8d70da9fa9 winex11: Cursor iteration is now done by checking ACTIVE cursors. 2008-06-20 12:26:34 +02:00
John Klehm 97b2dcb62c winex11: Always assign a tablet cursor type. 2008-06-20 12:26:13 +02:00
John Klehm a629ece604 winex11: Add comments explaining wintab cursor slotting, type, and clarify x11 config. 2008-06-20 12:26:07 +02:00
John Klehm 189c13daa3 winex11: Support detection of tablet devices from XExtensionKeyboard type. 2008-05-27 12:11:08 +02:00
John Klehm f39f7525fd winex11: Detect acecad tablet as stylus device. 2008-05-27 12:11:04 +02:00
John Klehm cd550bf6b4 winex11.drv: Move hardware tablet proximity into x11 layer. 2008-05-08 11:13:23 +02:00
John Klehm 8d09d5c8ad winex11.drv: Wintab packet serial numbers are passed via WPARAM. 2008-05-07 12:12:11 +02:00
Alexandre Julliard 405575168f winex11: Check if IsXExtensionPointer is defined before using it. 2008-04-25 16:46:17 +02:00
John Klehm 2c26ea609d winex11: Add support for IsXExtensionPointer tablet devices. 2008-04-25 11:43:41 +02:00
John Klehm 33d4117e1b winex11: Allow wizardpen to be detected as a stylus. 2008-04-25 11:40:31 +02:00
John Klehm b95c091dbf winex11: Allow wintab devices with less than 5 axes. 2008-04-25 11:40:20 +02:00
Andrew Talbot 5d038523e9 winex11.drv: Assign to structs instead of using memcpy. 2008-03-24 11:33:22 +01:00
Andrew Talbot 8789ed6f84 winex11.drv: Indirection level fix. 2008-03-22 13:21:10 +01:00
Alexandre Julliard 075df1b609 winex11: Fix bug report address. 2008-03-18 11:44:09 +01:00
Dan Kegel 8e4d5d21fd wintab: Expand whitelist of tablets. 2008-03-13 20:44:18 +01:00
Dan Kegel 1eba6c7644 winex11: wintab.c: use atan2 instead of atan. 2008-03-07 10:52:25 +01:00
Francois Gouget f11713aa58 winex11.drv: Add some API documentation stubs to make winapi_check happy. 2008-02-05 12:19:37 +01:00
Andrew Talbot 68feed7e77 winex11.drv: Remove unneeded casts. 2008-02-04 14:20:45 +01:00
Alexandre Julliard c975876cb9 winex11.drv: Don't fetch the atom for a null device type. 2008-01-17 15:23:37 +01:00
Francois Gouget 44b52b128c Assorted spelling fixes. 2008-01-16 12:48:29 +01:00
Austin English 0e4adae973 Spelling fixes. 2008-01-07 13:41:01 +01:00
Jeremy White 659494660e wintab32: If we could not find a stylus sort of device, we haven't found a tablet. 2007-12-31 17:47:16 +01:00
Jeremy White 51aecf8056 wintab32: Add logic to detect specific tablet cursor types, use it to discard non tablet X devices. 2007-12-31 17:47:12 +01:00
Jeremy White ca89d7e809 wintab32: Add modest trace information for tablets. 2007-12-31 17:45:10 +01:00