I've bought two VR controllers from Amazon (these). They can be used as media player controllers, mouse pointers and gamepads. I intend to use them as gamepads.

They pair perfectly with bluetooth and jstest recognises the devices as joystick and indicates when buttons are pressed. However, no applications, including browsers and emulators, recognise a controller is connected.

Screenshot of jstest-gtk and result of "udevadm info /dev/input/js0" in terminal

Does anyone know what I can do for applications to recognise these gamepads in the same way that jstest does? I don't understand why they are recognised in jstest but in other programs it would appear no gamepads are connected.

  • Try adding your user to the input group. – GTRONICK Aug 10 '17 at 16:56
  • Hi. Thank you for your reply. This may seem like a silly question, but how do I do that? I tried Googling... – Adam Aug 10 '17 at 17:10
  • Use: sudo <editor> /etc/group where <editor> could be gedit, nano, kate, vim, etc. Then, search the string input and after the : symbol, type your user, so, it could looks like: input:x:50:myUserName – GTRONICK Aug 10 '17 at 17:22
  • Thank you. I just did "sudo gpasswd -a $USER input" replacing $USER with my username. Output: "Adding user **** to group input". Then just saw and followed your advice. My username was there. Unfortunately I still have the problem. Any other ideas? – Adam Aug 10 '17 at 17:28

For anybody who may be looking for a solution to the same problem, I finally got the controllers working as gamepads and this is what you should do:

  1. Make sure xboxdrv and jstest-gtk are installed.
  2. Pair your controllers with bluetooth.
  3. In the terminal, copy the following: sudo gedit /etc/udev/rules.d/99-gamepad.rules (If this file doesn't exist, it will be created).
  4. When the text editor opens, copy the following and hit save and close: SUBSYSTEM=="input", ATTRS{name}=="VR BOX", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"

("VR BOX" is the name of the device. You can find out the name with the following in the terminal: cat /proc/bus/input/devices )

  1. Restart computer. You will now only be able to use the device as gamepads, after holding down @+B on the controllers themselves, but the gamepads will work perfectly and will be accessible in browsers and emulators.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.