Game controller: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (Reverted edits by 121.0.177.2 (Talk); changed back to last version by 88.113.171.167)
(eliminate EC reference -- only true for some XO models.)
 
(9 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== Suggestions ==
== Hardware ==
The game controller of an XO laptop is a [https://en.wikipedia.org/wiki/D-pad D-pad] or [[rocker]] at the lower left corner of the display and a set of four [https://en.wikipedia.org/wiki/Gamepad#Fifth_Generation 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 [http://linuxcommand.org/man_pages/xev1.html 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 [https://en.wikipedia.org/wiki/Computer_keyboard#Miscellaneous 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) ===
=== Left Side (Directional Pad/Joystick) ===
Line 7: Line 13:
In order of preference we should include:
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.
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.
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.
Line 19: Line 25:
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.
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
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
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.
separate buttons on the right hand side, as evidenced by numerous controller illustrations below.

Latest revision as of 23:48, 4 January 2016

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

http://www.ossblog.it/uploads/gp2x_2.jpg

http://www.retro-games.co.uk/neogeo/hngp_bluesys.gif

http://gruson.guillaume.free.fr/images/Consoles/neogeo-pocket.gif

http://www.retro-games.co.uk/neogeo/hngp_bw.jpg

http://www.viewonline.com/pages/articles/images/messiahcontrollers.jpg

http://www.axess.com/twilight/console/detail/vb.jpg

http://www.hartware.de/media/reviews/322/gp32.jpg

http://www.gamestech.com/playstation2_info/controller/PSX2_Neo_Geo_Stick_2/neo2.jpg

http://epsilon.media.mit.edu/~mako/controllers/psp.jpg

http://epsilon.media.mit.edu/~mako/controllers/Nintendo_ds_bg_2.png

http://epsilon.media.mit.edu/~mako/controllers/211219.jpg

http://epsilon.media.mit.edu/~mako/controllers/retropad1_large.jpg

http://www.circuitcity.com/IMAGE/product/detail/nin/PC.NIN.DOLACK2.LT.JPG

http://epsilon.media.mit.edu/~mako/controllers/controllers-ps3.jpg

http://epsilon.media.mit.edu/~mako/controllers/controller_s1.jpg

http://www.retrousb.com/images/neogeo1_med.jpg

Genesis controller.jpg

http://www.seganet.com.br/images/full_dreamcast_controller.gif

http://z.about.com/d/vgstrategies/1/0/Y/ps2controller.jpg

http://media.arstechnica.com/staff/fatbits.media/n64-controller.jpg