libretro-mirrors / libretro-arb

For proposed improvements to libretro API.
8 stars 2 forks source link

Additional mouse buttons #36

Closed hiddenasbestos closed 6 years ago

hiddenasbestos commented 6 years ago

The current libretro mouse implementation supports only three primary inputs. The Sega Saturn mouse peripheral has need of an extra one to emulate it's 'start' button.

Given the common occurrence of 'side' buttons on modern mice, can I propose adding additional controls RETRO_DEVICE_ID_MOUSE_BUTTON4 and RETRO_DEVICE_ID_MOUSE_BUTTON5 to the set of constants. Saturn cores can map these to the start input and more accurately represent the real hardware. Other cores, such as for ports of Doom and Quake would also benefit.

If the user doesn't own a mouse with more than three buttons, the core will have to handle start input by other means, for example RETRO_DEVICE_ID_JOYPAD_START (my mouse implementation for libretro-beetle-saturn does this already),

hiddenasbestos commented 6 years ago

Submitted as pull request #38