FS#6065 - main vs. remote vkeyboard inconsistency

Attached to Project: Rockbox
Opened by Rani Hod (RaeNye) - Monday, 25 September 2006, 16:49 GMT
Last edited by Teruaki Kawashima (teru) - Sunday, 21 February 2010, 05:24 GMT
Task Type Bugs
Category User Interface
Status Closed
Assigned To No-one
Operating System iAudio X5
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Since vkeyboard layout is dependent on LCD_WIDTH, targets for which main width >= 160 but remote width < 160 have a different layout on each LCD. See attached sim screenshot and inquire apps/recorder/keyboard.c:251 for more detail.

The button handling isn't consistent as well (e.g., after four DOWN presses it goes to the edit-line whereas SELECT enters the character under the main lcd cursor).
This task depends upon

Closed by  Teruaki Kawashima (teru)
Sunday, 21 February 2010, 05:24 GMT
Reason for closing:  Out of Date
Comment by Stephane Doyon (sdoyon) - Monday, 13 November 2006, 18:20 GMT
There's a single bool line_edit = false; state variable. We could move it
to the per-screen struct keyboard_parameters param[]. That way, one
screen can be on the edit line and not the other.

It's a bit convoluted though: if the layouts are different, motion on one
screen might obviously not make sense on another screen. Could we add
remote control key mappings for all keys (not just SELECT) so that we
can keep different positions per screen?

I don't even own a remote control myself so...

I explain in P#6324 that a similar issue makes the voice speak the wrong
Comment by Stephane Doyon (sdoyon) - Tuesday, 14 November 2006, 02:27 GMT
OK how's this for a fix?

It just makes the line_edit state a per-screen variable. Has to make sure
not to modify editpos twice though.

And it has the voice speak in accordance with the first screen only,
which fixes that discrepancy too (as long as you're not using a remote).

The patch is somewhat awkward to read because there's lots of indentation
changes, and the #ifdefs are a bit hellish. Also bare in mind that I have
only an X5 to try this on and no remote, plus I don't see the screen and
voice feedback is one of the things in need of fixing :-). Still, it
seems to work!