8

I have a rogue xinput device due to some OS error that sends key press signals even tough nothing is pressed thereby causing screen flickering and the loss of mouse focus.

The device is:

xinput list 8
Video Bus                                   id=8    [slave  keyboard (3)]
This device is disabled
Reporting 1 classes:
    Class originated from: 8. Type: XIKeyClass
    Keycodes supported: 248

How can I permanently disable it so it won't come back after restarting the machine?

OS is: Ubuntu 14.04.4 LTS

3 Answers 3

3

Try to add something like this into your xorg.conf or under xorg.conf.d folder:

Section "InputClass"
   Identifier         "disable broken device"
   MatchIsTouchscreen "on"
   MatchProduct       "full product name from 'xinput list'"
   Option             "Ignore" "on"
EndSection

Under Ubuntu, you can find the folder here /usr/share/X11/xorg.conf.d.

For the change to take effect, you likely need to reboot or at least restart the X server.

See documentation here.

3
  • I tried to do it but it doesn't seem to work, this is what i get from xinput list: "xinput -list 8 Video Bus id=8 [slave keyboard (3)] Reporting 1 classes: Class originated from: 8. Type: XIKeyClass Keycodes supported: 248" And this is the content of the file i put at /usr/share/X11/xorg.conf.d/52-disable.conf:"Section "InputClass" Identifier "disable broken device" MatchIsTouchscreen "on" MatchProduct "Video Bus" Option "Ignore" "on" EndSection"
    – samy
    May 20, 2016 at 15:36
  • One has to put the device name into Identifier and not just have some comment there. Then one does not need the MatchProduct clause any more. Sep 5, 2018 at 12:21
  • @samy I think you had to reboot. It worked perfectly for me. Although I used Option "Ignore" "true" since the docs says to use "true". And I used the USB ID option: MatchUSBID "1aad:000f". You can also use glob-like matching characters (i.e. MatchUSBID "1aad:*" would make sure that all devices from that one manufacturer are disabled). May 24, 2021 at 21:09
1

You create a script to disable it in /etc/X11/xinit/xinitrc.d/

#!/bin/sh
[ -x /usr/bin/xinput ] &&
    xinput disable 'Video Bus'

The scripts in that directory get run automatically when X11 starts.

I suggest /bin/sh because the default scripts in that directory use sh over bash, probably for portability.

2
  • 1
    But this gets reset when you come back from suspend, right? Sep 5, 2018 at 7:27
  • @MartinUeding I wouldn't expect X to actively enable new devices from suspend, but I admit I've not tried that.
    – Centimane
    Sep 5, 2018 at 12:06
1

This is not an optimal solution but I found a workaround to ensure that the xinput device is disabled for the current user.

I used the gnome-session-properties program to simply execute the line /bin/bash -c "xinput disable 8" on login. This works only for Gnome.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .