Gamepads are comfortable
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mupen64plus |
Fix Released
|
Unknown
|
|||
One Hundred Papercuts |
Fix Committed
|
Low
|
Unassigned | ||
mupen64plus-input-sdl (Ubuntu) |
Fix Committed
|
Low
|
Unassigned | ||
Bug Description
As reported in (https:/
Using a generic PlayStation like game pad (Logitech Dual Action 2), the automatic configuration has major usability drawbacks:
- The analog range is too short, making movement hard. In Super Smash Bros, characters don't jump diagonally.
- C-buttons, instead of isolated as in the original console game pad, are placed in the second analog. This makes pressing buttons by accident a frequent issue. In Golden Eye camera movement prevents the game from been playable, where in Road Rash you frequently discard weapons permanently.
- Z-trigger and Left-trigger are placed both in the left triggers of the game pad. But you usually need to press both simultaneously, where that placement only allows pressing one button at a time.
The solution is this:
- Ignore the console's native analog range, and choose a wider one.
- Place C-buttons in the game pad triggers.
- Place the Z-trigger in the regular button's side, where pressing the rest is usable.
After testing thoroughly various configurations with multiple games, the following seems to be the one that responds better in any circumstance (config file):
# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes.
AnalogDeadzone = "338,338"
# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value
AnalogPeak = "21200,21200"
# Digital button configuration mappings
DPad R = "axis(4+) hat(0 Right)"
DPad L = "axis(4-) hat(0 Left)"
DPad D = "axis(5+) hat(0 Down)"
DPad U = "axis(5-) hat(0 Up)"
Start = "button(9)"
Z Trig = "button(2)"
B Button = "button(0)"
A Button = "button(1)"
C Button R = "button(5)"
C Button L = "button(4)"
C Button D = "button(7)"
C Button U = "button(6)"
R Trig = "button(3)"
L Trig = "button(8)"
Mempak switch = ""
Rumblepak switch = ""
# Analog axis configuration mappings
X Axis = "axis(0-,0+)"
Y Axis = "axis(1-,1+)"
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: mupen64plus-
ProcVersionSign
Uname: Linux 4.4.0-36-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: amd64
CurrentDesktop: Unity
Date: Fri Sep 16 17:36:29 2016
InstallationDate: Installed on 2013-01-25 (1329 days ago)
InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Release amd64 (20121017.5)
SourcePackage: mupen64plus-
UpgradeStatus: Upgraded to xenial on 2016-08-05 (41 days ago)
description: | updated |
no longer affects: | mupen64plus |
Changed in hundredpapercuts: | |
importance: | Undecided → Low |
Changed in mupen64plus-input-sdl (Ubuntu): | |
status: | New → Triaged |
Changed in hundredpapercuts: | |
status: | New → Triaged |
summary: |
- The default gamepad config is quite unusable + Good gamepad defaults |
summary: |
- Good gamepad defaults + Gamepads are comfortable |
description: | updated |
Changed in hundredpapercuts: | |
status: | Triaged → Fix Committed |
Changed in mupen64plus: | |
status: | Unknown → Fix Released |
Fix is in 2.5.9-1. It is currently only in ubuntu but should hit the ubuntu archives after the 2.6 release of mupen64plus- input-sdl