I have a text field in which I can write lower case and upper case letters, numbers and some special characters (' ', '-', '_', '/', '.'). I have only 1 button that can be pressed right, left, up, down and center.

What would be the best way given the buttons that I have to allow writing text?

  • use left right to go through the letters of the sentence, up down to cycle between characters (a, b..) and click to change mode (between lower case, upper case, number and special characters), but I don't really know how to remove characters with this way, other than to replace them with spaces ( or use a special character that is delete )
  • same as number 1 but if I have more than 1 space remove the extra spaces, and leave only 1
  • use left right to go through the letters of the sentence, up to cycle between characters, down to remove and click to change between modes.
  • Any other idea?


The length of the text is of maximum 120 characters, and all types of characters are needed.

  • 1
    Is the button analog or digital? (Are up, down, left, and right the only directions that register, or can you roll it around in a circle?) What sort of screen is available? Can it show more than the text field? Jul 1, 2015 at 12:29
  • Digital, can't roll it around. I have space on screen to show a table of letters or something like that, but I would prefer not to.
    – N Alex
    Jul 1, 2015 at 12:34
  • How much text will need to be written? Are users typing their name, a tweet, or a novel? Are lowercase letters absolutely vital? Jul 1, 2015 at 12:44
  • I edited my question, and added the maximum length.
    – N Alex
    Jul 1, 2015 at 12:48
  • 1
    Surely this problem has been looked into by game designers at some point? I can think of a lot of different examples from games- left to right scrolling alphabet high score entry, terrible and annoying overly sensitive fields where you only see the currently highlighted letter, RPG typical whole alphabet select boxes... It is this latter one which seems to have lasted the test of time actually. It is still seen rather a lot, even on the ps3's web browser. The others...not so much. Jul 1, 2015 at 12:51

1 Answer 1


You are going to need a virtual on-screen keyboard because of the volume of text, the need for upper and lower case letters, and if users will typing frequently.

Using only a single button to cycle through letters is crippling, and will result in a lot of frustration if you miss a letter and have to loop back around. Similarly, having to find the blank space character to delete a mistake is going to be hard, and you will probably have to explain that somewhere.

A 120 character limit is about a sentence or two, so users will need to be able to see the entirety of what they've typed rather than only the nearest couple characters. It's easy to make mistakes when focusing on only a letter at a time. ("Am I at the 2nd or 3rd 'i' in Mississippi?") Adding in the need for upper and lower case letters along with numbers and symbols, and you also need a way to indicate what mode you are in. Lastly, if users need to use this interface more than once per month you want to avoid as many annoyances as possible. (Less frequent use can tolerate a higher level of frustration.)

Most video game consoles have similar limitations (directional movement instead of a full keyboard), and they solve the problem with an on-screen virtual keyboard. Users navigate the letters with directional buttons and select them with another button.

PS3 Virtual Keyboard from http://manuals.playstation.net/document/en/ps3/current/basicoperations/keyboard.html

PS3 Virtual Keyboard

Xbox 360 Virtual Keyboard from http://www.groovypost.com/howto/xbox-360-set-up-use-twitter/

Xbox 360 Virtual Keyboard

I tend to prefer the PS3 keyboard because it uses a QWERTY layout by default, and has a place for dictionary suggestions to speed up the input. (Alphabetic order should be avoided because users don't know where the breaks in each line occur, and most have experience with standard QWERTY.) Both Xbox and PS3 virtual keyboards have shortcuts that use additional buttons on their controllers, but those are optional.

In your scenario, you would probably want to have a click of the main button be used for selecting a letter. (This heavily depends on how easy it is to click the button without triggering one of the directions.)

If use of a screen is not practical, or the button input is too imprecise to spell things accurately, it may still be possible to do what you need.

  • Alter the visual style of the text field so that it does not resemble one they would see in a web browser. This includes use of a monospaced font, and removing the standard text cursor ( | ).
  • Use up and down to cycle through the letters. Draw arrows above and below the currently active letter to indicate how to select a different character.
  • Use left as backspace, and don't have a movable cursor. Input always occurs at the end of the text.
  • Use right to save the current letter and move to the next. Each new letter should start with the blank space character, or 'A' as long as users can scroll down to get to the space.
  • Clicking the center button changes the mode. Show this mode on the screen somewhere.

This should allow basic text entry without making mistakes overly punishing. Users will want to type as little as possible, though, so expect lots of abbreviations and improper capitalization.

  • This looks similar to the Roku keyboard. I agree that this is the way to go, and I'll add that it's a huge pain in the neck, even for short text entries. So, @N Alex, pre-populate and auto-fill if you can. Jul 1, 2015 at 13:47
  • I think I will go without the keyboard. The users will use this input rarely, and doesn't really matter what they input as long as they can associate it with a place and a radio frequency.
    – N Alex
    Jul 1, 2015 at 13:59
  • 1
    I've used systems with the left/right = position, up/down = character before, mostly in naming synthesiser patches. For me this is also an unusual activity but it also engenders so much frustration that I am often reluctant to a) purchase systems that use this method or b) complete the task more than once or twice - The level of frustration that this UI creates is far greater than you can imagine! Jul 1, 2015 at 14:07
  • @AndrewMartin Yes, I understand that it's frustrating to use something like this to input text, but for what I developed, users will also be able to attach a keyboard if they don't want to use this system.
    – N Alex
    Jul 1, 2015 at 17:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.