• 1
  • 9
  • 10
  • 11
  • 12
  • 13(current)
Player Manager
It is great to see that you are still willing to invest your time in Retroplayer. It is really much appreciated!
 
(2022-02-15, 05:20)garbear Wrote: I think I understand. So there would be two dialogs, one for players (or would it be physical controllers?) and one for virtual controllers.
No, that is actually not what I mean, sorry.

Since we still don't have the exact idea about the "Players" or the "Player profiles" lets leave this out completely for now.

The window that we are currently designing should be used to "assign controllers to emulator ports". From this dialog's point of view there is no difference between regular controller and the emulated keyboard controller (except the name and maybe an icon). Lets call this window simply "Controls".

There are going to be 5 types of controllers in the Controls window:
1. physical controllers (handled by input.joystick) - dynamically shown upon connecting / disconnecting
2. physical keyboard (handled by libinput) - shown only if it is connected and if there is available keyboard emulator port
3. physical mouse (handled by libinput) - shown only if it is connected and if there is available mouse emulator port
4. emulated keyboard controllers (or virtual gamepads, but I think better name would be simply a "Keyboard controller 1") - shown if it is added and configured in its own dialog elsewhere
5. remotely connected controllers from Netplay - shown if it is connected

So there would be only one controller assignment window. For now we would be fine with controller types 1-3 which we already have working. It would be nice to have the basic controller assignment window in Nexus, so lets keep it as simple as possible.

Here is the proposed basic window logic which we should complete first:
Image

In the near future we would add a type 4 which will allow the usage of keyboard for controller ports. But not by assigning the keyboard (type 2) to a controller port but rather by creating a virtual controllers ("Keyboard controller 1 etc.") which would have buttons mapped to a keyboard keys. This type 4 controller would be handled the same as type 1 by the "Controls" window so it can be assigned to a controllers ports.

Internally we only have 3 input types to handle: keyboard, mouse and controller. The "Controls" window should only allow to assign keyboard input device to keyboard port, mouse input device to mouse port and controller input device to controller port. This could be implemented by skipping the "not allowed" column when moving the device left and right in the "Controls" window.

Here is the window with all the device types and the green slots shows where every device can be moved:
Image
Reply
(2022-01-29, 11:00)KOPRajs Wrote: The idea was to also do not show the keyboard if there is no "emulator port" for the keyboard available.
Now, having the picture with the green slots, this idea can be generalized and possibly better explained like this:
"Only show controllers that actually can be moved/assigned. Or show them only if there is at least one more green slot except the first "unassigned" column."

EDIT: We can even make the "slots" visible to users instead of the even/odd rule.
Like this:
Image
Reply
  • 1
  • 9
  • 10
  • 11
  • 12
  • 13(current)

Logout Mark Read Team Forum Stats Members Help
Player Manager1