adb_usb: Add Logitech Extended mouse support
This commit is contained in:
parent
2141d742ca
commit
011fb9e731
2 changed files with 19 additions and 0 deletions
|
|
@ -288,6 +288,13 @@ again:
|
||||||
adb_host_listen(ADB_ADDR_MOUSE_TMP, ADB_REG_1, 0x03, 0x38);
|
adb_host_listen(ADB_ADDR_MOUSE_TMP, ADB_REG_1, 0x03, 0x38);
|
||||||
// set pseudo handler for Logitech
|
// set pseudo handler for Logitech
|
||||||
mouse_handler = ADB_HANDLER_LOGITECH;
|
mouse_handler = ADB_HANDLER_LOGITECH;
|
||||||
|
} else if (buf[0] == 0x4C && buf[1] == 0x54) {
|
||||||
|
// Logitech Extended
|
||||||
|
// MouseMan - FCCID:DZLMAH32 'LT01'
|
||||||
|
// MouseMan Cordless - FCCID:DZLMRC33T 'LTW1'
|
||||||
|
xprintf("M:Logitech-Ext\n");
|
||||||
|
// set pseudo handler
|
||||||
|
mouse_handler = ADB_HANDLER_LOGITECH_EXT;
|
||||||
} else {
|
} else {
|
||||||
dmprintf("Unknown\n");
|
dmprintf("Unknown\n");
|
||||||
}
|
}
|
||||||
|
|
@ -430,6 +437,17 @@ void adb_mouse_task(void)
|
||||||
if (yneg) buf[2] |= 0x70;
|
if (yneg) buf[2] |= 0x70;
|
||||||
if (xneg) buf[2] |= 0x07;
|
if (xneg) buf[2] |= 0x07;
|
||||||
len = 3;
|
len = 3;
|
||||||
|
} else if (mouse_handler == ADB_HANDLER_LOGITECH_EXT) {
|
||||||
|
// Logitech Extended:
|
||||||
|
// Byte0: b00 y06 y05 y04 y03 y02 y01 y00
|
||||||
|
// Byte1: b02 x06 x05 x04 x03 x02 x01 x00
|
||||||
|
// Byte2: b01 y09 y08 y07 b03 x09 x08 x07
|
||||||
|
// L=b00, R=b01, M=b02
|
||||||
|
uint8_t tmp = buf[2];
|
||||||
|
if (buf[1] & 0x80) buf[2] |= 0x80; else buf[2] &= 0x7F;
|
||||||
|
if (tmp & 0x80) buf[1] |= 0x80; else buf[1] &= 0x7F;
|
||||||
|
if (buf[len - 1] & 0x40) yneg = true;
|
||||||
|
if (buf[len - 1] & 0x04) xneg = true;
|
||||||
} else if (mouse_handler == ADB_HANDLER_MACALLY2_MOUSE && len == 4) {
|
} else if (mouse_handler == ADB_HANDLER_MACALLY2_MOUSE && len == 4) {
|
||||||
// Macally 2-button mouse:
|
// Macally 2-button mouse:
|
||||||
// Byte0: b00 y06 y05 y04 y03 y02 y01 y00
|
// Byte0: b00 y06 y05 y04 y03 y02 y01 y00
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,7 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#define ADB_HANDLER_MOUSESYSTEMS_A3 0x03
|
#define ADB_HANDLER_MOUSESYSTEMS_A3 0x03
|
||||||
// pseudo handler
|
// pseudo handler
|
||||||
#define ADB_HANDLER_LOGITECH 0x4C
|
#define ADB_HANDLER_LOGITECH 0x4C
|
||||||
|
#define ADB_HANDLER_LOGITECH_EXT 0x4D
|
||||||
|
|
||||||
|
|
||||||
// ADB host
|
// ADB host
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue