GSoC idea - gamepads panel (and collateral ???

From: Žan Doberšek <zandobersek gmail com>

To: gnomecc-list gnome org, gnome-soc-list gnome org

Subject: GSoC idea - gamepads panel (and collateral ???

Date: Wed, 21 Mar 2012 18:29:42 +0100

Greetings,

I am Zan Dobersek, an undergraduate freshman of the interdisciplinary programme Computer Science and Mathematics at the Faculty of computer and information science at the University of Ljubljana, Slovenia. Despite being a freshman, I've been gaining experience in programming and open source projects since 2008, mostly making small contributions to the Gtk+ port of the popular WebKit project. Recently I've become more and more interested in GNOME as a whole and now as a student am looking forward in applying to the Google Summer of Code with an idea around enhancing a particular GNOME project.

Working around WebKit, I am familiar with new web technologies emerging every day, and fond of new trends occurring, especially regarding native HTML applications making their way towards our systems. Especially interesting are HTML games, using technologies such as Canvas, WebGL, Web Audio, Pointer Lock, Fullscreen etc. A technology coming from the same field that I find interesting is Gamepad support, which enables the use of devices such as gamepads or joysticks in HTML applications. Admittedly, there aren't a lot (if any) native HTML applications used in GNOME as of this moment, let alone HTML games, but I'm certain there will come time when such applications will be aplenty.

I am interested in bringing the Gamepad support to the GNOME platform in a complete package. This would mean adding support for such devices in the Gtk+ port of WebKit. Still, when using a supported device, users might want to change buttons mappings or tune the axis sensitivity. For such cases I would like to polish the experience by adding:

- a panel in Gnome Control Center, offering a complete mapping of both buttons and axes on a device along with axes calibration

- a plugin in gnome-settings-daemon that would load mappings and calibration data for the newly-connected device that were previously set and saved through the panel in GCC

As much as I am interested in doing this, I would like to know whether adding the panel and plugin directly to the two projects would be both acceptable to the project maintainers and a valid goal for the GSoC application, and if there would be anyone willing to mentor me in doing this.