Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
To identify the problem run on a terminal "dmesg" or "lsusb" or see inside the file /var/log/Xorg.0.log and identify the device registered as /dev/input/js0 and/or recognized as a controller.
To establish a rule, typing "dmesg" or "lsusb" on a terminal, check out the idvendor and idproduct: example if in lsusb appears "Bus 002 Device 006: ID 045e:0750 Microsoft Corp. Wired Keyboard 600", the idVendor=045e and idProduct=0750. Then create a file /lib/udev/rules.d/52-keyboard.rules and add the following there: (I'm using the example above, but you need to check and change the specific ids of the device causing the problem): SUBSYSTEM=="input", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0750", KERNEL=="js[0-9]*", MODE="0000"
(adapted from https://bbs.archlinux.org/viewtopic.php?id=142469 and https://bugs.launchpad.net/ubuntu/+source/linux/+bug/390959)
I forgot to mention this before, but the Metro Redux games are the ONLY ones that do this; every other Linux game works fine.
If I delete the files, will they be recreated automatically if I want to use a controller again?
udevadm control --reload
udevadm trigger
as a root.
I didn't have any js* file at /dev/input/
How to fix problem with controller?
I found in /dev/input/by-id nad /dev/input/by-path symbolic links to device joystic:
usb-Microsoft_Microsoft®_2.4GHz_Transceiver_v8.0-if02-event-joystick
pci-0000:00:13.0-usb-0:1:1.2-event-joystick
I delete those links and event5 and in game i don't see any controller!
create a file: /usr/lib/udev/rules.d/98-ms-joystick-fix.rules
and put the following content inside that file:
SUBSYSTEM=="input", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="07b2", RUN+="/bin/sh /path_to_the_script/ms-joystick-fix.sh"
then create an other file: /path_to_the_script/ms-joystick-fix.sh
and put the following content inside that file:
readlink -f /dev/input/by-id/usb-Microsoft_Microsoft®_2.4GHz_Transceiver_v8.0-if02-event-joystick | xargs rm
readlink -f /dev/input/by-id/usb-Microsoft_Microsoft®_2.4GHz_Transceiver_v8.0-if02-joystick | xargs rm
rm /dev/input/by-id/usb-Microsoft_Microsoft®_2.4GHz_Transceiver_v8.0-if02-joystick
rm /dev/input/by-id/usb-Microsoft_Microsoft®_2.4GHz_Transceiver_v8.0-if02-event-joystick
You might need to adjust the vendor, product ID or name. How to get the ID is covered by the post from fac3l3ss above.
Seems to fix games that want a controller
sudo rmmod -f joydev
modprobe -r joydev also works and is more graceful. I may just blacklist joydev altogether. I don't think it's actually used for anything.
Before I play I remove the event device :
If the output looks sane I run the command (I'm not yet confident enough to run it automatically). I haven't come across any issues with other games when the event-joystick device is missing, but testing's been very minimal.