Linux Input/HID development
 help / color / mirror / Atom feed
From: Matt Helsley <matt.helsley@gmail.com>
To: Jiri Kosina <jkosina@suse.cz>
Cc: linux-input@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] Fix genius pensketch 12x9 tablet
Date: Fri, 12 Dec 2008 22:42:28 -0800	[thread overview]
Message-ID: <1229150548.11171.6.camel@molly> (raw)

The Genius PenSketch 12x9 tablet has a puck (labeled a
"Tablet Mouse") in addition to a pen. Without registering a quirk
the tablet appears to be a single input device that reports the
wrong axis information in /proc/bus/input/devices, and sends
incorrect events (e.g. ABS_Z instead of ABS_Y). This information
confuses the X evdev driver and makes the device impossible to
use.

The quirk fixes events and splits the device into multiple input
event devices so that at least the puck is useful.

Signed-off-by: Matt Helsley <matt.helsley@gmail.com>
---
NOTE: xinput lists the puck but not the pen. I've been using a
python script to verify the contents of the events independently
of X and, as far as I can tell, the remaining problems are in X
itself.

Tested on: 2.6.24, 2.6.25, 2.6.27, 2.6.28-rc8

Index: linux-2.6.28-rc8/drivers/hid/hid-ids.h
===================================================================
--- linux-2.6.28-rc8.orig/drivers/hid/hid-ids.h	2008-12-12 16:27:19.000000000 -0800
+++ linux-2.6.28-rc8/drivers/hid/hid-ids.h	2008-12-12 16:30:35.000000000 -0800
@@ -386,6 +386,9 @@
 #define USB_VENDOR_ID_TURBOX		0x062a
 #define USB_DEVICE_ID_TURBOX_KEYBOARD	0x0201
 
+#define USB_VENDOR_ID_UCLOGIC		0x5543
+#define USB_DEVICE_ID_UCLOGIC_TABLET_PF1209	0x0042
+
 #define USB_VENDOR_ID_VERNIER		0x08f7
 #define USB_DEVICE_ID_VERNIER_LABPRO	0x0001
 #define USB_DEVICE_ID_VERNIER_GOTEMP	0x0002
Index: linux-2.6.28-rc8/drivers/hid/usbhid/hid-quirks.c
===================================================================
--- linux-2.6.28-rc8.orig/drivers/hid/usbhid/hid-quirks.c	2008-12-12 17:22:59.000000000 -0800
+++ linux-2.6.28-rc8/drivers/hid/usbhid/hid-quirks.c	2008-12-12 17:30:44.000000000 -0800
@@ -54,6 +54,7 @@
 	{ USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },
 	{ USB_VENDOR_ID_SUN, USB_DEVICE_ID_RARITAN_KVM_DONGLE, HID_QUIRK_NOGET },
 	{ USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_KEYBOARD, HID_QUIRK_NOGET },
+	{ USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_PF1209, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT | HID_QUIRK_SKIP_OUTPUT_REPORTS },
 	{ USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
 



             reply	other threads:[~2008-12-13  6:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-13  6:42 Matt Helsley [this message]
2008-12-13  7:53 ` [PATCH] Fix genius pensketch 12x9 tablet Greg KH
     [not found]   ` <20081213075342.GA11346-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2008-12-13  8:05     ` Matt Helsley
2008-12-13  8:55       ` Greg KH
     [not found]         ` <20081213085556.GB12194-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2008-12-13  9:51           ` Matt Helsley
2008-12-13 13:30 ` Jiri Kosina

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1229150548.11171.6.camel@molly \
    --to=matt.helsley@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox