Game controller

From OLPC

Jump to: navigation, search

Contents

Hardware

The game controller of an XO laptop is a D-pad or rocker at the lower left corner of the display and a set of four action buttons at the lower right; therefore a total of four buttons for user activation. Beneath the rocker are four switches on the system board. More switches are beneath the action buttons. The rocker can activate the underlying switches, one, two, three or four together depending upon how it is tilted. Not all combinations are possible. For example, if the upper and lower switches are closed, then at least one of the left and right switches is closed. The action buttons operate similarly but allow any combination of the underlying switches to be closed simultaneously. Some of the combinations provide "cheat codes" when the machine is powered up.

X Events

The Linux xev command may be used to show events produced when a switch is closed or opened. Switch closure is reported as a KeyPress event; switch opening as a KeyRelease event. Events generated by the embedded controller are typical of the keypad of a conventional computer keyboard. The rocker produces KP_Up, KP_Right, KP_Down, KP_Left. The right buttons produce KP_Prior, KP_End, KP_Next and KP_Home. Keycodes and keysyms are also available from xev, pygame, and GTK+.

Design History; Suggestions and Considerations

Left Side (Directional Pad/Joystick)

The left should include a directional pad or joystick to use in pointing or directional manipulation.

In order of preference we should include:

1. A circular "rocker" on top of four contacts but made of a single piece of plastic that allows for easy 8-way directional pointing.

2. In the interests of space, the 4-way directional pad could be replaced with a short joystick. We'd like to avoid the clunkiness and fragility of most cellphone joysticks. A good example of a gaming joystick would be in either the GP2X, the GP32 (an earlier version of the GP2X) or the controller on the NeoGeo. For examples, see the first three examples in the photos section below.

3. A Sony Playstation-like 4-way directional-pad with single piece of plastic but exposed or shaped into 4 roughly distinct buttons and shaped to allow pointing in diagonals (see the Playstation controller or Nintendo controller for examples).

Right Side (Buttons)

Since there is additional room on the right side, we should take advantage of this and include 4 buttons. The ideal layout would be in a diamond shape so it could be used a more traditional four-way directional pad if necessary.

If two buttons are used instead of three, they should be distinct buttons and placed an angle from each other with the right button above the left. A third extra button offset either above or below would be useful.

We do not recommend using a 4 directional rocker "dpad" on the right hand side. There are several reasons for this. First, because there is a well-established convention to lay out separate buttons on the right hand side, as evidenced by numerous controller illustrations below. Second, naming the controls becomes difficult. For example, instructing someone to "press down" becomes ambiguous - did you mean down on the left rocker, or down on the right rocker? Third, many games utilize multiple button combinations on the right hand side wich are difficult..

Other game controllers

Reviews and Overviews

Examples and Pictures

gp2x_2.jpg

hngp_bluesys.gif

neogeo-pocket.gif

hngp_bw.jpg

messiahcontrollers.jpg

vb.jpg

gp32.jpg

neo2.jpg

psp.jpg

Nintendo_ds_bg_2.png

211219.jpg

retropad1_large.jpg

PC.NIN.DOLACK2.LT.JPG

controllers-ps3.jpg

controller_s1.jpg

neogeo1_med.jpg

full_dreamcast_controller.gif

ps2controller.jpg

n64-controller.jpg

Personal tools
  • Log in
  • Login with OpenID
About OLPC
About the laptop
About the tablet
Projects
OLPC wiki
Toolbox