Arx Libertatis Bug Tracker
Please log in to bookmark issues
CLOSED  Enhancement #1032  -  Support Unicode text input for save game names
Posted Jun 21, 2017 - updated Jun 23, 2018   Shortlink:
icon_info.png This issue has been closed with status "Done" and resolution "RESOLVED".
Issue details
  • Type of issue
  • Status
  • Assigned to
    Not assigned to anyone
  • Progress
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
  • Posted by
     Daniel Scharrer
  • Owned by
    Not owned by anyone
  • Estimated time
    Not estimated
  • Category
    Not determined
  • Resolution
  • Priority
    Not determined
  • Targetted for
    icon_milestones.png Not determined
  • OS
    icon_customdatatype.png Not determined
  • Architecture
    icon_customdatatype.png Not determined
  • Fixed in
    icon_customdatatype.png Arx Libertatis 1.2-dev
Issue description
The current text input in the menu (as implemented in MenuPage::UpdateText()) is very basic - it uses a fixed table of Key → ASCII character mappings (implemented in Input::getKeyAsText()).

This is missing many common text input features:
  • Keys for non-ASCII characters
  • Key combinations other than Shift+ASCII key (ie, AltGr)
  • Dead keys
  • Compose sequences
  • Input methods
  • Pasting text
  • Dragging & dropping text

It is also missing support for editing already entered text (besides erasing the last character using backspace).

The menu text input should be adapted to be similar to the console text input, which makes use of SDL's Unicode text input and input method support to provide all of the above features and has better editing support. The input and editing code is already implemented in a generic class. Some of the edit rendering code can also be shared.

Input::getKeyAsText() should be removed.

Comment posted by
 Daniel Scharrer
Jun 23, 22:15
This has been implemented.

The issue was updated with the following change(s):
  • This issue has been closed
  • The status has been updated, from New to Done.
  • The resolution has been updated, from Not determined to RESOLVED.
  • This issue's progression has been updated to 100 percent completed.