Skip to content

Commit

Permalink
Update and rename Nintendo Co., Ltd. Pro Controller (old).cfg to Pro …
Browse files Browse the repository at this point in the history
…Controller (default-off).cfg

The individual responsible for uploading the file inadvertently swapped the non-HID autoconfig file with the HID autoconfig file. You can access the non-HID file [here](libretro@3abfcb2) and the HID file [here](libretro@3abfcb2).

To address this issue, I:
* Removed "(old)" from the non-HID file and added "(default-off)" to the HID file to align with our updated naming convention.
* Swapped their autoconfig data.

However, he was correct about one detail. He included `input_device = "Pro Controller"` (Bluetooth identifier name), which I mistakenly later changed to `input_device = "Nintendo Co., Ltd. Pro Controller"` (USB identifier name) ([source](libretro@98b1591)). The non-HID driver does not support USB connection for this controller, only Bluetooth.

I made this change because I believed the udev controller driver identified the controller using `input_vendor_id` / `input_product_id`, as generated by "Save Controller Profile" in RetroArch, but later discovered that udev relies on `input_device`, which led me to file a bug report. Consequently, I edited this file:
* I removed the commented variables `input_product_id` and `input_vendor_id` which fail to disable this controller.
* Commented `input_device = Pro Controller` to disable this controller to leave file name space for `Pro Controller.cfg` (HID) since Linux 6.8.0 (Ubuntu 24.04) also identifies this controller as "Pro Controller".

I filed this issue just a few days ago:
* [GitHub Issue](libretro/RetroArch#16904)

Additionally, I removed the comments as a standard procedure. "non-HID" is included in `input_device_display_name`.
  • Loading branch information
davidhedlund authored Aug 26, 2024
1 parent 6989394 commit 0334cd9
Showing 1 changed file with 22 additions and 40 deletions.
Original file line number Diff line number Diff line change
@@ -1,53 +1,22 @@
# [This version is disabled by default to prevent conflict with the nintendo-hid version. Button layouts are not compatible.]
# Nintendo Switch Pro Controller (without nintendo-hid, bluetooth only)
# Without nintendo-hid, various features such as vibration, gyro, and USB support are unavailable. It appears this will be included in the Linux kernel beginning with version 5.16:
# "Pull HID updates from Jiri Kosina:
#
# - support for Nintendo Switch Pro Controllers and Joy-Cons (Daniel J.
# Ogorchock)" - https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.16
#
# The easiest solution for most users is to install the nintendo-hid DKMS module, available from https://github.com/nicman23/dkms-hid-nintendo/
# Screenshot button (circle) is unbound in this autoconf, but has an ID of 13

input_driver = "udev"
input_device = "Nintendo Co., Ltd. Pro Controller"
input_device_display_name = "Nintendo Switch Pro Controller (old)"

# input_vendor_id = "1406"
# input_product_id = "8201"

input_a_btn = "1"
#input_device = "Pro Controller"
input_device_display_name = "Nintendo Switch Pro Controller (Linux 5.15, non-HID) (Bluetooth)"
input_b_btn = "0"
input_x_btn = "3"
input_y_btn = "2"
input_select_btn = "8"
input_start_btn = "9"
input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
input_a_btn = "1"
input_x_btn = "3"
input_l_btn = "4"
input_r_btn = "5"
input_l2_btn = "6"
input_r2_btn = "7"
input_l3_btn = "10"
input_r3_btn = "11"
input_menu_toggle_btn = "12"

input_a_btn_label = "A"
input_b_btn_label = "B"
input_x_btn_label = "X"
input_y_btn_label = "Y"
input_select_btn_label = "Minus"
input_start_btn_label = "Plus"
input_l_btn_label = "L"
input_r_btn_label = "R"
input_l2_btn_label = "ZL"
input_r2_btn_label = "ZR"
input_l3_btn_label = "Left Stick Press"
input_r3_btn_label = "Right Stick Press"
input_menu_toggle_btn_label = "Home"

input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
Expand All @@ -56,11 +25,23 @@ input_r_x_plus_axis = "+2"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+3"
input_r_y_minus_axis = "-3"

input_menu_toggle_btn = "12"
input_b_btn_label = "B"
input_y_btn_label = "Y"
input_select_btn_label = "Minus"
input_start_btn_label = "Plus"
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 = "A"
input_x_btn_label = "X"
input_l_btn_label = "L"
input_r_btn_label = "R"
input_l2_btn_label = "ZL"
input_r2_btn_label = "ZR"
input_l3_btn_label = "Left Stick Press"
input_r3_btn_label = "Right Stick Press"
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)"
Expand All @@ -69,3 +50,4 @@ 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 = "Home"

0 comments on commit 0334cd9

Please sign in to comment.