RetroArch/tests-other/testinput_device_reservation_test.cfg
zoltanvb a9968e9e86 Controller device reservation / preference.
For each player, 2 new options are added:
- a reservation type (no reservation, preferred, reserved)
- a reserved device name

When handling port - player assignments, reserved devices
will be assigned to the respective player port. If reservation
type is "reserved", no other device can take that port
automatically.

Reservation config option and matching function lifted from:
PatrickStankard https://github.com/libretro/RetroArch/pull/16269

Test joypad driver was extended for more tests.

Co-authored-by: Patrick Stankard <me@patrickstankard.com>
2024-06-05 18:17:54 -05:00

31 lines
1.4 KiB
INI

# Test configuration file to be used with --appendconfig.
# Sets up joypad driver, test input file for the joypad driver,
# logging and autoconfig dir, and prevents saving.
# Usage:
# retroarch --appendconfig tests_other/testinput_device_reservation_test.cfg\|tests_other/all_binds_empty.cfg
# Test scenario:
# - Player 1 has preferred device C, Player 4 has reserved device B
# - Player 2 and 3 has some fake reserved device names, without reservation
# - Connect controller A, then B, then C
# - VALIDATE: check that Player 1 - C, Player 2 - A, Player 3 - none, Player 4 - B
# - Disconnect controller C, then B (after 20 sec)
# - Reconnect controller C to port 1 (instead of 2)
# - Reconnect controller A to port 4 (instead of 0)
# - VALIDATE: check that Player 1 is still assigned to C, and player 2 remained A
# - VALIDATE: due to reshuffle, Player 3 - N/A(4), Player 4 - N/A(3), Player 5 - N/A(1).
input_joypad_driver = "test"
test_input_file_joypad = "tests-other/test_input_joypad_device_reservation.ratst"
joypad_autoconfig_dir = "tests-other/autoconf"
frontend_log_level = "0"
libretro_log_level = "0"
log_verbosity = "true"
config_save_on_exit = "false"
input_player1_reserved_device = "Test joypad device C"
input_player1_device_reservation_type = "1"
input_player2_reserved_device = "fake reservation 2"
input_player3_reserved_device = "fake reservation 3"
input_player4_reserved_device = "Test joypad device B"
input_player4_device_reservation_type = "2"