Rockbox Technical Forums

Rockbox Development => Feature Ideas => Topic started by: tonsOfSparks on July 24, 2008, 10:12:37 AM

Title: Ideas for Better Text Entry Methods
Post by: tonsOfSparks on July 24, 2008, 10:12:37 AM
The old NES-style method is definitely the first thing that comes to mind then dealing with a device with only arrow keys and a few other buttons, but it is very unsystematic and a little awkward to use. Since Rockbox is supposed to unlock the full computer potential of an MP3 player, I propose that research (aka brainstorming and sharing ideas) is done on new and better ways to enter text. <edit: I jumped to conclusions about the "computer potential thing" here. that is not completely true, but an alternative way of entering text wouldn't hurt>

EDIT: Before going deeper into this thread, you may find the original thread on the subject (which I have failed to notice at first) helpful. Big thanks to DancemasterGlenn for pointing it out:
http://forums.rockbox.org/index.php?topic=16157.0

Please post any other ideas (and constructive criticism of /this one/) you may have, even if they're just vague "brainstorm bits". I really would love to see Rockbox implement a better way of entering text.

Here is what I hope is an adequate explanation of an idea I've had. I'm basing this on the Sansa c200, but it can be adapted to others. There may also be vastly different methods optimal for other players and specific to the player they were developed for. Please also post those. I realize that there are kinks in it, and that not everyone may prefer it, but please keep an open mind about it. It emphasizes the entry of plain text and there is a trade off with the ease of entering symbols, but hopefully, this inconvenience can be minimized somehow.

Okay, this text entry method uses the arrow keys and the volume keys. I think it will have a bigger learning curve that the one already in place, but i believe getting used to it would pay off. It should not interfere with the current function of the volume keys... you'll see why soon.

The "palette" would look something like this: split into 5 different sections - 4 sections of 5 letters and 1 section of 6 letters - all the letters in the English alphabet. Obviously, I'm taking liberties with the use of space here and this will need to be adapted for use on a smaller screen.



