libretro / swanstation

GNU General Public License v3.0
93 stars 21 forks source link

Mappable buttons for Playstation Mouse (limitation when using real spinners+trackballs) #88

Open riggles1 opened 9 months ago

riggles1 commented 9 months ago

Puchi Carat for example utilizes the Playstation Mouse to simulate a spinner input. This works great with physical USB spinners you can purchase today. These show up as a mouse device.

The problem is that the mouse buttons aren't mappable in Swanstation, this is fine if you use a normal mouse, but with a spinner or trackball your buttons are arcade buttons. (in input settings each player has a controller device and a mouse device).

The way FBNeo solves this is by having separate modes, Mouse (ball mode) and Mouse (full mode), in quick menu>controls>port 1 controls.

"ball mode" allows for buttons on the controller device to be mapped as left/right clicks (since with a trackball you likely don't have mouse buttons). While full mode means it takes the input from the mouse device (where mouse left/right click are the inputs).

Hopefully this core can also get this mouse (ball mode), where your separate controller device (arcade buttons) provides the mouse clicks and the mouse device only provides the XY axis.

This would make it possible to play on setups where you have a spinner or trackball on a control panel.

Example to make this clearer: https://cdn.discordapp.com/attachments/1137337733837226095/1159508638319267840/20220122_161236-2.jpg?ex=65314792&is=651ed292&hm=981b31fdb0f4bdfd93ccd3c64908fcf8eb9c710af66756299f7eaf7f898c211c&

There's player 1+2 controllers for the buttons, but the spinner is seen as a mouse (without buttons).

Using a spinner+buttons in Puchi Carat isn't possible in Swanstation currently.

Unnecessary info: Puchi Carat has a European release and can be 60Hz patched correctly.