Python failure when installing on fresh Ubuntu 24.04
Describe the bug
kinto.sh script failing on a fresh Ubuntu install
AttributeError: 'InputDevice' object has no attribute 'fn'
Expected behavior Installation works
Install Type: Bare Metal Distro: Ubuntu 24.04.1 LTS DE: Gnome Branch: master Commit: git rev-parse --short HEAD
Screenshots
@mclean25 @rbreaves
This is a manifestation of the problem that I reported in issue #891, and already fixed in my fork of the keymapper.
In summary, the evdev 1.9.0 update removed the deprecated "fn" attribute name, so all references to ".fn" must be updated to use ".path". I'm not sure how long the attribute had been deprecated before that. Usually in a dependency project like this they will wait a few years to remove things. So we all weren't paying attention.
If you can open and edit the relevant Python file then you should be able to fix it yourself for now. That seems to be input.py for this earlier fork of the keymapper. You can see the whole path in the error message. Which will depend on your system's Python version.
Since Kinto doesn't build a Python virtual environment folder, I'm not sure if trying to "pin" the install of evdev to "<1.9.0" would be a feasible option. In any case it's pretty easy to perform the fix on the keymapper module file manually.
EDIT: For anyone coming upon this issue as time goes on and X11/Xorg sessions start really disappearing from various Linux desktop environments (GNOME, KDE Plasma, Budgie, etc.) you can try my alternative to Kinto that supports all Wayland environments (that I am aware of): Toshy
Thank you, @RedBearAK. This fixed the problem for me.
I am having the same issue
@RedBearAK you are a legend, thanks for the fix :')