SoC Ideas Gui2 Input

From The Battle for Wesnoth Wiki
Revision as of 09:59, 7 March 2010 by SkeletonCrew (talk | contribs) (minor formatting fix)

This page is related to Summer of Code 2010
See the list of Summer of Code 2010 Ideas

This is a Summer of Code 2010 Idea


Port Wesnoth input framework to a more flexible system

Since 2007, Wesnoth has been rewriting its GUI system with a more flexible system allowing all user interface aspect to be specified through WML. One of the changes has been to change the GUI input system. The input system still only support keyboard and mouse. With the rise of the more powerful hand-held devices(hand-held game consoles and phones) Wesnoth gets ported to these devices as well. The scope of this SoC project is to add more different kind of input devices like pads and touch screens.

Additional Information

The project is divided in several sub projects:

  • Add the new input devices to the gui2 framework.
  • Make it possible to select and configure the input devices.
  • Port the gui1 interfaces to use the new input sub system.

In the sections below the steps are discussed in more detail.

Add devices to gui2

The SDL project is currently working on version 1.3 of their library, which has several improvements for the iPhone. SDL hasn't been released yet and there's no firm release date yet. It would be interesting to see whether the input system can use SDL-1.2 and SDL-1.3 with some ifdefs.

Configure input devices

Since the number of buttons and placements of the button differ per device the user should be able to configure which buttons to use and assign functions to them. A dialog should be added for this. Preferably the dialog also shows which button is pressed at a certain moment so the user can see how Wesnoth calls the button on that device.

Port gui1 to new sub system

Once the gui2 part can use the new input system it also needs to be ported to the old input system. (Porting the old gui is long process, porting the input system will be faster and easier.)