D-Pad buttons are not recognized when running RetroPie emulationstation

I’m using ‘master’ branch of ‘RetroPie-Setup’ and its hash is 6e80c1bdc33284386a8a33ca7d7485070b446da4

I saw that someone on the forum had already successfully gotten RetroPie to work, so I figured it would be no big deal, but crucially, the D-Pad is not recognized and the screen is displayed directly in the X-window running, but rotated 90 degrees in the Console state. I can’t proceed with the Emulationstation initial setup because my D-Pad buttons are not recognized.

I’d love some advice from those who have already successfully set up RetroPie.

I also applied the SDL_GAMECONTROLLERCONFIG setting, but the VVVVVV game doesn’t detect anything but the ‘A’ button.

Thanks in Advance

yo! you can try this
Fixing detected gamepad in some games

Thank you for your reply. But that was exactly what I did.

After recompiling RetroPie master branch, D-Pad are now working. BUT no other keys yet.

I just figured out what was wrong. The input should be split between keyboard and joystick.
(~/.emulationstation/es_input.cfg)

  <?xml version="1.0"?>
  <inputList>
    <inputConfig type="joystick" deviceName="ClockworkPI uConsole" vendorId="7855" productId="36" deviceGUID="030000fdaf1e00002400000010010000">
      <input name="a" type="button" id="1" value="1" />
      <input name="b" type="button" id="2" value="1" />
      <input name="hotkeyenable" type="button" id="8" value="1" />
      <input name="select" type="button" id="8" value="1" />
      <input name="start" type="button" id="9" value="1" />
      <input name="x" type="button" id="0" value="1" />
      <input name="y" type="button" id="3" value="1" />
    </inputConfig>
	<inputConfig type="keyboard" deviceName="Keyboard" deviceGUID="-1">
		<input name="down" type="key" id="1073741905" value="1" />
		<input name="left" type="key" id="1073741904" value="1" />
		<input name="right" type="key" id="1073741903" value="1" />
		<input name="up" type="key" id="1073741906" value="1" />
	</inputConfig>
  </inputList>
3 Likes

It looks like the gamepad’s function is controlled by a switch at the back of the keyboard.

I haven’t verify it yet, but I found the switches.

I figured out why buttons were not working in VVVVVV game and others.
It was simply because of wrong value of SDL_GAMECONTROLLERCONFIG. (I copied and pasted its value from somewhere in this forum before)

Anyway, the correct value are x:b0,a:b1,b:b2,y:b3,back:b8,start:b9

2 Likes

I search where to add this line… .profile ?

The following configuration in ~/.emulationstation/es_input.cfg is for EmulationStation (RetroPie)

<?xml version="1.0"?>
  <inputList>
    <inputConfig type="joystick" deviceName="ClockworkPI uConsole" vendorId="7855" productId="36" deviceGUID="030000fdaf1e00002400000010010000">
      <input name="a" type="button" id="1" value="1" />
      <input name="b" type="button" id="2" value="1" />
      <input name="hotkeyenable" type="button" id="8" value="1" />
      <input name="select" type="button" id="8" value="1" />
      <input name="start" type="button" id="9" value="1" />
      <input name="x" type="button" id="0" value="1" />
      <input name="y" type="button" id="3" value="1" />
    </inputConfig>
	<inputConfig type="keyboard" deviceName="Keyboard" deviceGUID="-1">
		<input name="down" type="key" id="1073741905" value="1" />
		<input name="left" type="key" id="1073741904" value="1" />
		<input name="right" type="key" id="1073741903" value="1" />
		<input name="up" type="key" id="1073741906" value="1" />
	</inputConfig>
  </inputList>

And also you may need to add the following line into ~/.zshrc or ~/.bashrc, depending on your shell. I personally prefer to add in /etc/environment. (In that case, you don’t need to ‘export’)

export SDL_GAMECONTROLLERCONFIG="030000fdaf1e00002400000010010000,ClockworkPI uConsole,platform:Linux,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftx:a0,lefty:a1,"

Then, you need to logout/login once at least before to launch PICO-8 or VVVVVV or other SDL based games.

1 Like

How do I obtain the deviceGUID? Is the uConsole used by everyone the same?

It s strange because gamepad works very well with ppsspp emulator. When I use retropie, gamepad seems not detected, or as another gamepad. I tried all above on this page…still message in retropie “Uconsole gamepad not configured” when I launch a game.

Is it possible to add the mouse buttons “L” and “R” as shoulder buttons?

I finally managed to get two emulators working with the gamepad: PPSSPPX and REDREAM. Both support gamepad buttons and also (START, SELECT, L and R)

Thank you! This worked great - except for the fact I expect it may be disabling the mouse…? I can’t get the mouse to show up in any games in EmulationStation, even after trying many different input settings, which is unfortunate since I really want to use the uConsole to play DOS games with the DOSBox-Pure core in Retroarch. Are there any other lines that I might need to add to the uConsole to get ES to recognize the mouse?

I kind of solved this problem, for EmulationStation, the controller of games is configured at Retroarch, and you need to change the input drive to udev Input and Controller Drivers - Libretro Docs
Now I could use the mouse keys as shoulder buttons. But I haven’t really used the mouse.

And you can use all emulators with the gamepad ?

Yes, at least for RetroPie. You need to change the setting of Retroarch, for just using the gamepad input driver SDL is enough.

1 Like

Sorry, where is this setting in retroarch?

In your emulationsation, first find retroarch to startup the configuration.
Then Settings->Drivers->Input to change it like to sdl2. After you restart the retroarch, you can check from Settings->Input->RetroPad Binds->Port 1 Controls. These Button x are D-pad buttons of uconsole.

thanks! I will try that soon!

Thanks for the suggestion. Unfortunately switching the input drive to “udev” doesn’t seem to do the trick for me.

I thought maybe I also needed to change my mouse input index number (see this post) but that also hasn’t made a difference. Strangely, I am not able to get my mouse index to show up in runcommand.log, per the official RetroPie instructions, although evtest seems to suggest the uConsole mouse is bound to event6. Switching to 1, 2, 3, 4, 5 or 6 in the mouse index for player 1 makes no difference, however.

I am a bit stumped. Fortunately, I can still use DosBox-Staging to play my games with shaders, etc. but a bit annoying that I can’t solve this issue.