Le 12/03/2016 16:24, Mark Cave-Ayland a écrit :
On 12/03/16 13:38, Hervé Poussineau wrote:
ADB devices must take new handler into account only when they recognize it.
This lets operating systems probe for valid/invalid handles, to know device
capabilities.
Add a FIXME in keyboard handler, which should use a different translation
table depending of the selected handler.
Signed-off-by: Hervé Poussineau <address@hidden>
Interesting. Can you explain a bit more about which OSs this patch
affects and the symptoms it alleviates?
Here is a small list of handlers requested by some operating systems without
the patch
HelenOS kbd=1 mouse=2
MacOS 9 kbd=1 mouse=0xc (what is 0xc?)
Linux kbd=3 mouse=4
Here is a small list of handlers requested by some operating systems with the
patch
HelenOS kbd=1 mouse=2
MacOS 9 kbd=1 mouse=2
Linux kbd=3 mouse=2
I have no example of current problem with the keyboard part. However, I suspect
it may be related some
problems John is seeing on some operating systems, as handler 1 and 2/3 must
not use the same
translation table.
Note that MacOS 9 uses handler 1 (Apple Standard Keyboard), while Linux uses
handler 3 (Apple Extended Keyboard LShift != RShift).
On mouse part, operating systems (like MacOS or Linux) try to probe the mouse
model by testing
different handlers, and see which ones are accepted.
On Linux, the handler 1 and 2 have a 3 bytes protocol, while the handler 4 has
a 4 bytes protocol.
Correctly supporting protocol 4 will be required to handle 3-button mice.
Hervé