From: Chris W. <chr...@ci...> - 2014-01-06 10:17:47
|
On 03/01/14 20:15, Chris Bagwell wrote: > $ git diff > diff --git a/3.7/wacom_wac.c b/3.7/wacom_wac.c > index 9cadd6e..544d4df 100644 > --- a/3.7/wacom_wac.c > +++ b/3.7/wacom_wac.c > @@ -2263,6 +2263,10 @@ static const struct wacom_features > wacom_features_0x0307 = > static const struct wacom_features wacom_features_0x0309 = > { "Wacom ISDv5 309", .type = WACOM_24HDT, /* Touch */ > .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x0307, .touch_max = 10 }; > +static const struct wacom_features wacom_features_0x318 = > + { "Wacom Bamboo Pad, USB 318", .type=WACOM_PKGLEN_BBPEN, 21600, > 13500, 1023, > + 31, INTUOSHT, WACOM_INTUOS_RES, WACOM_INTUOS_RES, > + .touch_max = 16 }; > Try copy&pasting an existing INTUOSHT entry as your starting point. I > think the .type = WACOM_PKGLEN_BBPEN is reason your not getting the > MULTI_INPUT quirk set correctly. > You're correct, removing the .type enabled some further information to be appended. Using BAMBOO_PT, I get $sudo evtest /dev/input/event5: Wacom Bamboo Pad, USB 318 Pen /dev/input/event6: Wacom Bamboo Pad, USB 318 Pen /dev/input/event7: Wacom Bamboo Pad, USB 318 Finger $ xsetwacom --list devices Wacom Bamboo Pad, USB 318 Pen stylus id: 12 type: STYLUS Wacom Bamboo Pad, USB 318 Pen eraser id: 13 type: ERASER Wacom Bamboo Pad, USB 318 Pen stylus id: 14 type: STYLUS Wacom Bamboo Pad, USB 318 Pen eraser id: 15 type: ERASER Wacom Bamboo Pad, USB 318 Finger touch id: 16 type: TOUCH Wacom Bamboo Pad, USB 318 Finger pad id: 17 type: PAD and using INTUOSHT, I get $ sudo evtest /dev/input/event5: Wacom Bamboo Pad, USB 318 Finger /dev/input/event6: Wacom Bamboo Pad, USB 318 Finger /dev/input/event7: Wacom Bamboo Pad, USB 318 Finger $ xsetwacom --list devices Wacom Bamboo Pad, USB 318 Finger touch id: 12 type: TOUCH Wacom Bamboo Pad, USB 318 Finger pad id: 13 type: PAD Wacom Bamboo Pad, USB 318 Finger touch id: 14 type: TOUCH Wacom Bamboo Pad, USB 318 Finger pad id: 15 type: PAD Wacom Bamboo Pad, USB 318 Finger touch id: 16 type: TOUCH Wacom Bamboo Pad, USB 318 Finger pad id: 17 type: PAD Neither seems quite right, in that neither produces a responsive Bamboo! > > If things go wrong on Finger vs. Pen detection, here is related code > to debug in wacom_wac.c for INTUOSHT case: > > /* > * Intuos5 has no useful data about its touch interface in its > * HID descriptor. If this is the touch interface (wMaxPacketSize > * of WACOM_PKGLEN_BBTOUCH3), override the table values. > */ > if (features->type >= INTUOS5S && features->type <= INTUOSHT) { > if (endpoint->wMaxPacketSize == WACOM_PKGLEN_BBTOUCH3) { > features->device_type = BTN_TOOL_FINGER; > features->pktlen = WACOM_PKGLEN_BBTOUCH3; > > features->x_max = 4096; > features->y_max = 4096; > } else { > features->device_type = BTN_TOOL_PEN; > } > } > Where should I put this? I tried placing it within wacom_setup_device_quirks in wacom_wac.c, but .configure produced the error: /home/chrisw/local/src/linuxwacom-input-wacom/3.7/wacom_wac.c: In function ‘wacom_setup_device_quirks’: /home/chrisw/local/src/linuxwacom-input-wacom/3.7/wacom_wac.c:1500:21: error: ‘endpoint’ undeclared (first use in this function) /home/chrisw/local/src/linuxwacom-input-wacom/3.7/wacom_wac.c:1500:21: note: each undeclared identifier is reported only once for each function it appears in I see the same code is in wacom_sys.c, so did you mean I should modify that? I'm out of my depth somewhat here, what should I try modifying and what kind of values should I try? Thanks, Chris |