Skip to content

Conversation

itsxaos
Copy link

@itsxaos itsxaos commented Nov 11, 2024

This makes ydotool work on very old kernels (older than 4.5, which was released in March 2016), where it previously did not work because the UI_DEV_SETUP ioctl is not available.

Try to use UI_GET_VERSION ioctl (introduced in kernel 3.17, released in October 2014) to check whether to fall back to old uinput interface as described in https://kernel.org/doc/html/latest/input/uinput.html#uinput-old-interface and https://github.com/torvalds/linux/blob/master/include/uapi/linux/uinput.h#L89.
If UI_GET_VERSION fails, also try to use the old interface.

Tested on 6.11.3 and 4.4.153 (where it doesn't work without this patch).

Try to use UI_GET_VERSION ioctl to check whether to fall back to old
uinput interface (for kernels < 4.5) as described in [1] and [2].

[1]: kernel.org/doc/html/latest/input/uinput.html#uinput-old-interface
[2]: github.com/torvalds/linux/blob/master/include/uapi/linux/uinput.h
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant