RGPAD, a universal gamepad overlay

Hi, this is a gamepad overlay that I developed for my own use, but I thought it might come in handy for other people so I’ve decided to share it. The thing is, RetroArch on Android is great but I never really liked its gamepad overlays (the default neo-retropad is pretty good but I don’t like buttons placement and also it doesn’t fit well with some emulated systems, i.e. N64). That’s why I developed RGPAD, a universal gamepad overlay that can make most RetroArch emulated systems nice to play on a touch screen :wink:

Features:

  • Works on most devices with a screen aspect ratio of 16:9 and up

  • Optimized controls and buttons layout

  • 4 different overlays: landscape, portrait, portrait mini and portrait one-handed

All overlays also offers alternative versions of them:

  • D-pad with no diagonals, useful for various types of games but especially for those games where you need to move left-right or press buttons as fast as possible to get up speed (i.e. Track & Field, Decathlon, etc.)

  • Swapped D-pad / left analog stick, more precision in some games by using a bigger analog stick

    To change overlay, first press the “option” button (the one with the 3 white lines on it) then just click on the small arrows that appears at the bottom-center of the screen

  • 2 graphic styles: modern and retro

How to configure it:

(most options should be already defaults)

  • Set “Show Inputs on Overlay” to “Touched” (recommended)

  • Enable “Auto-Rotate Overlay” option

  • Enable “Auto-Scale Overlay” option

  • Set “Overlay Opacity” to 0.80 (recommended)

  • Set “D-Pad Diagonal Sensitivity” to 80% (recommended)

  • Set “ABXY Overlap Sensitivity” to 50% (recommended)

Also, for a true “handheld experience”, I suggest to set RetroArch UI to “rgui” and disable the on-screen overlay option “Hide Overlay in Menu”. But that depends on your preferences :wink:

Acknowledgements:

Download (v8.2):

https://drive.google.com/file/d/1uU-2lwWFphOQVJF0n-6dWmdXuqUt2doq/


    

                               

Version history:

(v8.2)

  • Added the OPTION BUTTON on the screen also when overlays are hidden

  • Changed button positions in some overlays


(v8.1)

  • Added the option to have HOTKEYS on the screen when overlays are hidden!

Many people like to use gamepad overlays also when they play with an external controller to have on the screen all the hotkeys (save/load, rewind, fast-forward, etc.). In this new version it’s possible to hide the overlay but still enable all the hotkeys!


(v8.0)

  • Added new D-PAD WITH NO DIAGONALS overlays!

These new overlays (landscape and portrait) are useful for various types of games but especially for those games where you need to move left-right or press buttons as fast as possible to get up speed (i.e. Track & Field, Decathlon, etc.). If the game doesn’t use left-right but use buttons to run, you can remap them to the D-pad. For example, in Track & Field you can remap Button 1 and 3 to D-Pad Left and Right. Or, even better, you can try to remap Button 1 to D-Pad Up and Down, Button 3 to D-Pad Left and Right and with a circular movement of your finger on the D-Pad you can get great speeds (of course you can use this trick also with games which use left-right to run, just map those directions alternately to the D-pad)

  • Added NEW BUTTONS (left and right) to switch between overlays

To show these new buttons on the screen you need to first press the “option” button (the one with the 3 white lines on it)

  • Fixed a few minor issues, reworked some overlay graphics and code cleanup

(v7.0)

  • Added a new MINI OVERLAY!

This new overlay (portrait) replaces the old “TATE” overlay and is useful to play vertical games and systems like Nintendo DS / 3DS


(v6.0)

  • Added new overlays with SWAPPED D-PAD / LEFT ANALOG STICK!

These new overlays (landscape and portrait), by using a bigger analog stick, give more precision in some games

  • Reworked analog sticks sensitivity

(v5.0)

  • RGPAD now comes in 2 graphic styles: MODERN and RETRO!

(v4.0)

  • All overlay graphics have been redesigned and optimized for a more modern and clear look

(v3.0)

  • Added a new ONE-HANDED overlay!

This new overlay (portrait) is great for playing in situations where you can only use one hand (stand up on a bus / subway, etc.) and also for people who have some sort of physical disability.

It was really a challenge to develop this, I had been working on it for some time but I was never fully satisfied with how it worked… After a lot of work I have figured out a solution that allows to play most games with just a thumb (of course you need a bit of time to adapt to the new controls… now I am also able to play games like Street Fighter 2 with all the special moves!). The overlay has some limitations for obvious reasons and is not meant to be used with modern games as it doesn’t support analog sticks and there are “only” 6 buttons on screen. I won’t make a version of this overlay with the analog sticks, I made several tests during development and is impossible to make something truly “enjoyable” to play with one hand. If you really want to play games that require analog stick for movements you can try to map the directions to the D-pad.

Also, keep in mind that there will always be games that will be by default less “playable” than others but, by playing around with the overlay settings (some games play better with one hand if you try to reduce a bit the default 80% “D-Pad Diagonal Sensitivity”) and / or remapping the buttons, it is possible to play almost any type of game with this overlay (yes, even racing games where you need to press and hold a button to accelerate, I implemented in the overlay a solution that allows you to press and hold buttons when required!).

For more information about how this new overlay works, you can WATCH THIS VIDEO


(v2.0)

  • Reorganized the interface with the addition of 7 NEW BUTTONS:

    • Save / Load state slot
    • Decrease / Increase state slot
    • Rewind
    • Slow-motion
    • Fast-forward

(v1.0)

  • Initial release

9 Likes

This is great, thanks for sharing!

Would you be interested in having it in the official overlay bundle that comes with RetroArch?

3 Likes

I do love seeing people’s creations. A couple of screenshots would help browsers spot the potential :grinning:

2 Likes

Yes of course! Having more choice is always a good thing for users :wink:

1 Like

Thanks you - confirm it works on iOS perfectly. Having the R/L/1/2 buttons bunched on right helps with better mouse control in some cores and some multi button rpgs, that’s a pretty good idea!

2 Likes

hey I signed up just to let you know that your overlay is the best! the buttons are neatly placed, very organized. I really love this timeless design.

any plan to add more emulator specific buttons? ie save/load state and rewind.

1 Like

Absolutely love this gamepad, but could you pls pls make a version with rewind button too? It’s the only reason i still use an old touch overlay that i found somewhere, this is so much better but i really use rewind a lot.

1 Like

I really like the overlay. It is set up in a very smart way and feels good to use. I do wish it had a save/load, next/previous state menu because I cannot set hotkeys to on-screen touch buttons and getting in to the retroarch menu to do that is a hassle. Still, great job!

1 Like

Hey DJM, excited to try RGPAD out but it seems your gdrive link is dead. Any chance you can fix it?

Thanks in Advance!

1 Like

It’s available from the online updater now: https://github.com/libretro/common-overlays/tree/master/gamepads/rgpad

2 Likes

NM! It looks like you’ve uploaded the files to the libretro repository here: https://github.com/libretro/common-overlays/tree/master/gamepads/rgpad I was able to get it working on my android and it’s wonderful, thanks again for your contribution!

1 Like

This is truly an amazing overlay. I was previously using /flat/retropad-fast-forward.cfg, but the buttons too next to the bottom corner in landscape mode always bothered me, and the neo-retropad.cfg overlay is unplayable for me, I’m a bit tall and have big hands and fingers and the buttons on it are too small.

But I found RGPad a few weeks ago and now I can’t figure out how I was able to play something with /flat/retropad-fast-forward.cfg before, RGPad is truly amazing.

I have just only one suggestion: implement an option to swap the D-Pad with the left analog, making the analog bigger and the D-Pad smaller to fit in that analog area next to the L3/R3 buttons. The reason is the same that made me dislike /flat/retropad-fast-forward.cfg, touch in the bottom corner of the screen makes my fingers hurt and tired. Furthermore, since currently in RGPad the analog area is very small, it becomes too sensitive to control precisely, for example, I can’t cross bridges or small platforms like those found in some levels in Super Mario 64. I wasn’t having this precision problem in the overlays I tested previously, so I think that just changing its location and size with the D-Pad will solve this problem. There are some overlays that allow this, such as /flat/retropad.cfg (that allows to change sizes) and the neo-retropad.cfg itself (that allows to swap the D-Pad with the analog), and from what I saw in the RetroPad Editor it’s not difficult to do. The button to swap/change can be in the submenu that was implemented in this new version.

But for systems without an analog stick (NES, SNES, SMS, SMD, etc.), RGPad currently already is perfect for me.

Thank you!

1 Like

Thank you man, I am glad you like my work! :wink:

About your request… I am not sure if I will make a bigger analog stick and a smaller D-pad, actually that would be just a “workaround” and not a real fix because the problem is in RetroArch itself and not in my overlay. About this, I opened months ago an issue (https://github.com/libretro/RetroArch/issues/16403) but it seems noone is working on it… Actually I also opened other overlay issues (https://github.com/libretro/RetroArch/issues/16581) and not only that one… Unfortunately RetroArch’s development seems quite slow lately and sometimes it can take YEARS to see problems fixed… But hey, afterall we can’t complain about a free and open source project! :wink:

1 Like

Ok, thanks, no problem. I’ll keep using your overlay for systems without analog sticks and look for another one to play with systems with analog sticks.

As for the issue you linked, I think the description doesn’t quite fit what I’m facing – even when already holding the analog, for example, the slightest move makes the character go very quickly to the left or right, so in my case I think its just the analog stick that’s small and my finger is just long and too big for it. With the overlays I used before I can just hold my finger in the center and move slowly since the touch area is larger and thus less sensitive to movements. So I think it’s just this that is happening for me, without relation to the issue you linked.

But anyway, thanks again for sharing your work, it certainly helps make gaming more fun on a touchscreen. Thanks a lot!

1 Like

Yes, for precise movements with the analogue stick you have to move your finger on it slightly and for people with large fingers this can be a problem, I am aware of that (actually I don’t use analog sticks very much, I use RGPAD mostly for old games before PSX and for newer games I use a real gamepad, nothing can beat that :wink: ). Anyways I understand your point and I will see what I can do to implement the changes you requested.

1 Like

Thank you very much for considering this! :slight_smile:

Yeah for precision a real gamepad is ideal. I bought one some time ago but then I bought a new phone, with a bigger screen, and forgot to check before if it would fit in the gamepad, but it doesn’t and when I noticed this I couldn’t return it anymore. So someday I’ll look for a new gamepad, but in the meantime I need to try playing with just overlays.

But anyway, thanks again.

1 Like

RGPAD v6.0 (download link in the first post)

  • Added new overlays with SWAPPED D-PAD / LEFT ANALOG STICK!

These new overlays (landscape and portrait), by using a bigger analog stick, give more precision in some games (suggestion proposed by @georgeston)

  • Reworked analog sticks sensitivity
1 Like

Thank you very much! Just changing the size and position solved the issue for me.

1 Like

That’s great! Actually I didn’t change only the size, I also changed the sensitivity of the analog sticks (now also the “smaller” analog sticks should work a little better). Let me know if you find any issues with it! :wink:

1 Like

Actually right when I read the changelog I figured it and tested it first with the normal smaller size in Super Mario 64, but with it I still couldn’t notice any major difference and still have the same problem. Then I just switched to the larger size and I was able to play normally. In fact, I’m already in the fourth level of Super Mario 64 collecting every Power Star, before I was struggling to win even the second one from the footrace in the first level, I was able to win it on the first try with the larger size.

I can understand why you said before that this doesn’t fit with you idea of gamepad overlay, the result is not pretty, but for play on a touchscreen I believe sometimes it’s necessary to make some concessions to play more comfortably (like the swap for the D-Pad/analog on neo-retropad, the small mirrored L3/R3 on both left and right sides on RGPad, etc.) and I thank you for implementing this bigger analog in your overlay, I’m also sure other people with big fingers also will need it too to play with more precision.

2 Likes