Aloshi / EmulationStation

A flexible emulator front-end supporting keyboardless navigation and custom system themes.
MIT License
2.08k stars 905 forks source link

Unstable Branch: Keyboard looses control #153

Closed petrockblog closed 10 years ago

petrockblog commented 10 years ago

Hi Aloshi,

I started to integrate the new version of ES into RetroPie. The RetroPie Script takes care that SDL2 is compiled as you described, so that is not a problem.

The responsiveness of the new ES feels great! I observed this issue, though: As soon as I start ES the USB keyboard looses control. This does not happen with a USB gamepad that is attached to the RPi at the same time. The keyboard also does not get back its control when I exit ES.

Do you have an idea what could cause this behavior?

Wish you a happy new year!

Aloshi commented 10 years ago

Hmm, that's a new one. Did you configure the keyboard as well during the "input configuration" process? (And your es_input.cfg was generated by the new version, right - you're not using an old one?)

As for not getting back control when ES exits...that's a new one. Does Alt + Print Screen + R (SysReq + R) return control to the keyboard once you're back in the terminal?

Also, FYI, I'm doing one more, hopefully final, rewrite of the theming system (bleh) as retrofan87/Nilsbyte sort of talked me into it. It combines the old, very flexible system and the conveniences of the new system, though it is a little more complex. The parsing code is done, I just need to finish a little more of the code and then write up the documentation.

I'd also kind of like to wait to "officially release" the unstable branch and unveil all the changes together as a sort of "EmulationStation 2.0" thing, even though it's already mostly functional. There are still a few things I would like to add, and perhaps put up a nicer website to go with the improvements.

petrockblog commented 10 years ago

To make sure that an old es_input.cfg is not causing any issues I have deleted es_input.cfg before starting ES. As soon as the input configuration screen appears the keyboard looses control. Hence, the keyboard cannot be configured. I use a gamepad to run through the input configuration. Also, I started a RetroArch-based ROM successfully and exited RetroArch again. I can exit ES afterwards. Back at the command line, the keyboard still does not have control. I can see the message INFO: EVDEV: Failed restoring keyboard mode. Alt + Print Screen + R (SysReq + R) returns keyboard control then.

I have exactly the same hardware setup as with the existing stable ES/RetroPie version.

All right then - I will wait with adding ES to RetroPie. Waiting for an "officially released" version sounds reasonable. Just let me know when you need beta testers. I could ask for beta testers, e.g., in the (RetroPie forum)[http://blog.petrockblock.com/forums/forum/retropie-project-forum/emulators/].

Aloshi commented 10 years ago

The issue is caused by compiling SDL2 without libudev-dev installed (SDL2 just silently compiles without keyboard support), so it's not a bug in ES. My fork is now out of date, but it's an easy fix if you'd like to add it yourself, just make sure you apt-get the package before compiling SDL2 (see here).

You can also try using the copy of SDL2 in the Raspbian APT repositories (as I mentioned here).