[Touchd-devel] About the BCM5974 USB control interface
Status: Alpha
Brought to you by:
tannewt
From: Henrik R. <ry...@eu...> - 2008-06-24 18:42:50
|
Hello Scott, I have been following the development of touchd with interest. It seems to me that one of the major hurdles in building this driver is the somewhat complex relationship between the keyboard interface (USB interface 0, endpoint 0x83) and the proprietary multitouch interface (USB interface 1, endpoint 0x81). As far as I understand, there is no known way to initialize the multitouch without also altering the keyboard interface, resulting in extra work just getting the keyboard to work properly. In fact, the keyboard mapping is what is currently stopping me from using the touchd driver on my MacbookAir. It would of course be great if the multitouch could be initialized without affecting the keyboard interface - the question is whether this is possible. Do you know? In order to get the multitouch going, this seems to be the (as of yet) minimal configuration necessary: 1. claim interface 0, normally acting as a HID keyboard 2. claim interface 1, normally acting as an unknown HID touchpad 3. configure interface class: usb_control_msg(udev,0x21,0x09,0x0300,0,{0x01,0x05},2,100) The multitouch is now available on endpoint 0x81. It is *not* possible to omit step 1, which would be desired. I suspect you already tried this extensively. I understand 3) is a set-interface-class command, I do not understand what 0x0300 means, I suspect interface zero is called, and I do not know what {0x01,0x05} means. Any ideas? Cheers, Henrik Rydberg ps. on a separate note, I suspect interface 2, which acts as a perfectly normal mouse, could be configured to show features such as double-click and two-finger scrolling. ds. |