evdev device for retro-bit NES controller adapter isn't set up as a joystick
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
Games which rely on SDL2 (and tools like antimicro) can't see the retro-bit NES controller adapter by default because SDL2 has dropped support for the old /dev/input/jsX API and udev lacks a rule to permission the /dev/input/eventX node appropriately and set the ID_INPUT_JOYSTICK flag.
The following rule (or equivalent) needs to be added to the system-provided udev rules.
SUBSYSTEM=="input", ATTRS{name}=="INNEX NES Controller USB", MODE="0666", ENV{ID_
I come to this conclusion because:
1. Until the mode is changed, feeding evtest with an explicit input device number results in a permissions error.
2. Globally allowing users to read joystick input poses no security risk and the data is already mirrored via /dev/input/jsX which is 0666 already.
3. Once the mode is changed, sdl2-jstest and antimicro still cannot see it.
4. Once ID_INPUT_JOYSTICK=1 is set, sdl2-jstest and antimicro work just as well as sdl-jstest and jstest-gtk, which use the old API.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: udev 204-5ubuntu20.11
ProcVersionSign
Uname: Linux 3.13.0-48-generic x86_64
NonfreeKernelMo
ApportVersion: 2.14.1-0ubuntu3.10
Architecture: amd64
CurrentDesktop: LXDE
CustomUdevRuleF
Date: Wed May 6 05:39:13 2015
InstallationDate: Installed on 2014-08-01 (278 days ago)
InstallationMedia: Lubuntu 14.04 LTS "Trusty Tahr" - Release amd64 (20140416.2)
MachineType: Gigabyte Technology Co., Ltd. GA-880GMA-USB3
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/07/2011
dmi.bios.vendor: Award Software International, Inc.
dmi.bios.version: F2
dmi.board.name: GA-880GMA-USB3
dmi.board.vendor: Gigabyte Technology Co., Ltd.
dmi.board.version: x.x
dmi.chassis.type: 3
dmi.chassis.vendor: Gigabyte Technology Co., Ltd.
dmi.modalias: dmi:bvnAwardSof
dmi.product.name: GA-880GMA-USB3
dmi.sys.vendor: Gigabyte Technology Co., Ltd.
Changed in systemd (Ubuntu): | |
status: | New → Incomplete |
Could you run 'udevadm test-builtin input_id /class/ input/eventXX' for device XX and post the output?
Thanks!