Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Port Control Configs (Doom and Quake)



  • This is my first time using retropie, so this is probably a noobish problem, but I've been setting up a bunch of ports on a Raspberry Pi 3. I don't entirely understand how the retroarch configs work for different games.

    What I'm trying to do is set up Doom and Quake controls so they use a more modern control scheme i.e. Left stick moves, right stick looks. I've looked here for solutions, and I found two posts exactly relating to my issues, but when I try to implement them, they don't work.

    Doom: https://retropie.org.uk/forum/topic/3640/prboom-with-modern-control-scheme/2

    Quake un-invert stick: https://retropie.org.uk/forum/topic/9789/disable-reverse-the-right-stick-up-down-stock-invert-for-libretro-tyrquake

    I'm using lr-prboom and lr-tyrquake respectively. I've tried the solutions they post, but for quake, if I add those lines to the retroarch configs, the controller stops working all together. And Doom is all over the place the left stick now moves right and left, but it also switches weapons.



  • I reset the controls to default within the doom menu itself, and that solved a most of my problems, but now I want to just change it a little bit more.
    I think I understand the doom config.

    This is my current config.

    input_player1_start_btn = "9"
    input_player1_select_btn = "8"
    input_player1_up_btn = "4"
    input_player1_down_btn = "6"
    input_player1_left_btn = "20"
    input_player1_right_btn = "21"
    input_player1_up_axis = "-1"
    input_player1_down_axis = "+1"
    input_player1_left_axis = "-2"
    input_player1_right_axis = "+2"
    input_player1_a_btn = "13"
    input_player1_b_btn = "14"
    input_player1_x_btn = "7" # this is the button used for fire. it is set to "9" "r1" right trigger button. change it to "14" for "b" button (sony's X button)
    input_player1_y_btn = "15"
    input_player1_l_axis = "-0"
    input_player1_r_axis = "+0"
    input_player1_l_btn = "7"
    input_player1_r_btn = "5"
    input_player1_l2_btn = "10"
    input_player1_r2_btn = "11"
    input_player1_l3_btn = "1"
    input_player1_r3_btn = "2"
    

    Someone please correct me if this is wrong, but I think each line is mapping the default control to whatever button is actually being pressed.

    i.e. I press the select button, that corresponds to button 8 according to jstest, so retroarch maps it to the default select button. And when I move the right stick (axis 0) retroarch sees that as the look right and left axis.

    How do I set it so that using the dpad also moves the player (or at least navigates the menus)? jstest reads the dpad buttons as axes, and I don't know how to map those. I tried just + and - the axis number, but that didn't work.

    Also, some buttons behave weirdly. I mapped the trigger to act like the x button, but now it both fires and moves me back and to the left. The left trigger looks right, and the shoulder buttons strafe right and left.



  • Alright, I'm an idiot. I realized I mapped multiple buttons to the triggers and shoulder buttons. That's why I was moving and shooting and changing weapons while strafing. I still haven't figured out a way to map the d-pad so it actually does something.



  • Alright here's the doom config in case anyone else would like to use it. I kept the standard retroarch configs, and just remapped the ones I wanted to change.

    For some reason I thought that I had to map every button, but if I leave something out, it just uses the default option.

    input_remapping_directory = "/opt/retropie/configs/ports/doom/"
    
    input_player1_up_axis = "-1" 	#move forward
    input_player1_down_axis = "+1"	#move back
    input_player1_left_axis = "-2"	#look left
    input_player1_right_axis = "+2" #look right
    input_player1_a_btn = "2"		#use
    input_player1_x_btn = "7"		#fire
    input_player1_y_btn = "1"		#run
    input_player1_l_axis = "-0"		#strafe left
    input_player1_r_axis = "+0"		#strafe right
    input_player1_l2_btn = "4"		#previous weapon
    input_player1_r2_btn = "5"		#next weapon
    
    #include "/opt/retropie/configs/all/retroarch.cfg"
    

    This remaps look to right stick, and movement to left, as well as run to 'B' use to 'A' fire to right trigger, and weapon select to left and right shoulder. Now back to quake configs.



  • Regarding quake:

    Again I'm an idiot. I never checked to see if the +3 and -3 were the actual values. The axis on a PS4 controller is actually + and - 5. So all I had to do was replace the 3s with 5s. Not sure why binding it to 3 made the controller unresponsive though.

    input_remapping_directory = "/opt/retropie/configs/ports/quake/"
    
    input_player1_r_y_minus_axis = "+5"
    input_player1_r_y_plus_axis = "-5"
    
    #include "/opt/retropie/configs/all/retroarch.cfg"
    


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.