-
-
Notifications
You must be signed in to change notification settings - Fork 65
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Game controller navigation #670
Comments
I think this would be feasible to implement, and would actually be useful also in a regular Android TV kind of setup. I can't comment specifically about Batocera because I'm unfamiliar with it but thanks to SDL the unlying platform is pretty much abstracted away. For v1.18 I've been improving usability of the UI when one only has a keyboard, making focus navigation more sophisticated and fixing some event conflicts, etc. This work is directly applicable — required, even — for game controllers as well. What still needs implementing:
|
That sounds very promising! I have just reached out to the Batocera community via Reddit to gauge interest. I think it would be an exciting experiment to make Lagrange available in there, as a Port to begin with I presume. I'll try to get that to work myself or see if I can get some help to do it. If you are curious about Batocera and you have a USB drive laying around, I'd encourage you to flash Batocera's latest build for x86 systems into it and boot it on any PC. Alternatively, ETA Prime is a good Youtube channel to learn about it. I would expect a community around retro-gaming and media preservation would be very receptive to the Small Internet concept, particularly considering the nostalgic side of it. They already seem to put a lot of effort putting together content around old games and consoles they are passionate about, the Gemini protocol could provide a more flexible alternative for them to contribute to their passion projects. I am hopeful the Batocera community could give the gemini-space a good boost. Thanks for the prompt reply and the positive take on my suggestion. |
UPDATE: runs like a charm! Following the documentation for Ports I managed to get the Lagrange AppImage running without issues on Batocera. Of course I need a mouse and keyboard to use it for the moment. Looking forward to the improved keyboard support and eventually game controller support, whenever you find the time to add them. 👪 Thanks! |
UPDATE: I had some time this morning to test the latest (v1.18.4) on Batocera following the instructions mentioned in my previous comment (it took me a while to remember I needed to ssh into Batocera to make the app image executable 🤦). I learned that Batocera allows you to map gamepad inputs to keyboard keys. I made sure to map the D-pad to the arrows and some of the buttons to Esc, Tab and Enter/Return. Now I can navigate the menus and scroll up and down a page. Most importantly, I can now quit Lagrange even if I don't have a keyboard or mouse around. 😆 I couldn't figure out a way to navigate the content and interact with links and not being able to type a URL does limit the experience substantially. But it still feels like great progress! |
Actually, if you bind the left and right analog stick to the home row letters you can actually drill down into the links somewhat intuitively. I'm super happy with that! 😁 |
@argenkiwi Glad to hear it's somewhat usable. For proper link navigation, we either need a way to move the keyboard focus onto a visible link, or add a new link navigation mode (in addition to home row and Alt-numbered modes) specifically designed for arrow key / gamepad use. |
Thanks @skyjake. That makes perfect sense. I am aware that the fact I was able to do what I described above is merely circumstantial at this stage and that the proper implementation for this use case will be implemented in due time. One question I am struggling to answer to myself is: would a virtual keyboard, which would enable gamepads and TV remotes to type, have to be implemented into Lagrange or would the host system be expected to provide one? |
I was wondering if supporting navigation with a game controller (gamepad or joystick) would be possible with a Gemini client like Lagrange.
The reason I ask is because I use an unusual Linux distro called Batocera that is meant to be controlled with a gamepad and joysticks. For that reason they don't have we browsing capabilities I suppose. They do have a file manager called OD Commander that is bundled as what they call a Port (which I believe is like an AppImage). I think a retro-gaming an media-center distro like this could really benefit from using a Gemini client to navigate through their Wiki, access content and much more.
Please feel free to close the issue if it's too off topic, but I would love to hear your thoughts on the technical feasibility of using Lagrange within Batocera.
The text was updated successfully, but these errors were encountered: