/daisywheeljs

The Steam "Big Picture" Daisywheel ported to JS and CSS. Supports Gamepad API.

Primary LanguageJavaScriptMIT LicenseMIT

DaisywheelJS

The Steam "Big Picture" Daisywheel ported to Javascript and CSS. Works with the Gamepad API, available in the latest modern browsers.

Note

This interface is something every game with text input needs. Not a single game should present a QWERTY keyboard to a user with a controller in their hands. I ported this so that the growing HTML5 gaming community can use it in their games as a standard library in the user interface toolkit.

DaisywheelJS Screenshot

A live demo can be found here

Setup/Install/Documentation

Instructions on use can be found at daisywheeljs.org.

There you'll find:

Patreon

Support on Patreon!

This project is funded through Patreon, an ongoing crowd-funding site. Check it out, and consider supporting Daisywheel's development. There you can find out more about the current status of the project through developer posts and community discussion. Pledging allows you to vote on controller support and feature requests, and gives access to small-group chat and beta testing.

Contributing

To setup your own build and/or contribute, pull down a clone of the repo. Run npm install to install dependencies. After making changes to either the daisywheel.js file or the less files run gulp and a build version of the files will be generated. The process should look like this:


git clone git@github.com:likethemammal/daisywheeljs.git
cd daisywheeljs
npm install

//make some changes

gulp

Attributions

gamepad-mod.js interfaces with the browser API and organizes the data sent over in the controller's events. It was a modification of the gamepad.js library found in the example code for the HTML5Rocks gamepad tester, which can be found in its orginal form here

License

This is licensed under the MIT Open-source License.


todo

  • multilanguage support
  • controller brand specific button images
  • complex actions (attach to a text editor like Atom or Light Table)