I'm running Archlinux and I have a weird problem my "Microsoft Wired Keyboard 600" gets picked up as a Joystick and a Keyboard for some reason.
Note: Output trimmed
─$ xinput list
Virtual core pointer id=2[master pointer (3)]
↳ Microsoft Wired Keyboard 600 id=9[slave pointer (2)]
Virtual core keyboard id=3[master keyboard (2)]
↳ Microsoft Wired Keyboard 600 id=8[slave keyboard (3)]
The problem is I have an Xbox360 Controller that I use to play games with and this other "Joystick" is messing things up.
I have a workaround but it's manual and annoying i use this.
sudo chmod 0000 /dev/input/event1 /dev/input/js0
sudo setfacl -b /dev/input/event1 /dev/input/js0
Now I know I can set udev rules to do things to devices when plugged in and out ect... and I have tried to get it working but I'm just at a loss.
I'd like to have the Joystick part of this keyboard not even show up in /dev/input but still have the keyboard bit work.
The following is some udevadm output for this keyboard if someone could help me out I'd appreciate it very much.
The actual keyboard
─$ udevadm info --query=all --name=/dev/input/event0 1 ↵
P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0/0003:045E:0750.0007/input/input23/event0
N: input/event0
S: input/by-id/usb-Microsoft_Wired_Keyboard_600-event-kbd
S: input/by-path/pci-0000:00:1a.0-usb-0:1:1.0-event-kbd
E: DEVLINKS=/dev/input/by-path/pci-0000:00:1a.0-usb-0:1:1.0-event-kbd /dev/input/by-id/usb-Microsoft_Wired_Keyboard_600-event-kbd
E: DEVNAME=/dev/input/event0
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0/0003:045E:0750.0007/input/input23/event0
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_MODEL=Wired_Keyboard_600
E: ID_MODEL_ENC=Wired\x20Keyboard\x20600
E: ID_MODEL_ID=0750
E: ID_PATH=pci-0000:00:1a.0-usb-0:1:1.0
E: ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_1_0
E: ID_REVISION=0110
E: ID_SERIAL=Microsoft_Wired_Keyboard_600
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030101:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=Microsoft
E: ID_VENDOR_ENC=Microsoft
E: ID_VENDOR_ID=045e
E: LIBINPUT_DEVICE_GROUP=3/45e/750/111:usb-0000:00:1a.0-1
E: MAJOR=13
E: MINOR=64
E: SUBSYSTEM=input
E: USEC_INITIALIZED=4429367119
The funny ghost Joystick
─$ udevadm info --query=all --name=/dev/input/event1
P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.1/0003:045E:0750.0008/input/input24/event1
N: input/event1
S: input/by-id/usb-Microsoft_Wired_Keyboard_600-if01-event-joystick
S: input/by-path/pci-0000:00:1a.0-usb-0:1:1.1-event-joystick
E: DEVLINKS=/dev/input/by-id/usb-Microsoft_Wired_Keyboard_600-if01-event-joystick /dev/input/by-path/pci-0000:00:1a.0-usb-0:1:1.1-event-joystick
E: DEVNAME=/dev/input/event1
E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.1/0003:045E:0750.0008/input/input24/event1
E: ID_BUS=usb
E: ID_FOR_SEAT=input-pci-0000_00_1a_0-usb-0_1_1_1
E: ID_INPUT=1
E: ID_INPUT_JOYSTICK=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_MODEL=Wired_Keyboard_600
E: ID_MODEL_ENC=Wired\x20Keyboard\x20600
E: ID_MODEL_ID=0750
E: ID_PATH=pci-0000:00:1a.0-usb-0:1:1.1
E: ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_1_1
E: ID_REVISION=0110
E: ID_SERIAL=Microsoft_Wired_Keyboard_600
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030101:030000:
E: ID_USB_INTERFACE_NUM=01
E: ID_VENDOR=Microsoft
E: ID_VENDOR_ENC=Microsoft
E: ID_VENDOR_ID=045e
E: LIBINPUT_DEVICE_GROUP=3/45e/750/111:usb-0000:00:1a.0-1
E: MAJOR=13
E: MINOR=65
E: SUBSYSTEM=input
E: TAGS=:seat:uaccess:
E: USEC_INITIALIZED=4429367514