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/js0sudo setfacl -b /dev/input/event1 /dev/input/js0Now 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/event0N: input/event0S: input/by-id/usb-Microsoft_Wired_Keyboard_600-event-kbdS: input/by-path/pci-0000:00:1a.0-usb-0:1:1.0-event-kbdE: 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-kbdE: DEVNAME=/dev/input/event0E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.0/0003:045E:0750.0007/input/input23/event0E: ID_BUS=usbE: ID_INPUT=1E: ID_INPUT_KEY=1E: ID_INPUT_KEYBOARD=1E: ID_MODEL=Wired_Keyboard_600E: ID_MODEL_ENC=Wired\x20Keyboard\x20600E: ID_MODEL_ID=0750E: ID_PATH=pci-0000:00:1a.0-usb-0:1:1.0E: ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_1_0E: ID_REVISION=0110E: ID_SERIAL=Microsoft_Wired_Keyboard_600E: ID_TYPE=hidE: ID_USB_DRIVER=usbhidE: ID_USB_INTERFACES=:030101:030000:E: ID_USB_INTERFACE_NUM=00E: ID_VENDOR=MicrosoftE: ID_VENDOR_ENC=MicrosoftE: ID_VENDOR_ID=045eE: LIBINPUT_DEVICE_GROUP=3/45e/750/111:usb-0000:00:1a.0-1E: MAJOR=13E: MINOR=64E: SUBSYSTEM=inputE: USEC_INITIALIZED=4429367119The funny ghost Joystick$ udevadm info --query=all --name=/dev/input/event1P: /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.1/0003:045E:0750.0008/input/input24/event1N: input/event1S: input/by-id/usb-Microsoft_Wired_Keyboard_600-if01-event-joystickS: input/by-path/pci-0000:00:1a.0-usb-0:1:1.1-event-joystickE: 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-joystickE: DEVNAME=/dev/input/event1E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1:1.1/0003:045E:0750.0008/input/input24/event1E: ID_BUS=usbE: ID_FOR_SEAT=input-pci-0000_00_1a_0-usb-0_1_1_1E: ID_INPUT=1E: ID_INPUT_JOYSTICK=1E: ID_INPUT_KEY=1E: ID_INPUT_KEYBOARD=1E: ID_MODEL=Wired_Keyboard_600E: ID_MODEL_ENC=Wired\x20Keyboard\x20600E: ID_MODEL_ID=0750E: ID_PATH=pci-0000:00:1a.0-usb-0:1:1.1E: ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_1_1E: ID_REVISION=0110E: ID_SERIAL=Microsoft_Wired_Keyboard_600E: ID_TYPE=hidE: ID_USB_DRIVER=usbhidE: ID_USB_INTERFACES=:030101:030000:E: ID_USB_INTERFACE_NUM=01E: ID_VENDOR=MicrosoftE: ID_VENDOR_ENC=MicrosoftE: ID_VENDOR_ID=045eE: LIBINPUT_DEVICE_GROUP=3/45e/750/111:usb-0000:00:1a.0-1E: MAJOR=13E: MINOR=65E: SUBSYSTEM=inputE: TAGS=:seat:uaccess:E: USEC_INITIALIZED=4429367514
Help with udev rules my Keyboard thinks it's a Joystick
arch linux;keyboard;udev;joystick