(http://dc42390.googlepages.com/rock_keyboard.GIF)


If the concept has not become clear to you already, here's a n explanation: Basically, the button you hold selects a group of letters, and then you lelect the particular letter with tho volume keys. If the user wants to enter the letter "m"  which is in the rightmost letter in the down group. To enter it, the user would need to hold the down (submenu) button and press the volume up (here used as a directional >)  button twice. ***Skip to the next paragraph if you already get it* The letter M is entered when the user releases the down button. To enter W, you would hold "up" (play/pause), press vol. Down (<) once, and release. For "i", you would just press and release "left" (REW). For "A", you would press and hold the middle button (select) and press the VOL DOWN button until A is selected and then let go of the middle button, and so on...

There would be a way to change the pallet to upper case letters or to symbols. Probably something like LONG UP(play/pause) for the all caps pallet... LONG DOWN to get back to lower case. LONG LEFT for an accent or Cyrillic palette (although then the number of letters/symbold in each group would need to vary. This particular arrangement is pretty much arbitrary, but it wold not be hard to make the most commonly used letters the easiest to get to.



Title: Re: Better Text Entry Method
Post by: Llorean on July 24, 2008, 10:15:14 AM
Quote
Since Rockbox is supposed to unlock the full computer potential of an MP3 player

I'd just like to clarify that Rockbox is about being the best *music* player it can, not unlocking the full potential of MP3 players as computers.
Title: Re: Better Text Entry Method
Post by: tonsOfSparks on July 24, 2008, 10:33:36 AM
Quote
Since Rockbox is supposed to unlock the full computer potential of an MP3 player

I'd just like to clarify that Rockbox is about being the best *music* player it can, not unlocking the full potential of MP3 players as computers.

true, sorry for jumping to conclusions like that, but then again, a simple extra like this (as one option for entering text) wouldn't hurt. Besides, I hardly see what Freedoom, or Rockboy, or the scientific calculator have to do with playing music, although I do agree that music seems (thankfully) to be the priority of the Rockbox team (thanks for all the awesome work, hopefully, someday, I too will be able to contribute) . Rockbox in general has renewed my urge to learn C. lol. ;D
Title: Re: Better Text Entry Method
Post by: obo on July 24, 2008, 10:49:54 AM
I quite like the method used in the Sansa Connect OF - my memory is a little hazy on the exact details, but it's something along the lines of:

There is a single line of characters at the bottom of the screen, which scrolls left/right, with the selected character highlighted in the centre.  One button cycles though line options (lower case, upper case, symbols), and another selects.

The lines are something like (shamelessly stolen from the vkeyboard wiki page, then amended):

.,!?'`"()[]{}<>_-=+/\|@~#$%^&*
abcdefghijklmnopqrstuvwxyz0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

Each line wraps around - I think there is a backspace character (left arrow) on each line as it wraps.

Code: [Select]
a b c d e[f]g h i j k

e f g h i[j]k l m n o

I found it to be more intuitive than the virtual keyboard, but perhaps slower if you're used to the current system.  The .kdb files would need numbers adding, but should otherwise work as-is.
Title: Re: Ideas for Better Text Entry Methods
Post by: robin0800 on July 24, 2008, 02:10:32 PM
You are aware of this page?

 http://www.rockbox.org/twiki/bin/view/Main/LoadableKeyboardLayouts
Title: Re: Ideas for Better Text Entry Methods
Post by: Zardoz on July 24, 2008, 09:41:27 PM
i like obo's implication. by which i suppose i mean i like the sansa connect OF implementation. the idea of having three rows of characters, scrollable left and right (maybe even in biggish fonts) makes sense to me and would represent a big improvement over the current keyboard layout.
Title: Re: Ideas for Better Text Entry Methods
Post by: DancemasterGlenn on July 25, 2008, 02:33:58 AM
Of course, this was already brought up in this thread (http://forums.rockbox.org/index.php?topic=16157.0), where I suggested something along the lines of obo's sansa dealie. We had some other ideas at the end, and this flyspray entry (http://www.rockbox.org/tracker/task/8904) was made to serve as a starting point for targets with scroll wheels. Unfortunately, no one stepped up to code, so nothing has come of it yet. Anyone interested in this should definitely throw some patches in that direction.

To paraphrase the thread I linked to, discussion eventually led to the thought that the current interface could be used as a starting point to make a simpler input system. using the scroll wheel would move your cursor left/right, and said cursor would wrap to the next line of selectable characters when reaching the end of said line. Because moving through characters is all scroll wheel at that point, you could use the rew/ff buttons (to use the ipod as our example) to move your cursor in the text below, and the select button for inputting the characters you're scrolling through. A long select could be used for deleting characters. The final cool thing discussed was the idea of paging: having a number of different screens, one with lowercase letters, one with uppercase, one with numbers/symbols, and others with other language character sets. Only one would be displayed at a time to be scrolled through, to make getting to each letter easier. A keypress such as hitting menu would let you switch between these "pages" on the fly. This is the most important part, as it makes room for more than just the english characters.

So yeah. If anyone's crazily inspired by that idea, feel free to go nuts all over that one. Credit goes to Chronon, Llorean and Bascule (among others) for corralling that previous discussion to the above point.
Title: Re: Ideas for Better Text Entry Methods // Better toggle mechanism
Post by: NorTheBear on July 25, 2008, 07:00:54 AM

Hello: I don't have a problem with the virtual keyboard as I don't write lots of texts in Rockbox. But this only one aspect and I want to draw the attention to another aspect of the existing text entry method. My prime application with the text editor is to change existing texts slightly (e.g. WPS or CFG files). By doing so,  I often get the feeling that a better toggle mechanism between virtual keyboard and edited line would accelerate text entry dramatically in my use cases.

Idea: What about a long key press (e.g. NAVI of H320) which allows immediate toggling between virtual keyboard and edited line.

Just my 5 cent to the discussion, Norbert.
Title: Re: Ideas for Better Text Entry Methods
Post by: Multiplex on July 25, 2008, 08:48:24 AM
Maybe we need to find a key combination to allow Morse on the C200 series... (I checked the manual and it's not there - I used to love it on the H300)
Title: Re: Ideas for Better Text Entry Methods
Post by: Zardoz on September 08, 2008, 07:08:24 PM
I would really love to see this re-jigged, perhaps along the lines of the Sansa firmware outlined by obo above. It's not something I use very often but it's too fiddly for me as is.
Title: Re: Better Text Entry Method
Post by: bushidohacks on September 15, 2008, 11:20:34 AM
Quote
Since Rockbox is supposed to unlock the full computer potential of an MP3 player

I'd just like to clarify that Rockbox is about being the best *music* player it can, not unlocking the full potential of MP3 players as computers.

I agree with tonsOfSparks.  Text entry could definitely be improved.

I was thinking some form of virtual keyboard layout or a "pickboard" (http://doc.trolltech.com/qtopia1.6/html/pickboard.html).  Automatic word completion is a must, especially with devices that lack any advanced input components (i.e. touchscreen).
Title: Re: Better Text Entry Method
Post by: Mad Cow on September 23, 2008, 08:01:03 PM
Quote
Since Rockbox is supposed to unlock the full computer potential of an MP3 player

I'd just like to clarify that Rockbox is about being the best *music* player it can, not unlocking the full potential of MP3 players as computers.

I agree with tonsOfSparks.  Text entry could definitely be improved.

I was thinking some form of virtual keyboard layout or a "pickboard" (http://doc.trolltech.com/qtopia1.6/html/pickboard.html).  Automatic word completion is a must, especially with devices that lack any advanced input components (i.e. touchscreen).


I use the virtual keyboard alot, and not once have I thought that word completion would be useful. Word completion is useful when you're inputting many words because it saves time, there's no reason to type up more than a few words per use of the rockbox keyboard. I don't know about you, but I only use to to rename files and occasionally edit CFGs, that doesn't require word completion, it's just a waste of binary size (and we all know how much the devs hate that ;))

I personally love the opti2 layout on the wiki page, it's incredibly fast when you get used to it, the only problem with it is that it doesn't display properly on portrait-oriented screens with big fonts, but some tweaks fix that.

Obo's idea would be much better suited to players with smaller screens and fonts though.
Title: Re: Better Text Entry Method
Post by: Zardoz on September 26, 2008, 10:57:47 PM
Quote
obo's idea would be much better suited to players with smaller screens and fonts though.

I think obo's idea would be suited to all 'targets' and especially small ones. Let's face it, none of them are too big (in real speak)! My sight is starting to fail so perhaps I'm biased in this regard but I would love this part of rockbox to be overhauled. It's definitely chief on my list of 'snags'
Title: Re: Ideas for Better Text Entry Methods
Post by: Trexx on February 14, 2009, 09:48:20 AM
Did anything ever come about from this?  Obo's idea is really an improvement over the current method.

Personally, I use the text entry a lot for searching for songs in a playlist, and although I've gotten used and fairly good at it on the current "keypad", the microscopic text size and highlight scheme makes it hard to get to the right letter the first time.   Hm... come think of it, why doesn't it use the same highlight scheme as the rest of the menus?

Obo's implementation would be great, especially if the font size were a tad larger... perhaps the font size could be selected (for the text entry option) as a separate menu item on the WPS/font options (ie: same pt size as current theme, current theme + 2pt, current theme + 4pt, specific size).

Addditionally, spaces could be set halfway between each row as well as at the start & end so it will never be too far scrolling to get to it.

But seriously, I would love to see the text entry improved.... thanks for all who can actually code and make the constant improvements to Rockbox... it truly Rocks!
Title: Re: Ideas for Better Text Entry Methods
Post by: Chronon on February 14, 2009, 01:46:55 PM
The font can be switched to the current user font by loading a custom .kbd file.  This also allows you to choose which glyphs you want and how to arrange them.  See LoadableKeyboardLayouts (http://www.rockbox.org/twiki/bin/view/Main/LoadableKeyboardLayouts) for more on that topic.
Title: Re: Ideas for Better Text Entry Methods
Post by: Der Papst on March 06, 2009, 09:18:12 PM
This is something i wrote about one year ago for a plugin (highscorelist) which is still not finished. The code is ugly and a collection of evil hacks but meh...
With someone interested in it and some time it might be adopted to something like obo mentioned. It should compile and work for most bitmap LCD targets after adding the key defines (might work on all iPods, E200 and beast out-of-the-boxâ„¢).

I know i could have used rockbox' virtual keyboard but until now i never really understood how it works on iPods :D
Title: Re: Ideas for Better Text Entry Methods
Post by: archivator on March 12, 2009, 01:50:57 PM
I've always wondered - how difficult would it be to have autocompletion dictionaries for text entry? That would speed up text entry tremendously in the most common of cases. It's not exactly a new text entry method, though, just an upgrade on the current one until something better comes along.
Title: Re: Ideas for Better Text Entry Methods
Post by: Ubuntuxer on November 20, 2009, 10:35:00 AM
In my opinion the text_editor's control should be similar to the calculator. Particularly on touchscreens the calculator's control works very fine. The problem is that it's impossible to write it also for targets without LCD bitmap.
Besides I think it doesn't make sense to support Hebrew or Arabic alphabet, because they are written from right to left, so you can't really write it.

I suggest just to support Latin alphabet and special character, because it makes things easier and is the most widely used alphabetic writing system.
The following code snippet is based on the calculator and shows my basic idea:
Code: [Select]
unsigned char* buttonChar[3][BUTTON_ROWS][BUTTON_COLS] = {
    { { "A" , "B" , "C" , "D" , "E", "F" },
      { "G" , "H" , "I" , "J", "K" , "L" },
      { "M" , "N" , "O" , "P" , "Q" , "R" },
      { "S" , "T" , "U" , "V" , "W" , "X" },
      { "Y" , "Z" , " " , "¶" , "abc" , ".,?" } },

    { { "a" , "b" , "c" , "d" , "e" , "f" },
      { "g" , "h" , "i" , "j" , "k" , "l" },
      { "m" , "n" , "o" , "p" , "q" , "r" },
      { "s" , "t" , "u" , "v" , "w" , "x" },
      { "y" , "z" , " " , "¶" , "ABC" , ".,?" } },
     
    { { "." , "," , "?" , "!" , "\"" , "/" },
      { "(" , ")" , "+" , "-" , "*" , "#" },
      { "\\" , "[" , "}" , "&" , "$" , "€" },
      { "<" , ">" , "{" , "}" , "@" , "_" },
      { "|" , "~" , " " , "¶" , "ABC", "abc" } }
};