1

I'm running XBMC/Kodi on my Raspberry Pi. I want to launch a web browser that lets me enter URLs and text fields easily with an Xbox 360 gamepad in much the same way as the browser in Steam's Big Picture mode.

Trouble is, no such gamepad-friendly browser (e.g., Steam) is available for GNU/Linux on ARMv6.

I thought maybe I can launch the iceweasel browser from Kodi and then somehow have it "inject" DaisywheelJS to all pages that it downloads, but

  1. Not sure how I'd implement that; and
  2. not sure it'd let me navigate TO the text fields or enter URLs with the gamepad.

Does anyone know of some user-friendly gamepad-only web-browsing solution for this platform?

Brendan Green
  • 11,676
  • 5
  • 44
  • 76
Ran Dom
  • 21
  • 1
  • Excited to see you using the library! Didn't think about this use case. Always surprised when a new person uses it. Thanks – Chris Dolphin Aug 25 '15 at 05:57

2 Answers2

0

What about:
1) Store daisywheeljs locally on the Raspberry Pi's filesystem
2) On the same filesystem, create a wrapper page with javascript that uses the Gamepad API to navigate the various input fields on the page. Also include a field at the top of the page which allows entry of URL via Daisywheel. The wrapper page renders the page at the entered URL but performs regex matching to inject daisywheel as follows:

<link rel="stylesheet" type="text/css" href="file:///path/to/css/lib/daisywheel.min.css">
...target page content
...Substitute any <input class="x y z "> with <input class="x y z daisywheel">
...target page content
<script src="file:///path/to/js/lib/underscore-min.js"></script>
<script src="file:///path/to/js/lib/gamepad-mod.js"></script>

<script src="file:///path/to/js/lib/daisywheel.min.js"></script>

3) Let iceweasel/firefox always point to your local wrapper page which handles navigation and rendering

Need someone else to provide details of how to accomplish #2

Guest
  • 1
0

So for #2 in the question, that might be a feature that can be built into DaisywheelJS. I'm imagining that it could fire off a fake keyboard event to triggers the tab keycode, which would cycle through the inputs. It might be more efficient to keep track of all the inputs with the daisywheel class and just cycle through manually.

I created an issue for it here: https://github.com/likethemammal/daisywheeljs/issues/16

Chris Dolphin
  • 1,578
  • 16
  • 28
  • 1
    Chris, just happened to check back here. Thanks for your awesome work. I had started a project which would basically be an add-on for Firefox. I addressed #1 and entering of URLs for #2 (unreliable). Didn't really accomplish navigation between fields. Maybe what I have will be helpful- would love to see others benefit from such feature enhancement of DaisywheelJS. Best regards https://github.com/radical-equanimity/gamepadnav – Ran Dom Sep 28 '15 at 03:46