Is it possible to use a controller with a USB OTG cable in the Gameshell's Micro USB port?

Is it possible to use a controller with a USB OTG cable in the Gameshell’s Micro USB port? Mainly so that I can use analog sticks for PS1 games and L/R buttons for SNES games.

USB OTG is possible

I’ve used usb otg for keyboard, but not sure about the analog sticks

give a try and let us know

Ok, I’ll try it at some point
Tbh I don’t care that much about analog, mostly L/R in conjunction with a monitor (mini HDMI)

I got my OTG cable, but none of the controllers I own seem to work with it. Is there something I need to do to configure them?

Have a look inside /dev/input folder if you have more events. Without gamepad you should have event0, and event1 only. With a gamepad/joystick you should have event2 or more…

If you don’t see anything new it is because the kernel doesn’t have the driver for your gamepad. Have a look in the kernel messages with dmesg.

The probable reason you cannot use it is that it is not configured yet. If you are using retroarch you can go to settings>input>Port 1 controls and bind the gamepad buttons.

In order to do all this, do I need a keyboard and the controller plugged in at the same time? I might have to buy a different cable then.

You can connect to the GameShell using SSH with wifi, and use a USB OTG cable to connect your controller.

Okay, do you mind giving more explicit instructions on how to do all of this? I don’t do things like this often.

Sure! Do you know how to connect to the GameShell using SSH?

No, you’ll need to guide me through the whole thing.

There is a small app on the menu called “Tiny cloud” or something similar. There you will find what is your IP address on your wifi network.

Knowing the IP you can connect to the GameShell from your computer using a SSH client. If you are using Windows, you can try Putty:

After installing Putty, and opening it you will have a window asking you to insert the Host name (or IP address). Fill it with the GameShell IP, then click in open.

Your username and password is “cpi”.

Tell me if you managed to connect to the GameShell so we can proceed.

I’m connected. We may proceed.


ls /dev/input/

and see if its contents changes before, and after you connect your controller.

When I connect the controller, event2 appears.

Could you try to go to the retroarch settings under:

settings>input>Port 1 controls

and bind the buttons of your controller?

One thing, I want to be able to use both the built-in controls and the external controller easily, without having to change settings every time I switch between them. Is this possible?

It seems to me that Joao is doing that by mapping the keys on port 1 as the regular settings are just key bindings without the port reference. If in doubt, just back up your current cfg file so you can revert when needed :slight_smile:

Retroarch can have a controller and a keyboard mapped. The GameShell buttons are seen as a keyboard, so you shouldn’t have problems.