libretro / fuse-libretro

A port of the Fuse Unix Spectrum Emulator to libretro
GNU General Public License v3.0
39 stars 50 forks source link

Allow Sinclair Keyboard at port 1 #131

Closed trufanov-nok closed 2 years ago

trufanov-nok commented 2 years ago

Currently Sinclair Keyboard could be assigned only to a port 3. This makes impossible to netplay with fuse if players have no controllers (keyboard only). Retroarch will reply "There are no free player slots". This is because if user have no gemapads first two ports will be RETRO_DEVICE_NONE and Retroarch stops iterating list of available controllers once facing a RETRO_DEVICE_NONE in the list. Also Retroarch allows to share a controller only if it's at port 1 and there is no other controllers available. And in case of fuse the keyboard could be chosen only for port 3...

To bypass this limitation I'm suggesting to allow Sinclair Keyboard be selected at any of the first three ports.

The corresponding retroarch code is here: https://github.com/libretro/RetroArch/blob/master/network/netplay/netplay_frontend.c#L4682