libretro / retroarch-joypad-autoconfig

RetroArch joypad autoconfig files
MIT License
287 stars 364 forks source link

Inconsistent labeling for pressure sensitive buttons on PlayStation controllers for PlayStation 2 or later #1163

Closed davidhedlund closed 6 days ago

davidhedlund commented 1 month ago

Description

The current labels for PlayStation 2 and later controllers do not consistently indicate pressure sensitivity. Specifically, the labels for L2 and R2 buttons do not include the term "Analog," which is used for other pressure-sensitive controls.

Variables with a name ending in _axis_label and including "Analog" indicate pressure sensitivity. However, the current labels for L2 and R2 do not follow this convention, even though these buttons are pressure-sensitive on PlayStation 2 and later controllers. Updating these labels will improve consistency and clarity in the codebase.

Current Labels for controllers for PlayStation 2 and later

input_b_btn_label = "Cross"
input_y_btn_label = "Square"
input_select_btn_label = "Create"
input_start_btn_label = "Options"
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_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_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+ (down)"
input_r_y_minus_axis_label = "Right Analog Y- (up)"
input_menu_toggle_btn_label = "PS"

Current Labels for controllers for PlayStation Classic

The original PlayStation controller does not use analog triggers:

example for udev:

input_l_btn = "6"
input_l2_btn = "4"

Proposed Changes

To maintain consistency and clarity, and to distinguish PS 1 from controllers for PlayStation 2 or later, I propose updating the labels for the L2 and R2 buttons to explicitly indicate their pressure sensitivity by including the term "Analog."

Change:

input_l2_axis_label = "L2"
input_r2_axis_label = "R2"

To:

input_l2_axis_label = "L2 Analog"
input_r2_axis_label = "R2 Analog"

This change will make it clear that L2 and R2 buttons are pressure-sensitive, aligning with the labeling convention used for other analog controls.

Affected projects

If implemented, the labels should be updated in the following projects:

RobLoach commented 3 weeks ago

In most places, the controller shows these labels as L2 and R2, without specifically depicting "Analog", so I don't believe this is needed. For example... controller_ps2_diagram

davidhedlund commented 1 week ago

In most places, the controller shows these labels as L2 and R2, without specifically depicting "Analog", so I don't believe this is needed. For example... controller_ps2_diagram

I see. Well, it would be beneficial if we could distinguish non-analog L2/R2 controllers (original PlayStation controller), and analog L2/R2 controllers (PS2 and later). I don't mind if we call them "L2 Trigger" and / "R2 Trigger" instead:

image

davidhedlund commented 1 week ago