Problem with gamepad in ports (Duke\doom\quake)
-
Pi Model or other hardware: 4b
Power Supply used: standart 3v, 5a
RetroPie Version Used ): 4.7.1
Built From: Pre made SD Image on RetroPie website
USB Devices connected: keyboard
Controller used: saitek 360 gamepadHello!)
I need help with gamepad in ports game ( doom, quake,duke).....At first - how activate it in quake? ( i 've played on crt-tv, so my resolution is 720x480p and i could not see any game text in menu ( need use binoculars ;-)
And i could not find where gamepad activate...But at the same time, at recalbox all plays fine - just plug gamepad and play - nothing need to configurate or set up. So idea was - to take config from recalbox and put it in retropie's folder opt\retropie\configs\ports\quake\tyrquake\id1 with with replacement. But after game's launching gamepad still no active. And config changes to old by it own :(
Ok, next game game doom. Somehow I managed to to configurate controls on gamepad:
But right stick is wrong! Y-axis is turn left\right, X-axis - look up\down. How to change it? - I couldn't find any doom's configs to change it manually.... :(Duke32 - all fine, but problem with right stick. Y-axis on gamepad - look up\down work perfectly, x- axis - not work at all. As i understood, some buttons on gamepad are mixed up or not activated. As example , i couldn't bind any game's command\function on start button - it's not work. The start button on gamepad is not start button in game setup menu - it's wrong. And i suppose that with right stick axis same deal...
So i've finf duke's config and looked:
СontrollerAnalogAxes0 = "analog_strafing" ControllerDigitalAxes0_0 = "" ControllerDigitalAxes0_1 = "" ControllerAnalogScale0 = 65536 ControllerAnalogInvert0 = 0 ControllerAnalogDead0 = 2000 ControllerAnalogSaturate0 = 9500 ControllerAnalogAxes1 = "analog_moving" ControllerDigitalAxes1_0 = "" ControllerDigitalAxes1_1 = "" ControllerAnalogScale1 = 65536 ControllerAnalogInvert1 = 0 ControllerAnalogDead1 = 2000 ControllerAnalogSaturate1 = 9500 ControllerAnalogAxes2 = "analog_lookingupanddown" ControllerDigitalAxes2_0 = "" ControllerDigitalAxes2_1 = "" ControllerAnalogScale2 = 49152 ControllerAnalogInvert2 = 0 ControllerAnalogDead2 = 2000 ControllerAnalogSaturate2 = 9500 ControllerAnalogAxes3 = "analog_turning" ControllerDigitalAxes3_0 = "" ControllerDigitalAxes3_1 = "" ControllerAnalogScale3 = 49152 ControllerAnalogInvert3 = 0 ControllerAnalogDead3 = 2000 ControllerAnalogSaturate3 = 9500
As we could see
fragment:
СontrollerAnalogAxes0 = "analog_strafing"
ControllerDigitalAxes0_0 = ""
ControllerDigitalAxes0_1 = ""
ControllerAnalogScale0 = 65536
ControllerAnalogInvert0 = 0
ControllerAnalogDead0 = 2000
ControllerAnalogSaturate0 = 9500
--- responsible for strafing left \ right with the left stick - worksfragment:
ControllerAnalogAxes1 = "analog_moving"
ControllerDigitalAxes1_0 = ""
ControllerDigitalAxes1_1 = ""
ControllerAnalogScale1 = 65536
ControllerAnalogInvert1 = 0
ControllerAnalogDead1 = 2000
ControllerAnalogSaturate1 = 9500- responsible for the movement of the left stick forward / backward - works
fragment:
ControllerAnalogAxes2 = "analog_lookingupanddown"
ControllerDigitalAxes2_0 = ""
ControllerDigitalAxes2_1 = ""
ControllerAnalogScale2 = 49152
ControllerAnalogInvert2 = 0
ControllerAnalogDead2 = 2000
ControllerAnalogSaturate2 = 9500
--- responsible for the movement of the camera up/down with the right stick
-worksand fragment:
ControllerAnalogAxes3 = "analog_turning"
ControllerDigitalAxes3_0 = ""
ControllerDigitalAxes3_1 = ""
ControllerAnalogScale3 = 49152
ControllerAnalogInvert3 = 0
ControllerAnalogDead3 = 2000
ControllerAnalogSaturate3 = 9500- ---according to the idea, he should be responsible for turning the camera left \ right with the right stick - does not work
Therefore, I need to enter some other values into this fragment (although, by analogy with the left stick, everything is identical)
or most likely enter the values of this fragment into some of the further fragments ControllerAnalogAxes4, ControllerAnalogAxes5, ControllerAnalogAxes6, etc. (there are even 8 there)But how to determine which one?
Сould someone suggest any solution??
Full duke config:
https://dropmefiles.com/O8xHL
or
https://pastebin.com/5HJ7ecYv -
QUAKE
Are you using stand-alone TyrQuake or the libretro core lr-tyrquake?
The libretro core is recommended since it utilizes standard RetroArch controls and can therefore be played with a gamepad.
The stand-alone port uses mouse/keyboard controls.
https://retropie.org.uk/docs/Quake/#controls
The stand-alone version has console variables
scr_hudscale
andscr_menuscale
that control these screen elements, but they aren't ported to the libretro core.https://disenchant.net/files/engine/docs-master/tyrquake.html#CONSOLE VARIABLES
I'm not sure exactly how these work since I use the other one, but I think you would just open the console with
~
and then type likescr_menuscale 1.8
or whatever scale factor works for you. You may also be able to set this in a config file somewhere to make it permanent.(Ninja edit: actually it looks like you would query/set these just with the
hudscale
(ormenuscale
?) command, without thescr_
part. Neither one does anything in the version I use so I can't be sure.)In the libretro core, these just scale with the internal resolution and it seems there's nothing else you can do about it. I've settled on 640x400 as a compromise between too chunky (320x200) and too tiny (960x600).
DOOM
Doom also has a libretro core (lr-prboom) that seamlessly integrates your gamepad with standard RetroArch controls. At least this time, however, you can still use a pad with the stand-alone port as well. Once again, I only use the RetroArch version but you can find instructions here to help set inputs on the stand-alone port ZDoom: https://retropie.org.uk/docs/Doom/#zdoom-controls
DUKE
I had a similar issue with Eduke32, my right analog stick x-axis didn't do anything at all and in my case, the y-axis was flipped as well so I'd move the stick up and down and the camera would pan left/right instead.
I never did find a proper solution, but I did get a new controller and it works fine with the new one.
-
For LZDoom, inside Options -> Joystick Options, under Configure Controllers, your gamepad should appear. Select it and you'll see assignments for Axes, which normally should be:
Axis 1: Strafing
Axis 2: Moving Forward
Axis 3: Turning
Axis 4: Looking Up/Down
The rest should be set to NoneAxis 3 and 4 are the right stick, and you probably have their functions swapped.
-
@protocultor said in Problem with gamepad in ports (Duke\doom\quake):
For LZDoom, inside Options -> Joystick Options, under Configure Controllers, your gamepad should appear.
O, great! I just couldn't saw it on my tv:
Thanks!
But where find "esc" button to bind it to gamepad for not use keyboard.
( I've tried to bind f4- options menu to select button on gamepad, but in game when I've push select and options menu appear, then push "b" to enter esc-menu, but esc-menu not appear - just go in game process)@sleve_mcdichael said in Problem with gamepad in ports (Duke\doom\quake):
Are you using stand-alone TyrQuake or the libretro core lr-tyrquake?
Yes, i used TyrQuake.
Ok, I've deleted stand alone TyrQuake and install lr-tyrquake.
The menu has become better:
- But how enable gamepad to bind buttons for this version?? - gamepad still unable.
Quake 2 - right stick - x-axis - not available, y-axis - turn left\right. It mixed up like in duke....
Quake 3 - same story -
Well, quake 2 config located in opt\retropie\configs\ports\quake2\yqake2\baseq2\config .cfg
There the fragment responsible for the sticks, I've suppose:
set joy_axis_leftx "sidemove" set joy_axis_leftx_threshold "0.15" set joy_axis_lefty "forwardmove" set joy_axis_lefty_threshold "0.15" set joy_axis_rightx "yaw" set joy_axis_rightx_threshold "0.15" set joy_axis_righty "pitch" set joy_axis_righty_threshold "0.15"
so i've change it to:
set joy_axis_righty "yaw"
set joy_axis_righty_threshold "0.15"
set joy_axis_rightx "pitch"
set joy_axis_rightxx_threshold "0.15"and save it. Nothing is happening in game, and after exiting it returns to old config
-
So, I have achieved that right-stick y-axis became correct ( look up/down) by changing it in config - so, apparently I'm still changing something there, but WinSCP (through which I connect to raspberry and change everything in config) show me the same old config as if I didn't change anything - is this bug of WinSCP?
zI'm confused
( cause i've definitely changed y-axis to look (was turning, at first), but in config everything is the same as before my changes)0_o
-
well, back to duke....
I've experimented with config file and try to put values from
ControllerAnalogAxes3 = "analog_turning" ControllerDigitalAxes3_0 = "" ControllerDigitalAxes3_1 = "" ControllerAnalogScale3 = 49152 ControllerAnalogInvert3 = 0 ControllerAnalogDead3 = 2000 ControllerAnalogSaturate3 = 9500
to ControllerAnalogAxes4
so got:
ControllerAnalogAxes4 = "analog_turning" ControllerDigitalAxes4_0 = "" ControllerDigitalAxes4_1 = "" ControllerAnalogScale4 = 49152 ControllerAnalogInvert4 = 0 ControllerAnalogDead4 = 2000 ControllerAnalogSaturate4 = 9500
and after that, in game camera begins always turning right, but when i push joystick left it stopped and when pressed right - rotate faster right.
So, i suppose that is right fragment ( in other 5-8 axis fragments joystick no response) for my gamepad....
But, now i need to understand what values i need to enter there (49152,0,2000,9500) to stop always rotationsMaybe there are knowledgeable people here
And I would like to hear their opinion -
@iga said in Problem with gamepad in ports (Duke\doom\quake):
But where find "esc" button to bind it to gamepad for not use keyboard.
( I've tried to bind f4- options menu to select button on gamepad, but in game when I've push select and options menu appear, then push "b" to enter esc-menu, but esc-menu not appear - just go in game process)Enter in "Options" -> "Go to console", and in this console type:
bind joy9 menu_main
Replace
joy9
for the button you want to bind as the main menu. You can find out which is it by setting any unused action to this button in "customize controls"; the button name should appear when you set it. You can then do the manual binding in the console described above, it will replace what you just set in options. -
@protocultor said in Problem with gamepad in ports (Duke\doom\quake):
Enter in "Options" -> "Go to console", and in this console type:
Ооооооооо, great, thanks!
Well, with doom all fine, now need to find out how enable pad in lr-tyrquake
And have dealings with the right stick in quake 2\3 and dukeMaybe for those games need some same console command like in doom?
( i still not understood how work config in quake 2 - I'm change those values and the game apply it, but after quit from game - config stay the same original. And in game right stick only not work left direction, other up\down\right work well, and in option menu function "turn right" bind as trig_left, so maybe in console i need to write something about left-direction as trigger_right?? In options menu it's unable to bind to x axis left)
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.