jamieduk / mupen64plus

Automatically exported from code.google.com/p/mupen64plus
1 stars 0 forks source link

change the % felt of the analogue stick input #67

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Originally posted by bowie on emutalk:

"I note in [the 1964] emulator their is a switch to change the % felt of
the analogue stick input."

Opening this issue to see if we want to add this feature to blight input.

Original issue reported on code.google.com by ebenbl...@gmail.com on 20 Apr 2008 at 3:38

GoogleCodeExporter commented 9 years ago
you mean a deadzone?

Original comment by sgorman07@gmail.com on 20 Apr 2008 at 3:48

GoogleCodeExporter commented 9 years ago
I believe this is a dupe, see Issue 14.

Original comment by sknau...@wesleyan.edu on 20 Apr 2008 at 4:10

GoogleCodeExporter commented 9 years ago
No, issue 14 is for keyboard, this is for a gamepad.

Original comment by sgorman07@gmail.com on 20 Apr 2008 at 4:34

GoogleCodeExporter commented 9 years ago
Yeah, issue 14 is for users that do not have an analog stick.

Original comment by ebenbl...@gmail.com on 20 Apr 2008 at 4:40

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Since blight's input plugin relies on SDL, it's an SDL issue, which can easily 
be
fixed, I guess. Punch in "jscal /dev/input/js0 -c" (in case js0 is your 
controller)
to calibrate. Yet these settings aren't saved while rebooting, so type "jscal
/dev/input/js0 -p" to get the command to execute to get your controller
calibrated again and save it somewhere.
This may not be the best way to accomplish this, but the only one I found so 
far.

Original comment by shinydo...@gmail.com on 20 Apr 2008 at 7:44

GoogleCodeExporter commented 9 years ago
i use gamepad companion for mapping, so even the slightest tilt is 100% strong. 
it
would be nice to have this, especially for games like smash brothers.

if the above comment (shinydoofy) solved it, it would be nice if someone could
explain it a little better. i dont have the directory /dev/input/ since i am on 
a mac.

Original comment by darkmags...@gmail.com on 2 Mar 2009 at 9:14

GoogleCodeExporter commented 9 years ago
i figured out how to directly use blight input with my gamepad, and the % felt 
seems
fine to me. if i tilt it a little it goes a little, and if i tilt it all the 
way, it
goes all the way. this happens on both my mac OSX comp and my Ubuntu Linux with 
no
need to calibrate on either system. although if i were having this issue, i 
would try
recalibrating, just in case.

Original comment by darkmags...@gmail.com on 9 Mar 2009 at 8:25

GoogleCodeExporter commented 9 years ago
I am using a gamepad on Mac OS X, and pushing all the way on the joystick 
causes the
character to move slowly. There is no way that I could find to calibrate the 
joystick
on Mac OS X.

Original comment by preotgee...@gmail.com on 9 Mar 2009 at 8:30

GoogleCodeExporter commented 9 years ago
preotgeerrs, maybe you should try to install jscal from macports?
http://www.macports.org/

maybe this? "sudo port install jscal"

Original comment by darkmags...@gmail.com on 10 Mar 2009 at 9:31

GoogleCodeExporter commented 9 years ago
Yes, please add this feature.

I have calibrated my controller's analogue stick with jscal and there is no 
change.
The current manner in which the analogue operates makes the resulting gameplay 
so
jumpy that I can't really play any game that uses the analogue as a primary 
function
of its gameplay.

For instance, trying to aim your weapon in Goldeneye results in such violent 
jumps of
the crosshairs that its effectively impossible to aim at all.

Original comment by PsiStorm...@gmail.com on 15 Apr 2009 at 2:48

GoogleCodeExporter commented 9 years ago
I can confirm that jscal does not seem to have any effect when using mupen64plus
compiled from source or pre-compiled (v1.5).  I tried calibrating it to really 
dumb
values and confirmed the calibration was in effect using jstest but did not see 
any
noticeable change in how the game responded.

I'm running Ubuntu Linux 9.04.

Original comment by mcmichae...@gmail.com on 13 Aug 2009 at 5:51

GoogleCodeExporter commented 9 years ago
I've done some more research on this (and hacked in a very system-specific 
solution
for my particular joystick calibration settings) and have some results to 
report:

