Add help text for controller drivers (#15977)

Added labels and help text for controller drivers. Help was skipped
for those drivers which likely have no alternative on the given
platform.
This commit is contained in:
zoltanvb 2023-12-04 22:42:34 +01:00 committed by GitHub
parent 0b18225664
commit 358d7cc642
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 198 additions and 1 deletions

View File

@ -5341,6 +5341,109 @@ MSG_HASH(
MENU_ENUM_LABEL_INPUT_DRIVER_NULL,
"null"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_ANDROID,
"android"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_CTR,
"ctr"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_DINPUT,
"dinput"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_DOS,
"dos"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_GX,
"gx"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_HID,
"hid"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_LINUXRAW,
"linuxraw"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_PARPORT,
"parport"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_PS2,
"ps2"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_PS3,
"ps3"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_PS4,
"ps4"
)
#ifdef VITA
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_PSP,
"vita"
)
#else
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_PSP,
"psp"
)
#endif
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_QNX,
"qnx"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_RWEBPAD,
"rwebpad"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_SDL_DINGUX,
"sdl_dingux"
)
#ifdef HAVE_SDL2
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_SDL,
"sdl2"
)
#else
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_SDL,
"sdl"
)
#endif
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_SWITCH,
"switch"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_UDEV,
"udev"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_WIIU,
"wiiu"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_XDK,
"xdk"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_XINPUT,
"xinput"
)
MSG_HASH(
MENU_ENUM_LABEL_JOYPAD_DRIVER_NULL,
"null"
)
MSG_HASH(
MENU_ENUM_LABEL_VIDEO_WINDOW_SHOW_DECORATIONS,
"video_window_show_decorations"

View File

@ -160,6 +160,26 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_INPUT_DRIVER_NO_DETAILS), len);
}
break;
case MENU_ENUM_LABEL_JOYPAD_DRIVER:
{
const char *lbl = settings ? settings->arrays.input_joypad_driver : NULL;
if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_JOYPAD_DRIVER_UDEV)))
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_UDEV), len);
else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_JOYPAD_DRIVER_LINUXRAW)))
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_LINUXRAW), len);
else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_JOYPAD_DRIVER_DINPUT)))
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_DINPUT), len);
else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_JOYPAD_DRIVER_XINPUT)))
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_XINPUT), len);
else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_JOYPAD_DRIVER_SDL)))
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_SDL), len);
else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_JOYPAD_DRIVER_PARPORT)))
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_PARPORT), len);
else if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_JOYPAD_DRIVER_HID)))
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_HID), len);
}
break;
case MENU_ENUM_LABEL_MENU_DRIVER:
{
const char *lbl = settings ? settings->arrays.menu_driver : NULL;

View File

@ -1514,7 +1514,7 @@ MSG_HASH(
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_INPUT_DRIVER_UDEV,
"The udev input driver uses the recent evdev joypad API for joystick support. It supports hotplugging and force feedback.\nThe driver reads evdev events for keyboard support. It also supports keyboard callback, mice and touchpads.\nBy default in most distros, /dev/input nodes are root-only (mode 600). You can set up a udev rule which makes these accessible to non-root."
"The udev driver reads evdev events for keyboard support. It also supports keyboard callback, mice and touchpads.\nBy default in most distros, /dev/input nodes are root-only (mode 600). You can set up a udev rule which makes these accessible to non-root."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_INPUT_DRIVER_LINUXRAW,
@ -1532,6 +1532,35 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_JOYPAD_DRIVER,
"Controller driver to use."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_DINPUT,
"DirectInput controller driver."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_HID,
"Low-level Human Interface Device driver."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_LINUXRAW,
"Raw Linux driver, uses legacy joystick API. Use udev instead if possible."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_PARPORT,
"Linux driver for controllers connected parallel port via special adapters."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_SDL,
"Controller driver based on SDL libraries."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_UDEV,
"Controller driver with udev interface, generally recommended. Uses the recent evdev joypad API for joystick support. It supports hotplugging and force feedback.\nBy default in most distros, /dev/input nodes are root-only (mode 600). You can set up a udev rule which makes these accessible to non-root."
)
MSG_HASH(
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_XINPUT,
"XInput controller driver. Mostly for XBox controllers."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_VIDEO_DRIVER,
"Video"

View File

@ -950,6 +950,51 @@ enum msg_hash_enums
MENU_ENUM_LABEL_HELP_INPUT_DRIVER_NULL,
MENU_ENUM_LABEL_HELP_INPUT_DRIVER_NO_DETAILS,
MENU_ENUM_LABEL_JOYPAD_DRIVER_ANDROID,
MENU_ENUM_LABEL_JOYPAD_DRIVER_CTR,
MENU_ENUM_LABEL_JOYPAD_DRIVER_DINPUT,
MENU_ENUM_LABEL_JOYPAD_DRIVER_DOS,
MENU_ENUM_LABEL_JOYPAD_DRIVER_GX,
MENU_ENUM_LABEL_JOYPAD_DRIVER_HID,
MENU_ENUM_LABEL_JOYPAD_DRIVER_LINUXRAW,
MENU_ENUM_LABEL_JOYPAD_DRIVER_PARPORT,
MENU_ENUM_LABEL_JOYPAD_DRIVER_PS2,
MENU_ENUM_LABEL_JOYPAD_DRIVER_PS3,
MENU_ENUM_LABEL_JOYPAD_DRIVER_PS4,
MENU_ENUM_LABEL_JOYPAD_DRIVER_PSP,
MENU_ENUM_LABEL_JOYPAD_DRIVER_QNX,
MENU_ENUM_LABEL_JOYPAD_DRIVER_RWEBPAD,
MENU_ENUM_LABEL_JOYPAD_DRIVER_SDL_DINGUX,
MENU_ENUM_LABEL_JOYPAD_DRIVER_SDL,
MENU_ENUM_LABEL_JOYPAD_DRIVER_SWITCH,
MENU_ENUM_LABEL_JOYPAD_DRIVER_UDEV,
MENU_ENUM_LABEL_JOYPAD_DRIVER_WIIU,
MENU_ENUM_LABEL_JOYPAD_DRIVER_XDK,
MENU_ENUM_LABEL_JOYPAD_DRIVER_XINPUT,
MENU_ENUM_LABEL_JOYPAD_DRIVER_NULL,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_ANDROID,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_CTR,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_DINPUT,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_DOS,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_GX,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_HID,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_LINUXRAW,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_PARPORT,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_PS2,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_PS3,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_PS4,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_PSP,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_QNX,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_RWEBPAD,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_SDL_DINGUX,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_SDL,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_SWITCH,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_UDEV,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_WIIU,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_XDK,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_XINPUT,
MENU_ENUM_LABEL_HELP_JOYPAD_DRIVER_NULL,
MENU_ENUM_LABEL_INPUT_USER_1_BINDS,
MENU_ENUM_LABEL_INPUT_USER_2_BINDS,
MENU_ENUM_LABEL_INPUT_USER_3_BINDS,