Re: Upcoming Kernel - MultiTouchScreen Support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

in order to have the driver up and running, two modifications are necessary in the hid subsystem:

1. the one described below, in hid.h. This is required for a whole bunch of multitouch devices but obviously it has to be done only once.

2. the addition of the device's (VendorID, ProductID) couple to a black list in the hid subsystem's core, so that the new driver can manage it. This involves changes in hid-ids.h and hid-core.c, for every new driver.

If hid is compiled as a module, this is fairly straightfowrad. If, as in Ubuntu, it is statically compiled in the kernel, it means that one needs to recompile the kernel each time they add a new multitouch driver.

I was hoping that at least the first patch would be taken into account for 2.6.33 so as to save work for a lot of people, but it looks like the patch came too late in the process.

Cheers,

St.

Le 4 mars 10 à 10:23, Luis R. Rodriguez a écrit :

Adding Chatty @ ENAC, in hopes some more light can be shed on this.

On Thu, Mar 4, 2010 at 1:20 AM, Luis R. Rodriguez <mcgrof@xxxxxxxxx> wrote:
On Thu, Mar 4, 2010 at 12:18 AM, Amit Kucheria
<amit.kucheria@xxxxxxxxxxxxx> wrote:
Hi Thomas,

I'm forwarding this to the kernel-team mailing list so other developers can
also comment.

Regards,
Amit

----- Forwarded message from Thomas Winteler <info@xxxxxxxxxxx> -----

Date: Wed, 03 Mar 2010 09:26:56 +0100
From: Thomas Winteler <info@xxxxxxxxxxx>
To: amit.kucheria@xxxxxxxxxx
Subject: Upcoming Kernel - MultiTouchScreen Support
User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv: 1.9.1.8) Gecko/20100216 Thunderbird/3.0.2
Organization: Win-Soft, Business IT eXpert

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Good Morning Mr. Amit Kucheria

Thank you for your time, reading my eMail.

The new Hardware on the market offer MultiTouchScreens, like the Netbook
from ASUS:
ASUS EEE PC T91MT
http://www.asus.com/product.aspx?P_ID=KIqtSJ1aVsmVpeqS

I found some information in ASUS's Support Forum and found also a Linux
Driver Builder.
http://vip.asus.com/forum/view.aspx? id=20091214162901203&SLanguage=en-us&page=2&board_id=20&model=Eee% 20PC%20T91MT

ENAC Interactive computing laboratory HowTo
http://lii-enac.fr/en/projects/shareit/linux-howto.html

Drivers from ENAC
http://lii-enac.fr/en/projects/shareit/linux.html

MosArt MT Driver for ASUS's T91MT
http://lii-enac.fr/en/projects/shareit/multitouch-devices.html
- --> MosArt

The Problem on this thing is, that the Kernel needs to be patched and
recompiled to get it running.

The kernel changes don't seem that bad, I only see mention to one
header file which needs to be changed as follows:

diff --git a/include/linux/hid.h b/include/linux/hid.h
index b1344ec..5ad8e6e 100644
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -663,7 +663,7 @@ struct hid_ll_driver {

 /* Applications from HID Usage Tables 4/8/99 Version 1.1 */
 /* We ignore a few input applications that are not widely used */
-#define IS_INPUT_APPLICATION(a) (((a >= 0x00010000) && (a <=
0x00010008)) || (a == 0x00010080) || (a == 0x000c0001) || ((a >=
0x000d0002) && (a <= 0x000d000
+#define IS_INPUT_APPLICATION(a) (a >= 0xd0002 && a <= 0xd0006)

 /* HID core API */

But this the change required is not documented, why is this required?
Anyway apart from it seems you need to modify the hid module and
provide it as a replacement. The rest is just adding drivers, and that
should be relatively trivial.

What would be better is to track what is not upstream, see if the
authors are working on that, and if not see if the driver project can
get it upstream at least through staging.

 Luis


_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux