evdev device for retro-bit NES controller adapter isn't set up as a joystick

Bug #1452204 reported by Stephan Sokolow
8
This bug affects 1 person
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_INPUT_JOYSTICK}="1"

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
ProcVersionSignature: Ubuntu 3.13.0-48.80-generic 3.13.11-ckt16
Uname: Linux 3.13.0-48-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.14.1-0ubuntu3.10
Architecture: amd64
CurrentDesktop: LXDE
CustomUdevRuleFiles: 99-escpos.rules 49-teensy.rules 99-nes-controller.rules 99-TrueRNG.rules
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=/boot/vmlinuz-3.13.0-48-generic root=UUID=d8313afd-996d-4d2c-9764-02e9336e03fd ro verbose
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:bvnAwardSoftwareInternational,Inc.:bvrF2:bd03/07/2011:svnGigabyteTechnologyCo.,Ltd.:pnGA-880GMA-USB3:pvr:rvnGigabyteTechnologyCo.,Ltd.:rnGA-880GMA-USB3:rvrx.x:cvnGigabyteTechnologyCo.,Ltd.:ct3:cvr:
dmi.product.name: GA-880GMA-USB3
dmi.sys.vendor: Gigabyte Technology Co., Ltd.

Revision history for this message
Stephan Sokolow (ssokolow) wrote :
Revision history for this message
Juston Li (jhli) wrote :

Could you run 'udevadm test-builtin input_id /class/input/eventXX' for device XX and post the output?

Thanks!

Martin Pitt (pitti)
Changed in systemd (Ubuntu):
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for systemd (Ubuntu) because there has been no activity for 60 days.]

Changed in systemd (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.