XBOX 360 Controller - Analog Stick Jumpy/Fast

Anyone else have trouble configuring the layout in N64 using XBOX 360 controller in RetroArch?

The Analog Stick is very jumpy (too fast) and can’t seem to control the game play. D-Pad works just fine, but the Analog is super fast.

Would like left analog to behave like the D-Pad … but you barely touch the stick and things go zippy in the game.

input_driver = “dinput” input_joypad_driver = “dinput” input_keyboard_layout = “” input_device_p1 = “0” input_player1_joypad_index = “2” input_libretro_device_p1 = “1” input_player1_analog_dpad_mode = “0” … input_player1_up = “up” input_player1_up_btn = “h0up” input_player1_up_axis = “nul” input_player1_down = “down” input_player1_down_btn = “h0down” input_player1_down_axis = “nul” input_player1_left = “left” input_player1_left_btn = “h0left” input_player1_left_axis = “nul” input_player1_right = “right” input_player1_right_btn = “h0right” input_player1_right_axis = “nul” … input_player1_l_x_plus = “right” input_player1_l_x_plus_btn = “h0right” input_player1_l_x_plus_axis = “nul” input_player1_l_x_minus = “left” input_player1_l_x_minus_btn = “h0left” input_player1_l_x_minus_axis = “nul” input_player1_l_y_plus = “down” input_player1_l_y_plus_btn = “h0down” input_player1_l_y_plus_axis = “nul” input_player1_l_y_minus = “up” input_player1_l_y_minus_btn = “h0up” input_player1_l_y_minus_axis = “nul”

increase deadzone

I tried, although not sure I was changing this value in the right spot.

a) .\RetroArch\retroarch-core-options.cfg b) .\RetroArch\config\retroarch-core-options.cfg

I tried changing the value from 15 to 30 in both of these files, but for some reason the one in (a) kept reverting back to 15.

mupen64-astick-deadzone = “15”

you should really just utilize retroarchs own controller menu and adjust Analog Stick Deadzone, increase it somewhere to 0.600(at least on my 360)

Ok, thanks for the suggestion.

I tried that through retroarch GUI — SETTINGS / INPUT / Input Axis Threshold

Changed it from 0.5 to .99 and also down to .01 and did not notice any change. Left analog still does wildly fast movements in games.

Next I went back at the CFG files…

Changed Left Analog to be D-Pad mode by a reference I found on the web (see below)

input_player1_analog_dpad_mode = “1”

Next I changed the Axis Threshold

input_player1_l_x_plus_axis = “+3” input_player1_l_x_minus_axis = “+3” input_player1_l_y_plus_axis = “+3” input_player1_l_y_minus_axis = “+3”

I tried all combinations of really small numbers to really large numbers (-4, 0.01, 0.99, +15, +30) and still nothing is different.

Not sure where to go from here … isn’t there a consolidated document which outlines all of the RetroArch CFG settings?

(references)

The retroarch option input_player1_analog_dpad_mode = “1” tells retroarch to use the left analog stick as a dpad. (0=no remapping, 1=left analog stick, 2=right analog stick). The actual dpad works at the same time. This option does not interfere with a joypad without analog stick.

Defines axis threshold. Possible values are [0.0, 1.0]

input_axis_threshold = 0.5

input_axis_threshold defines the deadzone when you map analogs to D-pad/buttons (as RetroPad binds). It does not affect true analog input.

See https://libretro.com/forums/showthread.php?t=7778

Turns out a mapping by Joy2Key was the problem.

you should really just utilize retroarchs own controller menu and adjust Analog Stick Deadzone, increase it somewhere to 0.600(at least on my 360)

This currently works for the frontend, but is it working for the different cores ? I got absolutely no differences on different cores, and currently have a lot of problem with my right joystick (X360 pad) going crazy in some specific games, being recognized as oversensitive. Have to say it’s not a brand new pad, but it works pretty well for pretty much any game, here I guess some cores have zero tolerance and I can’t find a workaround if the deadzone option is not included in dynamic core options… Also tried with standalone emulator versions of the said cores, it works fine…