• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category User Interface → Font/charset
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by phaedrus961 - 2006-03-20

FS#4856 - UI font in keyboard screen & loadable keyboard layout

I’ve created a patch that allows the user to customize the virtual keyboard. Basically, it takes a utf8 string and writes it to the screen line by line using the ui font and creates extra pages if needed. This allows the user to use any characters supported by their font in their keyboard layout.

To create a new layout, simply make a utf8 text file with the chars in the order you want and give it the extension ‘kbd’ (without quotes). Then just ‘play’ it from the file browser.

What’s still needed:
1. A better default layout
2. A kbd file icon (it currently uses the font icon)

Closed by  marcoen
2006-05-11 07:09
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

already in cvs

I haven’t looked carefully at the patch, but i have two thoughts. At line 421 (in the patch) you check if FONT_UI fits the screen, and otherwise you change to FONT_SYSFIXED, but it doesn’t look like you check if that fits. And the other thing is, do you take doublewidth characters into account when doing the layout? I’d be interested in this for japanese input…

I don’t check if FONT_SYSFIXED fits the screen, because it always fits. However, there is at least one font that is too large to fit the recorder screen, thus the check for FONT_UI.

When drawing the layout it prints all chars using the max width of the font. So it should work with any chars that your font will display. Actually, it’ll work with any chars, but you’ll only see the ones that your font supports.

I’ve updated the patch with the following: better max width calculation (now uses the max width of the displayed chars) and korean input. To input korean, use a keyboard with the jamo characters (unicode u+3131 - u+3163) and simply select them as usual. The keyboard will ‘automagically’ join them into hangul syllables. Use cursor left/right to end a character without a trailing consonant.

I’ve also attached a premade korean kbd file for testing purposes (only includes jamo chars). Note: the only font that supports korean is unifont.

I changed the code to do in-place hangul combining. It now works very similar to Microsoft’s korean IME.

Updated patch changes the default keyboard to work the same as the original keyboard. Also, it no longer adds unnecessary blank lines between the keyboard and text.

Korean input should now work like the koreans expect it to. Thanks to Jungti1234 for explaining it to me :)

Would you consider to extend this in the direction of my feature request ( )?


Available keyboard shortcuts


Task Details

Task Editing