SoC Ideas Gui2 Input
|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
Page for the idea: SoC_Ideas_Gui2_Input
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.
There is 1 submitted student proposal for this idea
Kahowell - Making the Wesnoth Input Framework More Flexible
This would involve learning about the current state of the Wesnoth input system, and creating an input layer which is highly portable between different sorts of devices. Since Wesnoth already uses SDL, this project would mainly involve creating a subsytem to enumerate input devices and create a default configuration. I will look into different ways of identifying input devices (hopefully cross-platform), and perhaps create a database of default configurations (most likely just a collection of files). This project would also involve creating a dialog for input configuration.
See SummerOfCodeProposal Kahowell for more 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.)