Skip to content
Closed
61 changes: 61 additions & 0 deletions linuxraw/Wireless Controller.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
input_driver = "linuxraw"
# The files "Sony Interactive Entertainment Wireless Controller.cfg" and "Wireless Controller.cfg" should have identical content except for the input_device variable. This difference allows thelinuxraw driver to recognize the controller on various Linux kernel versions.
input_device = "Wireless Controller"
input_device_display_name = "Sony DualShock 4 v2 Controller"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you able to get the input_vendor_id and input_product_id?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The linuxraw driver does not utilize the Vendor ID and Product ID. This is thoroughly explained in the documentation available at https://docs.libretro.com/guides/controller-autoconfiguration/.


input_b_btn = "0"
input_y_btn = "3"
input_select_btn = "8"
input_start_btn = "9"
input_up_axis = "-7"
input_down_axis = "+7"
input_left_axis = "-6"
input_right_axis = "+6"
input_a_btn = "1"
input_x_btn = "2"
input_l_btn = "4"
input_r_btn = "5"
# See https://github.com/libretro/RetroArch/issues/6920
# RetroArch's in-app feature to create autoconfig files is flawed and will attempt to create the 2 lines :
# input_l2_btn = "6"
# input_r2_btn = "7"
# Those 2 lines are a downgrade from the 2 following lines which additionally allow l2/r2 to be polled as analog axes :
input_l2_axis = "+2"
input_r2_axis = "+5"
input_l3_btn = "11"
input_r3_btn = "12"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
input_r_x_plus_axis = "+3"
input_r_x_minus_axis = "-3"
input_r_y_plus_axis = "+4"
input_r_y_minus_axis = "-4"
input_menu_toggle_btn = "10"

input_b_btn_label = "Cross"
input_y_btn_label = "Square"
input_select_btn_label = "Create"
input_start_btn_label = "Options"
input_a_btn_label = "Circle"
input_x_btn_label = "Triangle"
input_l_btn_label = "L1"
input_r_btn_label = "R1"
input_l2_axis_label = "L2"
input_r2_axis_label = "R2"
input_l3_btn_label = "L3"
input_r3_btn_label = "R3"
input_up_btn_label = "D-Pad Up"
input_down_btn_label = "D-Pad Down"
input_left_btn_label = "D-Pad Left"
input_right_btn_label = "D-Pad Right"
input_l_x_plus_axis_label = "Left Analog X+ (Right)"
input_l_x_minus_axis_label = "Left Analog X- (Left)"
input_l_y_plus_axis_label = "Left Analog Y+ (Down)"
input_l_y_minus_axis_label = "Left Analog Y- (Up)"
input_r_x_plus_axis_label = "Right Analog X+ (Right)"
input_r_x_minus_axis_label = "Right Analog X- (Left)"
input_r_y_plus_axis_label = "Right Analog Y+ (Up)"
input_r_y_minus_axis_label = "Right Analog Y- (Up)"
input_menu_toggle_btn_label = "PS"