After system reboot, but before running jscal, values reported from
SDL_JoystickGetAxis are identical to those reported by the jstest utility.  
However,
after jscal is run the values in jstest are properly normalized to Sint16 
(-32767 and
32767 or whatever), but the values reported by SDL_JoystickGetAxis are NOT 
correctly
normalized, they are still the original value.

// ---- Only read below if you're interested in a temporary hack to fix the 
issue

So my solution was to look at what the maximums reported by my joystick (an 
original
N64 controller connected via the raphnet adapter [
http://www.raphnet.net/electronique/gc_n64_usb/index_en.php ] ) were using
SDL_JoystickgetAxis(), then calculate a better divisor than the 409 value used 
(which
is calculated based on a full +/-32767 swing).  I ended up using 250 and that 
is working.

Original comment by mcmichae...@gmail.com on 15 Aug 2009 at 9:21

GoogleCodeExporter commented 9 years ago
I'm having the same problem with my calibrations having no effect. I've tried 
both
jscalibrator (http://packages.ubuntu.com/jaunty/jscalibrator) and jscal
(http://packages.ubuntu.com/karmic/joystick), and while both programs recognize 
input
from my N64 controller connected via USB adapter, nothing I do in either 
improves
joystick performance. I even calibrated my joystick in both so that the min and 
max
axis positions were equal to the resting position, and there was no change.

When using the controller in Mupen 64 Plus, it seems there's a null zone around 
the
center (I have to move the joystick about 1/3 of the way for movement to be 
detected)
and when I push the control stick to it's max. position the games react as if 
it were
only pushed 3/4 of the way. The full range is recognized in both calibration 
programs.

Original comment by gasph...@gmail.com on 19 Nov 2009 at 4:02

GoogleCodeExporter commented 9 years ago
I am having a very similar problem. I cannot get the full movement from my 
analog
stick. ex. mario will creep, then only walks and will not run if I move the 
stick all
the way. 

Original comment by ummmim...@gmail.com on 10 Dec 2009 at 1:11

GoogleCodeExporter commented 9 years ago
If your joystick calibration isn't working, it could be because SDL on your 
system
was set at compile time to look at /dev/input/event* generic event devices 
instead of
/dev/input/js* joystick devices; your joystick is accessible through either, 
but js*
outputs calibrated data and event* doesn't. Your SDL library has to be custom
compiled to look at the js* devices instead, or as a workaround you can add the
following line to /etc/evironment and restart your computer:
SDL_JOYSTICK_DEVICE="/dev/input/js0"

The workaround only works for 1 controller though. :(

Original comment by gasph...@gmail.com on 10 Dec 2009 at 1:28

GoogleCodeExporter commented 9 years ago
gasphynx - sorry that did not work for me.
After trying project64 in wine I found the option called "Range" which, when
adjusted, fixed the problem for that emulator. If mupun64plus could have that 
option
it should also work. 

Original comment by ummmim...@gmail.com on 11 Dec 2009 at 2:17

GoogleCodeExporter commented 9 years ago
The solution I mentioned has to be used in conjunction with jscal, and the jscal
settings have to be reapplied after every restart. What I did was after 
calibrating
with jscal, I ran "jscal -p /dev/input/js0" and "jscal -p /dev/input/js0". I 
copied
the output and pasted it in a file named .jscal in my home directory like so:

#!/bin/bash
jscal -s
4,1,0,128,128,6627834,7254791,1,2,128,128,-6391125,-6100620,1,0,128,128,6627834,
7354172,1,2,128,128,-6391125,-6242495
/dev/input/js0
jscal -u 
4,0,1,2,5,16,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303
/dev/input/js0

After every restart I open a terminal and run ./.jscal in my home directory 
before
using Mupen and the settings are reapplied.

Original comment by gasph...@gmail.com on 11 Dec 2009 at 2:38

GoogleCodeExporter commented 9 years ago
I have heavily modified the SDL input plugin code for the upcoming Mupen64Plus
release, and there is now an option called "AnalogPeak" which allows you to set 
the
maximum value returned by an analog stick, so that it will be scaled correctly.

Original comment by richard...@gmail.com on 11 Jan 2010 at 12:57