Difference between revisions of "SoC Ideas Gui2 Input"

From The Battle for Wesnoth Wiki
m
m
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{Template:SoC2010Idea}}
 
{{Template:SoC2010Idea}}
 
=Description=
 
=Description=
 +
<h2>Port Wesnoth input framework to a more flexible system</h2>
 +
Page for the idea: [[SoC_Ideas_Gui2_Input]]
  
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)
+
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.
 +
 
 +
{{#dpl:
 +
|resultsheader=''There are %PAGES% submitted student proposals for this idea''
 +
|oneresultheader=''There is 1 submitted student proposal for this idea''
 +
|suppresserrors=true
 +
|notcategory=SoC 2010 Not Submitted To Google
 +
|noresultsheader=''There are no submitted student proposals for this idea''
 +
|category=Summer of Code 2010 Student Page&SoC Ideas Gui2 Input
 +
|include=#Description
 +
|mode=userformat
 +
|format=,,<br/>See [[%PAGE%|%TITLE%]] for more information.<br/><br/>,
 +
}}
  
 
= 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.)

Latest revision as of 23:02, 9 April 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

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.

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

This page was last edited on 9 April 2010, at 23:02.