[1]: https://pynput.readthedocs.io/en/latest/
[2]: https://www.kernel.org/doc/html/latest/input/uinput.html
However, this implementation now is platform independent. It uses pynput. It should work on all major desktop environments, like X11, Wayland, MacOS, Windows.