Coder Social home page Coder Social logo

udev-joystick-blacklist's Introduction

udev-joystick-blacklist

Fix for keyboard/mouse/tablet being detected as joystick in Linux.

There are several devices that, although recognized by kernel as joysticks, are not joysticks. This repository contains rules that will prevent the non-functional /dev/input/js* and /dev/input/event* devices from being recognized as joysticks.

This is just a blacklist, which will always be incomplete (until the actual bug gets fixed). Feel free to add more devices to this list.

Known devices

For the complete list, look at the generate_rules.py script.

  • A4 Tech mice and/or keyboards.
  • ASRock LED controller.
  • Cooler Master mice.
  • Corsair mice and/or keyboards.
  • Lenovo keyboard.
  • Microsoft mice and/or keyboards. (Fixed in Linux kernel 4.9.)
  • Wacom tablets.
  • …and many others!

How to install

Version that changes permissions to 0000

sudo curl -o /etc/udev/rules.d/51-these-are-not-joysticks.rules \
  https://raw.githubusercontent.com/denilsonsa/udev-joystick-blacklist/master/51-these-are-not-joysticks.rules

Version that removes the device

sudo curl -o /etc/udev/rules.d/51-these-are-not-joysticks-rm.rules \
  https://raw.githubusercontent.com/denilsonsa/udev-joystick-blacklist/master/51-these-are-not-joysticks-rm.rules

Which version should I use?

Personally, I'd try the first version (that sets permissions to 0000) first. If it does not work or if it gives trouble for some reason, I'd try the second version (that removes the device).

