Input Language Menu

Design page for the input language menu.


  • Indicate of the current input language
  • Allow switching between available input languages
  • Allow switching between input method modes

Relevant Art

Windows 10

Windows 10 Menu

Keyboards are indicated by two character codes, stacked on top of each other.

Input methods are labelled as such:

When the input method has a mode, it is shown as a separate entry in the task bar. Right clicking either item in the task bar allows changing the mode:



The menu lists input sources, which is a superset of the keyboard layouts (from Xorg) and input methods (from iBus).

We should try to stay as close as possible to the user's mental model. We're assuming that this is language based: "I want to type Spanish", "I want to type English". However, in some cases that might not be true.

Original Design


  • The system should not leak implementation details to the user
  • Each option will have a two character ID field and a slightly longer (<25 char) Name field

  • The ID field should be displayed in the top bar status indicator
  • The ID and Name fields should both be displayed in the associated menu for the status indicator
  • Simple keyboard mappings should use the ISO_639-1 language code for the ID field (in lower case)
  • Keyboard mappings that do not have ISO_639-1 language code should use a unique 2 character ID with the first character capitalized (Eg. Dvorak = Dv)
  • Input methods with multiple variants per language should use a different character from the relevant script as the ID
    • A symbol that helps identify the type or technique of the method should be preferred.

Updated Guidelines

See Also

Design/OS/InputLanguageMenu (last edited 2019-06-13 16:39:53 by AllanDay)