retroarch-joypad-autoconfig/dinput/8Bitdo_M30_BT.cfg
Rob Loach a57f1489ac
Fix 8BitDo Controller Input Device Names (#1065)
* Revert "Rename 8Bitdo to 8BitDo"

* Revert "Update and rename 8Bitdo_N30_Modkit_BT.cfg to 8BitDo_N30_Modkit_BT.cfg"

This reverts commit b45fbaf8e6.

* Revert "Update and rename 8Bitdo NES30 Pro   8Bitdo NES30 Pro.cfg to 8BitDo NES30 Pro   8Bitdo NES30 Pro.cfg"

This reverts commit 91bf5c0c4f.

* Rename the display name for '8Bitdo' to be '8BitDo'

* Rename the comments at the top of files to '8BitDo'

* Revert "Rename the comments at the top of files to '8BitDo'"

This reverts commit 07a74f730c.
2023-12-11 00:08:58 -05:00

78 lines
3.1 KiB
INI

# 8BitDo M30 Bluetooth controller
# https://www.8bitdo.com/m30/
# https://support.8bitdo.com/
# Firmware v1.15
#
# This configuration is for when the controller is connected by Bluetooth, and there's a corresponding one for when it is connected by USB.
#
# It's best to use this controller in DirectInput mode (which the manual calls "Android (D - input)") rather than XInput mode because in XInput mode it identifies itself using a generic product ID and a generic name that is shared with other 8BitDo controllers. That means that it's impossible to change the RetroArch configuration for it without also affecting the configuration of other 8BitDo controllers that have different layouts. In DirectInput mode the controller uses a unique product ID so we can recognize and configure it distinctly.
input_device_display_name = "8BitDo M30"
input_driver = "dinput"
input_device = "Bluetooth Wireless Controller "
input_vendor_id = "11720"
input_product_id = "1617"
# Buttons:
# The RetroPad layout has four face buttons, whereas the M30 has six. We map the M30's L and R buttons to the RetroPad's triggers, and map the M30's Z and C buttons to the RetroPad's left and right shoulder buttons respectively. That may seem somewhat counterintuitive but it follows the convention that is used in many cores for systems that have six face buttons in this layout. That allows the controller to be autoconfigured and work in the natural way in the Beetle Saturn core, and in 6-button fighting games in the FinalBurn Neo and MAME cores.
input_a_btn = "1"
input_b_btn = "0"
input_x_btn = "4"
input_y_btn = "3"
input_l_btn = "6"
input_r_btn = "7"
input_l2_btn = "8"
input_r2_btn = "9"
input_select_btn = "10"
input_start_btn = "11"
input_menu_toggle_btn = "2"
input_a_btn_label = "B"
input_b_btn_label = "A"
input_x_btn_label = "Y"
input_y_btn_label = "X"
input_l_btn_label = "Z"
input_r_btn_label = "C"
input_l2_btn_label = "L"
input_r2_btn_label = "R"
input_select_btn_label = "Minus (-)"
input_start_btn_label = "Start"
input_menu_toggle_btn_label = "Heart"
# D-Pad:
input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
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"
# The controller can be configured to have the D-Pad report inputs as either a left or right analog stick instead of as a digital D-Pad:
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_l_x_plus_axis_label = "D-Pad Right (Analog Stick Mode)"
input_l_x_minus_axis_label = "D-Pad Left (Analog Stick Mode)"
input_l_y_plus_axis_label = "D-Pad Down (Analog Stick Mode)"
input_l_y_minus_axis_label = "D-Pad Up (Analog Stick Mode)"
input_r_x_plus_axis = "+2"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+5"
input_r_y_minus_axis = "-5"
input_r_x_plus_axis_label = "D-Pad Right (Analog Stick Mode)"
input_r_x_minus_axis_label = "D-Pad Left (Analog Stick Mode)"
input_r_y_plus_axis_label = "D-Pad Down (Analog Stick Mode)"
input_r_y_minus_axis_label = "D-Pad Up (Analog Stick Mode)"