mirror of
https://github.com/yume-chan/ya-webadb.git
synced 2025-10-06 03:50:18 +02:00
feat(aoa): emulating HID keyboard via AOA protocol
This commit is contained in:
parent
258547c50b
commit
d08a6891e7
28 changed files with 2118 additions and 881 deletions
60
libraries/aoa/src/mouse.ts
Normal file
60
libraries/aoa/src/mouse.ts
Normal file
|
@ -0,0 +1,60 @@
|
|||
export class HidMouse {
|
||||
public static readonly descriptor = new Uint8Array(
|
||||
// prettier-ignore
|
||||
[
|
||||
0x05, 0x01, // Usage Page (Generic Desktop)
|
||||
0x09, 0x02, // Usage (Mouse)
|
||||
0xa1, 0x01, // Collection (Application)
|
||||
0x09, 0x01, // Usage (Pointer)
|
||||
0xa1, 0x00, // Collection (Physical)
|
||||
0x05, 0x09, // Usage Page (Button)
|
||||
0x19, 0x01, // Usage Minimum (Button 1)
|
||||
0x29, 0x05, // Usage Maximum (Button 5)
|
||||
0x15, 0x00, // Logical Minimum (0)
|
||||
0x25, 0x01, // Logical Maximum (1)
|
||||
0x75, 0x01, // Report Size (1)
|
||||
0x95, 0x05, // Report Count (5)
|
||||
0x81, 0x02, // Input (Data, Variable, Absolute)
|
||||
|
||||
0x75, 0x03, // Report Size (3)
|
||||
0x95, 0x01, // Report Count (1)
|
||||
0x81, 0x01, // Input (Constant)
|
||||
|
||||
0x05, 0x01, // Usage Page (Generic Desktop)
|
||||
0x09, 0x30, // Usage (X)
|
||||
0x09, 0x31, // Usage (Y)
|
||||
0x09, 0x38, // Usage (Wheel)
|
||||
0x15, 0x81, // Logical Minimum (-127)
|
||||
0x25, 0x7f, // Logical Maximum (127)
|
||||
0x75, 0x08, // Report Size (8)
|
||||
0x95, 0x03, // Report Count (3)
|
||||
0x81, 0x06, // Input (Data, Variable, Relative)
|
||||
|
||||
0x05, 0x0C, // Usage Page (Consumer)
|
||||
0x0A, 0x38, 0x02, // Usage (AC Pan)
|
||||
0x15, 0x81, // Logical Minimum (-127)
|
||||
0x25, 0x7f, // Logical Maximum (127)
|
||||
0x75, 0x08, // Report Size (8)
|
||||
0x95, 0x01, // Report Count (1)
|
||||
0x81, 0x06, // Input (Data, Variable, Relative)
|
||||
0xc0, // End Collection
|
||||
0xc0, // End Collection
|
||||
]
|
||||
);
|
||||
|
||||
public static serializeInputReport(
|
||||
movementX: number,
|
||||
movementY: number,
|
||||
buttons: number,
|
||||
scrollX: number,
|
||||
scrollY: number
|
||||
): Uint8Array {
|
||||
return new Uint8Array([
|
||||
buttons,
|
||||
movementX,
|
||||
movementY,
|
||||
scrollY,
|
||||
scrollX,
|
||||
]);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue