GP2X Typing Emulation


Still Fresh
Aug 25, 2006
Are there any standards on keyboard manipulation?

I've thought about the problem of typing with the limited amount of buttons on the GP2X. One solution is a field with all the buttons and scrolling toward the correct one... it sucks.

I think that the lowest average amount of required buttons pushed per symbol is a 2.something, for instance this text, i only use mainly the letters the space and upper/lower-case. if i start with numbers, i may be doing that for a while too.

Now my suggestion:
To keep things simple each symbol is reachable though a selector and then a tree. Moving trough text is done with the stick.

the selector reads: letter, numbers, action,
parsing through the selector is done with L-button. the a,b,x,y,R-buttons initiate a symbol selection.

When this symbol selection is initiated what happens is dependend on what the selector reads. the select button becomes back one.
in case of letter buttons lead to menus with the letters (alphabetical seems logical, also easier display):
Y: abcdef
B: ghijklm
X: nopqrs
A: tuvw<space><newline>
R: <tab><,><.><capital><backspace><something>
with capital leading to uppercase letters tree (same thing as here)

with the letters below the buttons numbers selected with Y,B,X,A,R,L-buttons (L changes function)

same thing with selector at numbers, just:
Y: 123456
B: 7890-+
X: *(){}<more1>
A: []:;/\
R: <>:;<more2><more3>

more1,2,3 could lead to yet other symbols

Action could lead to copy/paste delete options and such.

I've thought of a system which uses only the selector, having each button scrolling in different directions, but it costs much more button-pushes that way. I am pretty sure the tree after selector method is close to optimal. (the actual position of symbols above could be better though.. also maybe a few positions could be user-defined)

I'd like some responses from people dealing with typing emulation, i am thinking of making a text editor for the GP2X and it would be usefull if people accustomed to this system would not have to relearn for each application.


Jun 3, 2006
Much debate is to be had on IRC about text input methods. It boils down to:

Implement it. Distribute it. The only real way to find out if it is better than the alternatives.

I am a fan of Dasher. There are EdgeWrite users around here, and OSK proponents. I spent an hour discussing a tony-hawk-combo-like input method on IRC.


Mega GP Mania
Feb 3, 2003
Is the tony hawk one where you move over setups and then use ABXY to select the letter you want? Someone made a demo of that on the GP2X a while ago and I was *amazed* by how well it worked, you can actually type at a decent speed using it.


Still Fresh
Jan 17, 2006
Y'know, I always have been thinking of this, at least for quite a while.

Have any of you played the game "Beyond Good and Evil"? If you haven't, it has a unique system for typing out things like little passcodes. Essentially, you have a 'staircase' of the alphabet, A through Z, and the numbers 1 - 9 in the game. You move the mouse/rotate the analog stick (depending if you've played the PC or console versions) and click on each letter. In my opinion it's VERY fast to type. I could try to write up a GP2X demo of it, IF I could get SDL inputs working -_-

Essentially, it would be rotating the stick on the GP2X, with a button for entering each letter, L could be capital letters and the symbols used for 0 - 9 on a keyboard, and R could bring up symbols, or something like that. Backspace could be a button, and Enter could be a button as well.

If I get the time sometime this weekend I can attempt to write a demo of it, unless one really awesome programmer here has played the game. It's a brilliant text entry system, I want to see more people adopt it.

EDIT: Now that I think about it, a great example for people to understand this would be like the touchpad on Apple's iPod. Rotating clockwise to go down the alphabet, counterclockwise to go up the alphabet.


Dec 10, 2005
Istanbul, TR
Visit site
I was working on an onscreen keyboard / text editor. Here's a very early release. You might figure out how easy to type with this utility. B)


Use stick to change the letter blocks.
A, B, X, Y to Type
L Trigger : Back space
R Trigger : Space
SELECT : Change characters (not completed yet)
START : Quit

Download notes2x

I'm waiting for your comments. :ph34r:


Still Fresh
Aug 25, 2006
(I'm topic starter)
Thanks for the replies! I'll go back them in the order they came in.

Dasher really looks cool. Drawbacks though, looks like it would take a lot of screen space. Maybe instead of fields the letters should just be selected from the top-chances (with a button to go to higher and lower chances and buttons to take symbols). Also it sounds very complicated (to program, and computing-use, of inference of which letters may be next).
I also would want it to work when starting in the middle of a text. (but that prolly no problem)

About the Tony Hawk-game, looks very much like the system i was talking about, at least if you mean with "setup" what i meant with "selector". (whereiz the demo?)

The keyboard picture is exactly what I am trying to avoid, while it costs little screen-space, it isnt fast at typing is it?

Maybe i have to see it work, but rotating the stick doesn't sound very fast, 27/4=6.5 rotate steps to reach each letter? also i was trying to keep the stick free. Prolly that is not what you meant. (also stick is not anolog on gp2x :(, but not too bad )
Btw I may have to solve that SDL problem too. (havent even started yet)

TechFreak, good to see you already working of making a text editor, I'll be sure to check it later (when i have my gp2x handy). Can't really say anything before trying it, ofcourse.
From just reading your comment i think you plan to use blocks of four symbols and the stick to select a block. hmm then about >10 covers basically all the blocks that is prolly usually 3 moves of the analog stick and then the abxy-button to type. I saw a similar sheme earlier using the buttons oppositely, abxy to select a field (of 9 letters) and stick(-push) to type.

When figuring out my method i went for a combination of simplicity and minimalising button-pushes. I also wanted the stick free, as a movable cursor and for selecting textbits. (with copy, paste, etc activatable when on the selector action)
Though my system will only cost 2.something button-pushes when used optimally, i am not sure whether this will work in practice. I should try to code my suggestion to see.