diff options
Diffstat (limited to 'src/wcmUSB.c')
-rw-r--r-- | src/wcmUSB.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/wcmUSB.c b/src/wcmUSB.c index 980dac3..db7c045 100644 --- a/src/wcmUSB.c +++ b/src/wcmUSB.c @@ -32,7 +32,6 @@ typedef struct { int wcmLastToolSerial; - int wcmBTNChannel; int wcmDeviceType; Bool wcmPenTouch; Bool wcmUseMT; @@ -460,8 +459,6 @@ static void usbWcmInitPadState(InputInfoPtr pInfo) ds->device_type = PAD_ID; ds->device_id = PAD_DEVICE_ID; ds->serial_num = channel; - - private->wcmBTNChannel = channel; } int usbWcmGetRanges(InputInfoPtr pInfo) @@ -1651,8 +1648,12 @@ static void usbDispatchEvents(InputInfoPtr pInfo) } else if (event->type == EV_KEY) { + /* Button events can be from puck or expresskeys */ + int btn_channel = (ds->device_type == CURSOR_ID) ? + channel : PAD_CHANNEL; + usbParseKeyEvent(common, event, channel); - usbParseBTNEvent(common, event, private->wcmBTNChannel); + usbParseBTNEvent(common, event, btn_channel); } } /* next event */ |