Project

General

Profile

Actions

Emulator Issues #11917

open

[Linux] evdev devices with the same name do not have consistent ordering

Added by batzkass over 4 years ago. Updated almost 3 years ago.

Status:
Fix pending
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
Linux
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Hi,

I'm running dolphin 5.0-c1818c3 under ubuntu 18.04 and I'm very happy with it. However I'm facing troubles to setup my controllers (I own two Logitech Cordless Rumble Pad 2). The gamepads themselves are well detected and I am able to bind buttons and sticks, it works well in games. Concerning my setup I would like to add that I connect : the two gamepads to a usb hub BEFORE, then the usb hub to my computer AFTER. For udev, this is the same as booting the system with the controllers and the usb hub already connected.

I found that the gamepads "Device" name path are randomly chosen between "evdev/0/Logitech Logitech Cordless RumblePad 2" and "evdev/1/Logitech Logitech Cordless RumblePad 2", even though they are always connected to the same usb ports (and both simultaneously through the usb hub). It seems that sometimes my first controller will be "player 1" and sometimes it will be "player 2", which is quite annoying. I think that this issue should be very easy to fix, as udev is self-consistent and always assign the same device order regarding which usb port the gamepads are connected to.

For example, in the case of a PC that is dedicated to emulation-gaming : the actual behavior makes it impossible to know which controller will be the first one a priori, and thus force the user to go into the dolphin settings each time.

Could it be possible to fix this, maybe by using the udev "devnum" attribute or the /dev/input/js* numbers as sorting key, which give always the same order ?
Alternatively, is it possible to force the device path into the configuration (like /dev/input/js0, /dev/input/js1 ...) ?

Many thanks for you help,
François

Actions

Also available in: Atom PDF