The first version (that sets permissions to 0000) seems to work fine across several distros, but some distros (such as OSMC, see also issue #26) may have additional rules that end up setting the permssions back to another value. In such case, the second version (that removes the device) should work.

In the end, it's up to you, and it's about what works best for you and your system.

What's different in after_kernel_4_9/?

A patch has been accepted into Linux kernel 4.9, so that Microsoft devices will not be detected as joysticks anymore. Thus, those devices are not included in after_kernel_4_9/*. Read issue #20 for details.

How it works

Matching

A rule will match if:

  • The subsystem is input;
  • The pair idVendor and idProduct is in this list;
  • Either one of:
    • The device property ID_INPUT_JOYSTICK is set;
    • Or the device name matches js[0-9]*.

Actions

The following actions are taken on each matching rule:

It is not possible to rename a device, so NAME="not-a-joystick%n" will not work.

Learning more about udev rules

Troubleshooting

Look at the generated /dev files: ls -l /dev/input/

Unplug and plug your USB device while monitoring for kernel and udev events: udevadm monitor -p

Look for other udev rules that may interact with the same device: grep -i '\bjs\b\|joystick' /lib/udev/rules.d/* /usr/lib/udev/rules.d/* /etc/udev/rules.d/*

Testing joystick detection

These tools list and interact with all available/detected joysticks:

Contributing

The best ways to contribute are by creating a new issue or by making a pull request. Make sure you mention the device name/description and the vendor/product IDs. The relevant line from lsusb output is usually enough.

This repository contains a list of devices compiled from contributions of several people. I cannot test every single device. If something does not work for you even after you have added the correct rules, please try debugging it on your own system. The output of udevadm monitor -p may prove very helpful. Also look at the output of ls -l /dev/input/.

Bug reports and mentions

There are reports of this issue on different distros and projects.

The udev rules in this repository have been added to:

But remember that the version distributed elsewhere might be different than the version on this repository.

Semi-related projects

  • game-devices-udev - Collection of udev rules for game controllers, usually giving permission for the user to access those devices.

History of this repository

After suffering with this issue for a long time, I decided to investigate possible fixes and workarounds. Then, in May 2015, after searching a lot for a solution, I've managed to create some udev rules that fixed the issue for my devices and decided to share this solution with other people. Initially, I shared the simple file at GitHub Gist. Over time, people submitted contributions through comments, and keeping that file on Gist was becoming too hard to manage.

In October 2015, I decided to move the file to this GitHub repository. That way, it will be easier to make changes, to fork, to receive notifications, and essentially to maintain it.

Ideally, the bug in the Linux kernel should be fixed, so that this repository (which is essentially just a workaround) wouldn't be needed anymore. However, it's also possible those devices are incorrectly reporting their own capabilities, and thus the operating system is just following the device descriptors. Given there is a report of this issue on Windows, that could be the case.

License

Public domain. Feel free to use this project for whatever purpose you want.

Also, feel free to contribute to the project. And, if you have the knowledge and the skills, consider fixing this bug in the Linux kernel itself.

There is no warranty implied by using this project. Use at your own risk.

udev-joystick-blacklist's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

udev-joystick-blacklist's Issues

Upstream the rules?

This repository was mentioned in discussion about gaming peripheral support for Wayland. It would be great to transform this repository into an upstream set of rules in systemd so that we can correct the problems mentioned in this repository's README for everyone.

cc @jadahl @whot

Moving udev "51-these-are-not-joysticks.rules" from Gist to GitHub

I've just moved the rules from https://gist.github.com/denilsonsa/978f1d842cf5430f57f6 to https://github.com/denilsonsa/udev-joystick-blacklist

Thanks to @dobrMAN, @MeGA-ct, @ShadowKyogre, @steamlinux, @hylkevds, @xtor91, @Bgumble, @radekula, @Fenix2412, @alexhultman, @johnv-valve for the comments and forks on the original Gist. From now on, the contributions will happen on this GitHub repository.

I also hope that, by mentioning you all, you will be notified of this change.

Remove device instead of 000 permissions?

Hi !
first, thanks A LOT for this repository!. I had this issue with my Microsoft Wireless keyboard on my Raspberry Pi running OSMC (the trackpad being recognised as a joystick, hence my emulators were going crazy) and had no idea what was going on. Your rules totally solved my problem. However I found two small issues with your solution that I would like to bring for discussion and hopefully integrate into your solution:

  1. [small] The rules file name 999-these-are-not-joysticks.rules should be the very last to execute to make sure other rules don't re-create or interfere with the joystick devices. In the case of OSMC, unfortunately this naming didn't put it at the end so I had to make the number even bigger: 9999-these-are-not-joysticks.rules. No big deal, but maybe we can name the file even bigger to make absolutely sure it will be the last one in almost everyone's computer.
  2. The idea of changing permissions to 0000 is nice and it worked for me. However, programs can still see the devices and try to open it. No big deal except that most of the times they throw access denied warnings. In my case is just annoying but I got thinking that maybe some other programs may crash instead of just warning the user. For this reason I explored the idea of deleting the joystick device files and so far it's been working very nicely in my setup. So I propose to use the following rules instead of the ones you provided:
SUBSYSTEM=="input", ATTRS{idVendor}=="%s", ATTRS{idProduct}=="%s", ENV{ID_INPUT_JOYSTICK}=="?*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
SUBSYSTEM=="input", ATTRS{idVendor}=="%s", ATTRS{idProduct}=="%s", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""

As you can see, what I do is to simply delete the device file for those detected as joysticks. I can create a pull request to help merge this if you think is a good idea. Personally I think this is cleaner because programs never ever see those devices instead of trying to open and failing.

What do you think?
Hugo.

Switch Pro Controller over USB

The Nintendo Switch Pro Controller recently got USB functionality and messes up joystick input, could you add this to the blacklist?

Here is what solved for me

Hi!

I also had this ghost joystick problem... Usb device 045e:0750. Then I started to search for a solution.
First I was looking for what is causing troubles...

My usb keyboard have 2 interfaces: First one is a normal keyboard and second one is used only for multimedia keys. I think others keyboards like internet keyboards works the same way.

The problem is: The second interface is a complete joystick + keyboard interface. So it is detected as a joystick sending 0 to both X and Y absolute axes (ghost joystick).
But if I disable completely second interface... Then multimedia keys will stop working. It is a bad idea.

Tried this:

  1. boot flags: usbhid.quirks=0x045e:0x0750:0x00000020 (BAD GAME PAD) failed...
  2. changed eudev and joydev sources: If I found some keys, like multimedia keys, then I force to not detect as pointer device (worked, but this is not good, maybe someday someone will create a device with both axes and multimedia keys...)

What I did then?

I want both /dev/input/eventXX from keyboard working, but I don't want joydev to atach to second /dev/input/eventXX and create /dev/input/js0.

So I just remove /dev/input/js0 after creation.

I updated your eudev rules to this one:
KERNEL=="js[0-9]*", SUBSYSTEM=="input", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0750", RUN+="/bin/rm $env{DEVNAME}"

This way I still have both keyboard interfaces working and just don't have joystick.

I think the others devices from the list can be updated like this also.

Logitech iTouch Composite

My old Logitech keyboard suffers from this issue as well. I'm surprised that there are no other Logitech devices currently listed, perhaps my keyboard is definitely too old :)

Bus 003 Device 004: ID 046d:c30a Logitech, Inc. iTouch Composite

Thank you

We recently included Kodi v17 in OSMC. This new version of Kodi integrates joystick and controller support. A number of users experienced issues with devices that present themselves incorrectly as joysticks.

We weren't sure what the issue was at first but a user found the problem and pointed us to this repository. When I saw your repository I noticed that you had also provided advice specifically for OSMC users which was great.

We're now bringing these rules in by default in our next update (which lands this month) and we'll monitor your repository closely for changes.

You can close this 'issue'. I just wanted to say thank you. I didn't want to email contributors privately but rather put a public comment here to say thanks.

Sam Nazarko
Founder, OSMC

Extra keyboard plus question about removal

I have a Lenovo keyboard that I had to add manually

SUBSYSTEM=="input", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="608c", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
SUBSYSTEM=="input", ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="608c", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""
Bus 001 Device 002: ID 17ef:608c Lenovo 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x17ef Lenovo
  idProduct          0x608c 
  bcdDevice            1.12
  iManufacturer           1 LiteOn
  iProduct                2 Lenovo Calliope USB Keyboard
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      65
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              24
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     104
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              48
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)

Also, it removed js0 correctly but I've noticed that new gamepads that are connected start at js1. Is this intended? I would assume if the device node is removed then it could be used later by something else.

Add applesmc js0?

I ran into this problem a few times when I used to use my MacBook. It would stop games from recognizing my real Xbox controller because they would think the accelerometer which got registered as js0 is a gamepad, therefore not detecting my actual controller.

Please add [T3] 2.4GHz and IR Air Mouse Remote Control

SUBSYSTEM=="input", ATTRS{idVendor}=="1d57", ATTRS{idProduct}=="ad03", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
SUBSYSTEM=="input", ATTRS{idVendor}=="1d57", ATTRS{idProduct}=="ad03", KERNEL=="js[0-9]*", RUN+="/bin/rm %E{DEVNAME}", ENV{ID_INPUT_JOYSTICK}=""

A4Tech X7 G800V and X-710BK

Linux also detects A4Tech X7 G800V keyboard \ X-710BK as joysticks.

lsusb:

Bus 008 Device 003: ID 09da:90c0 A4Tech Co., Ltd.  # keyboard
Bus 008 Device 002: ID 09da:9090 A4Tech Co., Ltd. XL-730K / XL-750BK / XL-755BK Mice # mouse

added to 51-these-are-not-joysticks.rules:

SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="90c0", ENV{ID_INPUT_JOYSTICK}=="?*", MODE="0000", ENV{ID_INPUT_JOYSTICK}=""
SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="90c0", KERNEL=="js[0-9]*", MODE="0000", ENV{ID_INPUT_JOYSTICK}=""
SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="9090", ENV{ID_INPUT_JOYSTICK}=="?*", MODE="0000", ENV{ID_INPUT_JOYSTICK}=""
SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="9090", KERNEL=="js[0-9]*", MODE="0000", ENV{ID_INPUT_JOYSTICK}=""

Disables special keys on Microsoft Wireless Keyboard 3000

Hi,

I was wondering why the special keys on my keyboard stopped working and it turned out that this rules file removes the /dev/input/event file that sends the special key events.

USB id of the keyboard (or the wireless dongle):

Bus 005 Device 002: ID 045e:0745 Microsoft Corp. Nano Transceiver v1.0 for Bluetooth

Device file in question:

lrwxrwxrwx 1 root root 10 Mar 2 19:04 usb-Microsoft_Microsoft®_2.4GHz_Transceiver_v6.0-if02-event-joystick -> ../event18

Corsair Harpoon RGB Wireless

Hello,

It took me a while to get this mouse to work, it was not in the list (product id is 1b5e), but more importantly, my system had a 60-input-id.rules file with the following line (among others)

SUBSYSTEM=="input", ENV{ID_INPUT}=="", IMPORT{builtin}="input_id"

This was resetting the ID_INPUT_JOYSTICK value to 1, so I needed to also set ID_INPUT to 1 to prevent it from running.

I thought I would open an issue here to share that discovery, in case some other users hit this problem.

CM Storm Alcor

Hey, would be nice to have this mouse supported.

Here is the relevant lsusb output:
Bus 003 Device 014: ID 2516:0028

Edit:
The full name of the mouse is "Cooler Master Storm Alcor Mouse".

Teensy LC (Keyboard Only)

Could you add teensy lc's to the database?

ID 16c0:04d0 Van Ooijen Technische Informatica

I added it manually and it works.

Thanks.

Add IPMI Virtual keyboard and mice (American Megatrends Inc)

Output of udevadm info /dev/input/js0:

P: /devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11:1.1/0003:046B:FF10.0002/input/input1/js0
N: input/js0
S: input/by-id/usb-American_Megatrends_Inc._Virtual_Keyboard_and_Mouse-if01-mouse
S: input/by-path/pci-0000:00:14.0-usb-0:11:1.1-mouse
E: DEVLINKS=/dev/input/by-path/pci-0000:00:14.0-usb-0:11:1.1-mouse /dev/input/by-id/usb-American_Megatrends_Inc._Virtual_Keyboard_and_Mouse-if01-mouse
E: DEVNAME=/dev/input/js0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11:1.1/0003:046B:FF10.0002/input/input1/js0
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_MODEL=Virtual_Keyboard_and_Mouse
E: ID_MODEL_ENC=Virtual\x20Keyboard\x20and\x20Mouse
E: ID_MODEL_ID=ff10
E: ID_PATH=pci-0000:00:14.0-usb-0:11:1.1
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_11_1_1
E: ID_REVISION=0100
E: ID_SERIAL=American_Megatrends_Inc._Virtual_Keyboard_and_Mouse
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030101:030102:
E: ID_USB_INTERFACE_NUM=01
E: ID_VENDOR=American_Megatrends_Inc.
E: ID_VENDOR_ENC=American\x20Megatrends\x20Inc.
E: ID_VENDOR_ID=046b
E: MAJOR=13
E: MINOR=0
E: SUBSYSTEM=input
E: USEC_INITIALIZED=4561533
idVendor = ID_VENDOR_ID=046b
idProduct = ID_MODEL_ID=ff10

Add Roccat Tyon Mouse

Please add the Roccat Tyon Mouse to the blacklist. It's recognized as a joystick on Xubuntu 16.10.

lsusb | grep ROCCAT
Bus 001 Device 002: ID 1e7d:2e4a ROCCAT

Add ASUS ROG PUGIO II

So, the issue is simple, would be nice to have it supported.
If I didn't miss anything of course, at least with mine it doesn't work.

A4 Tech Bloody B540

The B540 is also detected as a joystick (which caused me a lot of problems while gaming).

The lsusb:

Bus 004 Device 012: ID 09da:f32a A4 Tech Co., Ltd 

Here is the fix:

SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="f32a", KERNEL=="js[0-9]*", MODE="0000", ENV{ID_INPUT_JOYSTICK}=""

Cideko air keyboard

As per this post:
https://askubuntu.com/questions/1484990/cideko-air-keyboard-being-recognised-as-a-joystick-22-04

Cideko Air Keyboard is recognised as a joystick. The keyboard/mouse functionality only works when the joystick calibration screen is running.

Tried to use the /etc/udev/rules.d/51-these-are-not-joysticks.rules and it doesn't make any difference. Using the /etc/udev/rules.d/51-these-are-not-joysticks-rm.rules removes it altogether, such that the "joystick" does not appear in the calibration screen, but neither does it work as mouse/keyboard as intended.

Something I'm doing wrong?

Nvidia Shield Controller support

Hello,

I've just asked for a pull request to the UDEV rules for the Nvidia Shield Controller here:

cyndis/shield-controller-config#2

Actually, this is exactly the opposite issue of the UDEV rules for udev-joystick-blacklist, the controller is seen as a mouse (it has a touchpad) but it should be seen as a joystick.

Do you think it makes sense to be added here or it should be kept separate?

Thanks & regards,
--Simone

Bloody TL80 Mouse's code

SUBSYSTEM=="input", ATTRS{idVendor}=="09da", ATTRS{idProduct}=="31b5", ENV{ID_INPUT_JOYSTICK}=="1", MODE="0000", ENV{ID_INPUT_JOYSTICK}=""

Idea: use a hardware database to preemptively add many devices to this list

For each of the known manufacturers, we could look at some hardware database (e.g. linux-hardware.org) to find all mice and keyboard from that manufacturer. Then we can decide to add them all to this blacklist.

This could be good because people with those pieces of hardware won't have trouble (and because most people won't be able to find this repository). But this can backfire and we can end up disabling real features from those devices.

I'll leave this just as an idea for now.

Corsair Harpoon Gaming Mouse

The Corsair Harpoon mouse (CH-9301011 is my model) has this issue aswell

Bus 001 Device 003: ID 1b1c:1b3c Corsair

Microsoft keyboards detection fixed in kernel 4.9

Hello,

Red Hat has contributed a few patches to the kernel:

https://bugzilla.redhat.com/show_bug.cgi?id=1325354#c13

But only one patch has been accepted upstream that fixes Microsoft keyboards:

https://git.kernel.org/cgit/linux/kernel/git/jikos/hid.git/commit/?h=for-next&id=1989dada7ce07848196991c9ebf25ff9c5f14d4e

It is included in kernel 4.9 and it is included as a backport to latest 4.8 updates on Fedora.
Would it be possible to have a separate branch with the Microsoft IDs removed? This way I can include only the required rules in the Fedora Steam package.

Thanks,
--Simone

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

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.

Wacom Intuos Pen (S) CTL-480 isn't in the blacklist

I found this as a solution for this issue I've had, but now I see the list of supported Wacom devices, I noticed my model isn't on it. I don't know too much about udev and actually nothing about GitHub, so I don't know how this works. So, uh... reporting this will make my Wacom tablet model to appear in the blacklist in a future update? Or is there a way to contribute by myself? I'm sorry if I look like a dummy right now. The device ID is 056a:030e
Screenshot that shows the issue. Using Linux Mint 18.1 KDE:
http://i.imgur.com/F56vN9G.png

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.