Convert keyboard/mouse inputs to piped bytestream
Go to file
2024-07-13 08:55:26 +02:00
input-to-pipe Add heartbeat event 2024-07-13 08:55:26 +02:00
LICENSE Initial commit 2024-07-13 06:36:27 +02:00
README.txt Add heartbeat event 2024-07-13 08:55:26 +02:00

The protocol is little endian.

Each event is prefixed by 9 null bytes, and an event type, which is 1 byte.

A key-press event would look like this:
0 0 0 0 0 0 0 0 0 1 5
* 9 padding nulls, 1 = event id (keyboard), 5 = button

HEARTBEAT (1):
* no data

KEYBOARD (2):
* uint8 pressed: If the button is pressed (1) or released (0)
* uint8 keycode: The keycode of the button

MOUSE_MOVE (3):
* int32 x: Relative X movement (negative numbers move to the left)
* int32 y: Relative Y movement (negative numbers move to the top)

MOUSE_PRESS (4):
* uint8 pressed: If the button is pressed (1) or released (0)
* uint8 keycode: The keycode of the button

MOUSE_WHEEL (5):
* int32 x: Wheel X roll (negative numbers move to the left)
* int32 y: Wheel Y roll (negative numbers move to the top)