Convert keyboard/mouse inputs to piped bytestream
Go to file
2024-07-13 06:55:44 +02:00
input-to-pipe Initial commit 2024-07-13 06:36:27 +02:00
LICENSE Initial commit 2024-07-13 06:36:27 +02:00
README.txt Add docs 2024-07-13 06:55:44 +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

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

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

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

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