From: Benjamin Tissoires <benjamin.tissoires@gmail.com>
To: Chih-Wei Huang <cwhuang@android-x86.org>
Cc: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>,
Jiri Kosina <jkosina@suse.cz>,
linux-input@vger.kernel.org
Subject: Re: ET1602 Touchscreen doesn't work
Date: Wed, 8 Jun 2011 13:31:26 +0200 [thread overview]
Message-ID: <BANLkTikiX4X2OEET5qmejdWhs1XY7e3HWw@mail.gmail.com> (raw)
In-Reply-To: <BANLkTimw2pV2Cv6pG2HJiD5AGrqJpOCXjw@mail.gmail.com>
Hi Chih-Wei and Cascardo,
Sorry for coming late in the discussion, but I think I can add some ideas to it.
Most of the time, when we (the multitouch guys) saw a device that
sends ABS_Z and ABS_RX, and that the problem is worked around by
adding the MULTI_INPUT quirk, that means to us that the device is a
multitouch Win7 compatible one. So hid-multitouch must be able to
handle it.
Chih-Wei, if you are running android-x86 2.6.38 kernel, then removing
the quirk should tell the generic hid layer not to handle it.
Then adding it to the list of the devices handled by hid-multitouch
should do the job: insert in mt_device the following
+ /* TouchPack touchscreen */
+ { .driver_data = MT_CLS_DEFAULT,
+ HID_USB_DEVICE(USB_VENDOR_ID_TOUCHPACK,
+ USB_DEVICE_ID_TOUCHPACK_RTS) },
+
For a proper kernel integration, we'll also need to add it to the
hid_have_special_driver list in hid-core, but android-x86 kernel
doesn't need it currently.
On Wed, Jun 8, 2011 at 12:33, Chih-Wei Huang <cwhuang@android-x86.org> wrote:
> 2011/6/3 Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>:
>> You should use the device capabilities, like what events it does
>> generate. If it does generate X and Y axis events, that's the right
>> device.
>
> Did you mean ABS_X and ABS_Y? Actually it is.
> The android framework detects the touch device by:
>
> // Is this an old style single-touch driver?
> if (test_bit(BTN_TOUCH, key_bitmask)
> && test_bit(ABS_X, abs_bitmask) && test_bit(ABS_Y, abs_bitmask)) {
> device->classes |= CLASS_TOUCHSCREEN;
> }
>
> However, the output of getevent -p shows
>
> add device 2: /dev/input/event7
> name: "HID TOUCH HID Touch Panel"
> events:
> SYN (0000): 0000 0001 0003 0004
> KEY (0001): 0110 0111 0112
> ABS (0003): 0000 value 1428, min 0, max 4095, fuzz 0 flat 0
> 0001 value 1066, min 0, max 4095, fuzz 0 flat 0
> MSC (0004): 0004
>
> add device 3: /dev/input/event6
> name: "HID TOUCH HID Touch Panel"
> events:
> SYN (0000): 0000 0001 0003 0004
> KEY (0001): 0140 014a 014b
> ABS (0003): 0000 value 0, min 0, max 4095, fuzz 0 flat 0
> 0001 value 0, min 0, max 4095, fuzz 0 flat 0
> MSC (0004): 0004
>
> Only event6 supports BTN_TOUCH, so it is detected
> as the touch device. However, that's wrong --
> event7 is the right touch device.
>
> By removing the check test_bit(BTN_TOUCH, key_bitmask),
> event7 is correctly detected and touchscreen now works.
>
> But I still have questions:
>
> * Is it intended to NOT support BTN_TOUCH in event7?
> * Why two devices are detected by the kernel,
> while there is only one touchscreen?
That's the MULTI_INPUT quirk purpose, when the generic hid layer is
not able to understand the report descriptors, one way to handle the
different collections (i.e. touches) that contains the same fields is
to split the device in several ones, one per touch.
Cheers,
Benjamin
PS: Chih-Wei and Cascardo, if you need a patch instead of my awful
English, don't hesitate to ask... ;-)
>
> --
> Chih-Wei
> Android-x86 project
> http://www.android-x86.org
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-06-08 11:31 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <BANLkTikX9njth-jP6PpQuwL9sTUciu1nQA@mail.gmail.com>
2011-06-02 14:41 ` ET1602 Touchscreen doesn't work Thadeu Lima de Souza Cascardo
2011-06-03 4:02 ` Chih-Wei Huang
2011-06-03 12:44 ` Thadeu Lima de Souza Cascardo
2011-06-08 10:33 ` Chih-Wei Huang
2011-06-08 11:31 ` Benjamin Tissoires [this message]
2011-06-08 12:57 ` Thadeu Lima de Souza Cascardo
2011-06-08 14:56 ` Chih-Wei Huang
2011-06-08 15:31 ` Thadeu Lima de Souza Cascardo
2011-06-09 11:26 ` Chih-Wei Huang
2011-06-09 13:39 ` Thadeu Lima de Souza Cascardo
2011-06-10 2:23 ` Chih-Wei Huang
2011-06-13 15:09 ` Thadeu Lima de Souza Cascardo
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=BANLkTikiX4X2OEET5qmejdWhs1XY7e3HWw@mail.gmail.com \
--to=benjamin.tissoires@gmail.com \
--cc=cascardo@holoscopio.com \
--cc=cwhuang@android-x86.org \
--cc=jkosina@suse.cz \
--cc=linux-input@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;
as well as URLs for NNTP newsgroup(s).