Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support old uinput interface #257

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

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