denilsonsa / udev-joystick-blacklist

Fix for keyboard/mouse/tablet being detected as joystick in Linux
118 stars 27 forks source link

/lib/udev/rules.d/51-these-are-not-joysticks-rm.rules vs /etc/udev/rules.d/51-these-are-not-joysticks.rules #30

Open paulovilli opened 7 years ago

paulovilli commented 7 years ago

I'm not entirely sure this should be opened as an issue against udev-joystick-blacklist, but maybe an improvement can be made to the README.md, so here it goes:

I'm currently using Linux Mint Cinnamon 18.1 on kernel 4.8.0-46 and was having the issue with inactive media keys on a Microsoft Wireless Keyboard 2000.

Previously, on Linux Mint Cinnamon 18.0 I had the ghost joystick issue and your patch file and instructions worked perfectly.

This time it didn't bring back the media keys, even though I followed the instructions step by step...

Until I saw this comment on another issue thread (#11 - already closed):

I had a 51-these-are-not-joysticks-rm.rules file lingering in /lib/udev/rules.d/ (I was only looking in /etc/udev/rules.d/)

Turns out LM 18.1 placed a copy of 51-these-are-not-joysticks-rm.rules at /lib/udev/rules.d (probably inherited from it's parent distro Ubuntu 16.04), and it is outdated (from before this commit, so it kills the dev/input/events for the media keys).

Following README.md I had placed 51-these-are-not-joysticks.rules on /etc/udev/rules.d/ but I gave preference to the 0000 version not the RM version.

It didn't inhibit the system from running the /lib/udev/rules.d/51-these-are-not-joysticks-rm.rules file, because the filename was not identical in both folders like it should (as explained here).

Since both versions of the file had a chance to run, the event handler got deleted despite the right file apparently being in the right place.

I can try to contact LM devs and ask them to update the "/lib/" file on that specific distro, but the naming thing can happen again elsewhere, and may explain more people being unsuccessful when applying this patch... so maybe changing the instructions will help avoiding this issue.

I would suggest instructing people to look for either file on the /lib/udev/rules.d/ folder first to decide which version they should place in /etc/udev/rules.d/, somewhat like this: 1- If 51-these-are-not-joysticks-rm.rules is there the user should prefer the RM version. 2- If 51-these-are-not-joysticks.rules is there, the user should follow the 0000 version instructions. 3- Else, if no file is present in that folder, the user should look into /etc/udev/rules.d/ and update the existing file there. 4- Finally, if no file is previously present in either folder, the user is recommended to test the 0000 first.

Either that or create folders for 0000 and RM file versions like you did for kernel 4.9 and use the same file name in both versions, so the naming is always identical, killing the "-rm" in one of the filenames.

Oh, and thank you so much for this patch and the detailed instructions and documentation! Without them I'd be 110% lost on how to make that weird fake joystick disappear.