Hey all-

        I've tried asking around for help, but maybe I haven't been doing it in
the right place. I'm really stuck and could use a hand!

        I have a USB touchscreen (by Nextwindow) which I'm trying to get to
work with Linux. Plugged in under Windows it gets detected as a HID-
compliant mouse and works without any special drivers. Plugged in under
Linux, three device entries are created under /sys/bus/usb/devices, one
for the Mouse, one for "Comms" and one for "Keyboard" - so it appears as
a multi-device adapter. I'm only interested in mouse functionality.

        I'm trying to understand how this all hangs together, any help would be
appreciated.


OS: Fedore Core 3
Kernel: kernel2.6.10-1.770_14.rhfc3.at (ATrpms patches to stock FC3
kernel)



        Four udev devices are created when I plug in the device:

Mouse:
/dev/input/event2
/dev/input/js0

Keyboard:
/dev/usbhid0
/dev/input/event3


        Comparing to when I plug in a USB microsoft intellimouse, I get two
devices:

/dev/input/mouse0
/dev/input/event4


        Now if I try to read the raw device output via gpm (using the "event"
device created for the microsoft mouse):

#gpm -D -m /dev/input/event4 -Rraw

        I get:

*** info [startup.c(95)]: Started gpm successfully. Entered daemon mode.
*** debug [console.c(125)]: Screen size: 80 - 25
*** debug [gpm.c(159)]: x 10, y 20


        ...to standard out which stays like that until I move the mouse. Once I
move the mouse I endlessly get:

*** err [gpm.c(89)]: Error in read()ing first: No such file or directory
*** debug [gpm.c(533)]: selected 1 times



        ...to standard error.



        The *identical* thing happens if I try to read the raw output from the
"event" device created by the touchscreen:

# gpm -D -m /dev/input/event2 -Rraw



        ...with the looping error messages not appearing until I touch the
screen somewhere. So there's definitely a form of interaction going on.
It seems that Linux is creating a "/dev/input/js0" (joystick) device for
the "mouse" portion of the touchscreen, instead of
creating /dev/input/mouse0 like it knows to do with the Intellimouse.


        I can't get any useful feedback from trying to directly talk to the js0
device, even using the "joystick mouse" setting under gpm.


        Surely its a matter of telling hotplug's input.agent (or similar) to
recognize the screen as a mouse instead of a joystick?  

        Is the correct file to modify:

/lib/modules/<kernel version>/modules.inputmap

(?)


        and if so is there a reference for how to determine the correct values?



Thanks heaps for any help!

Steve Castellotti


PS: Technical details

USB Chipset (lspci -v):

00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)
USB UHCI Controller #1 (rev 01) (prog-if 00 [UHCI])
        Subsystem: Dell: Unknown device 0160
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at ff80 [size=32]

00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)
USB UHCI Controller #2 (rev 01) (prog-if 00 [UHCI])
        Subsystem: Dell: Unknown device 0160
        Flags: bus master, medium devsel, latency 0, IRQ 10
        I/O ports at ff60 [size=32]

--------------

Diff to /proc/bus/usb/devices after device insertion:

B:  Alloc=110/900 us (12%), #Int=  2, #Iso=  0
T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 11 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0000 ProdID=ffff Rev= 1.00
S:  Manufacturer=Nextwindow
S:  Product=Nextwindow Touchscreen
C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=02 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   5 Ivl=10ms
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=82(I) Atr=03(Int.) MxPS=  64 Ivl=10ms
I:  If#= 2 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=01 Driver=usbhid
E:  Ad=83(I) Atr=03(Int.) MxPS=   8 Ivl=10ms




-------------------------------------------------------
This SF.Net email is sponsored by Oracle Space Sweepstakes
Want to be the first software developer in space?
Enter now for the Oracle Space Sweepstakes!
http://ads.osdn.com/?ad_id=7393&alloc_id=16281&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to