Design ● OS ● Apps ● Whiteboards ● GNOME Shell ● System Settings ● How to contribute
Extra Characters
Contents
Introduction
There are a variety of characters that cannot be inputted with the keyboard in the usual manner. We need a way to insert these characters that is convenient and easy to learn.
Designers
Objectives
- Enable the insertion of characters for different languages, such as letters with accents, umlauts, circumflexes
- Enable the insertion of additional typographic characters, such as em dashes, guillemets, degrees, copyright and trademark characters
Relevant Art
Windows 7
International Keyboard Layouts
Entering a punctuation mark then a letter combines them. ' followed by a produces an á, for example.
Holding down the Right Alt key (we'd call it the Third Level Chooser) gives access to other characters. eg. Right Alt+c produces a copyright symbol
Alt Codes
These appear to be used quite commonly. You hold down the Alt key and enter a numeric code for specific characters.
OS X Lion
Character Palette
Keyboard Viewer
Both the character palette and keyboard viewer can be accessed from the input method menu
Bubbles
The bubble is activated by holding down the relevant key. Each character can then be inserted by pressing the corresponding number.
Option Codes
Similar to the 'Third Level Chooser' on Linux.
GNOME
There are a number of ways to enter such characters, currently:
gucharacter map
Find the character you are interested in, double-click to select it, then paste it where you need it. The downside of this is that you have to switch to another app and back for each character.
On-screen keyboard
Included in GNOME 3.2 pops up secondary popups with choices for accented characters very similar to the one shown above when holding e.g. the 'a' button for a while.
GTK+ Unicode Input
A simple input method that supports entering arbitrary unicode characters by typing Shift-Ctrl-u, followed by the hexadecimal Unicode codepoint. As an example, 'Shift-Ctrl-u a 9' generates a copyright sign. The downside of this is that you have to memorize all of Unicode.
Compose Key
This must be defined in the layout preferences. Then there are a large number of key combinations involving the compose key that generate such characters. As an example, 'Compose ( c' generates a copyright sign. This is supported both by GTK+'s simple input method as well as by various other input methods. The downside of this is that you have to memorize a large table of key combinations.
Third Level Chooser Key
Must also be defined in the preferences. Holding down the key allows extra punctuation characters to be inserted.
Accents, circumflexes etc can be added to characters by holding the Third Level Chooser key, pressing the appropriate punctuation key, then releasing and pressing a character key. Third Level Chooser+# followed by a produces à, for example.
iBus
iBus currently provides two methods:
Third Level Chooser
This is automatically mapped to the Right Alt key. It operates in the same way as the existing Third Level Chooser implementation.
Rawcode Engine
Similar to other unicode input methods, this allows characters to be inputted by using their unicode designation.
Touchscreen Keyboards, Generally
Touchscreen keyboards typically provide two facilities that are instructive:
Press and hold
Reveals variants of that character, such as with accents and circumflexes
Punctuation picker
For common punctuation characters. This typically has a basic and extended set of characters
Discussion
Keyboard Input
Keyboard input for extra characters is not particularly user friendly, but it should work nonetheless.
GNOME currently suffers because neither the third level picker or the compose key are easily discoverable or accessible. Furthermore, the simultaneous existence of the compose and third level chooser keys creates a confusing situation in which two overlapping pieces of functionality compete for peoples' attention. (While the compose key is described in the documentation, the third level chooser is not.)
The characters that can be inputted using the third level chooser key are sometimes printed on keyboards themselves. They are also displayed in our keyboard layout viewer dialogs.
'Third level chooser' is an incredibly confusing name.
Pop Up Pickers
Pop ups such as those found in on screen keyboards and in OS X Lion offer an easy way to add extra characters. Consistency with onscreen keyboards found elsewhere aids their discoverability.
It is worth noting that these pop ups for character variations overlap with the functionality provided by the third level chooser key.
If we are going to have pop ups for inputting character variations it would be consistent to also use them for adding punctuation.
The trick to this approach would be to find a good key to activate the character picker. Options:
- Long press Right Alt/AltGr
- + Is a modifier key.
- + Already has some (minor) association with special characters.
- - Would replace the third level chooser key. (This is necessary for some region/languages at the moment.)
- Long press ` (key above tab)
- + Somewhat maps to 'punctuation', since it typically has three unusual characters printed on it and its row is focused on special characters.
- - Isn't identified as being a modifier key.
- Space+Right Alt/AltGr (or a similar combination)
- + Faster than a long press.
- + Again, some minor association with special characters.
- + Some sense of being a modifier.
- ? Might be problematic on a Mac
- - Inconsistent with other long press behaviour.
Tentative Design
Third Level Chooser
Give the Third Level Chooser a better name. 'Alternative Characters Key' maybe.
Ensure that the Right Alt/AltGr key is mapped to the third level chooser where possible. Enable people to map an alternative key if they do not have a right Alt/AltGr key.
The keyboard layout viewer needs to make it possible to learn how to use the third level chooser:
Character Input Popups
Popups for character variations are a good first step here.
A method for adding punctuation could be implemented later.
Character Map
We need a new design for this. See Design/Apps/CharacterMap
See Also
Related design pages:
More Information:
Microsoft International Keyboards - http://www.forlang.wsu.edu/help/keyboards1.asp
Mac Option Codes - http://tlt.its.psu.edu/suggestions/international/accents/codemac.html
The mighty compose key - http://en.wikipedia.org/wiki/Compose_key