PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
Other
10.62k stars 1.54k forks source link

[Feature Request]: Automatically Assign Controllers to Ports Based on Priority Order with Immediate Mapping Activation #11394

Closed Reco2126 closed 2 weeks ago

Reco2126 commented 2 weeks ago

Description

I would like to request a feature that allows PCSX2 to automatically assign controllers to ports based on a predefined priority order. This feature should enable users to connect multiple controllers to a single port but assign each controller a specific priority. When a controller is detected, PCSX2 should automatically recognize its priority and connect it to the appropriate port, activating its mapping immediately.

Reason

This feature would enhance the user experience by simplifying the controller setup process. Some users frequently switch between different controllers, and having an automatic assignment system based on priority would save time and effort. It ensures that the correct controller is always mapped and ready for use without the need for manual reconfiguration each time a different controller is connected. This is useful for users with multiple controllers or those using PCSX2 on devices like the Steam Deck.

Examples

image A user has three controllers: a PS5 DualSense, an Xbox controller, and the Steam Deck controller. They set the priority order as PS5 DualSense (highest), Xbox controller, and Steam Deck controller (lowest). When they connect the DualSense, PCSX2 automatically assigns it to Port 1 and applies its specific mapping immediately. If the PS5 DualSense is disconnected and the Xbox controller is connected, PCSX2 assigns the Xbox controller to Port 1 and activates its mapping. If neither of them is connected, the Steam Deck controller will be mapped.

stenzek commented 2 weeks ago

This does not fit with the current binding system, and would require a significant rewrite.

You can, however, just bind multiple controllers to the same emulated controller. Shift+click each binding.