Difference between revisions of "SoC Ideas Gui2 Input"

From The Battle for Wesnoth Wiki
m
(rewrote the proposal)
Line 1: Line 1:
 
{{Template:SoC2010Idea}}
 
{{Template:SoC2010Idea}}
 
=Description=
 
=Description=
<h3>Port Wesnoth input framework to a more flexible system</h3>
+
<h3>Port Wesnoth input framework to a more flexible system</h3> Since 2007,
Since 2008, 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 areas that hasn't been ported to the new system yet is the input subsystem. The point of this SoC would be to make Wesnoth use the new framework for input, keeping in mind different input types than the usual keyboard+mouse (console type pads or phone touchscreens for example)
+
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 =
 
= 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.)

Revision as of 09:58, 7 March 2010


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


Description

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.)