Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12:Update
xf86-input-wacom
U_04-Store-the-last-used-channel-rather-than-bl...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File U_04-Store-the-last-used-channel-rather-than-blindly-taking-channel-0.patch of Package xf86-input-wacom
From: Egbert Eich <eich@suse.com> Date: Wed Apr 9 21:27:03 2014 +0200 Subject: [PATCH 4/6]Store the last used channel rather than blindly taking channel 0 Patch-Mainline: Upstream Git-commit: 8f44f3568c46ab9cca543b830fb2e84dd56a2af9 Git-repo: git://linuxwacom.git.sourceforge.net/gitroot/linuxwacom/xf86-input-wacom References: FATE# Signed-off-by: Egbert Eich <eich@suse.com> When an event stream from a device doesn't contain information on the device type we look at the last used channel and copy over the device type. This is acceptable as such a situation only occurs while in proximity i.e. when the previous command package came from the same device. So far the device type form the state in channel 0 was taken. This was wrong however for PAD devices for instance. Signed-off-by: Egbert Eich <eich@suse.com> Reviewed-by: Jason Gerecke <killertofu@gmail.com> --- src/wcmUSB.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/wcmUSB.c b/src/wcmUSB.c index b79f0e3..c060ec5 100644 --- a/src/wcmUSB.c +++ b/src/wcmUSB.c @@ -41,6 +41,7 @@ typedef struct { int nbuttons; /* total number of buttons */ int npadkeys; /* number of pad keys in the above array */ int padkey_code[WCM_MAX_BUTTONS];/* hardware codes for buttons */ + int lastChannel; } wcmUSBData; static Bool usbDetect(InputInfoPtr); @@ -1636,8 +1637,8 @@ static void usbDispatchEvents(InputInfoPtr pInfo) WacomDevicePtr priv = (WacomDevicePtr)pInfo->private; WacomCommonPtr common = priv->common; int channel; - WacomDeviceState dslast = common->wcmChannel[0].valid.state; wcmUSBData* private = common->private; + WacomDeviceState dslast = common->wcmChannel[private->lastChannel].valid.state; DBG(6, common, "%d events received\n", private->wcmEventCnt); @@ -1767,6 +1768,8 @@ static void usbDispatchEvents(InputInfoPtr pInfo) if (!ds->proximity) private->wcmLastToolSerial = 0; + private->lastChannel = channel; + for (c = 0; c < MAX_CHANNELS; c++) { ds = &common->wcmChannel[c].work;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor