Keyboard layout: create obvious, easy configuration

Project:Linux Distribution
Component:User interface
Project wiki:New Linux Distribution
Related pages:#8958: Keyboard

Mice and keyboards are the primary (only?) interfaces with which a user communicates with the system.

I've had a few keyboard layout problems (how to set dvorak by default for the system, and 'us' for the login managers by default?), and I had to search the web a lot to figure out how to configure it. As someone commented somewhere: "Configuring a keyboard on Linux is serious business".

When dealing with configuration files, one of the problem is that it is not always clear what values are permitted: qwerty? dvorak? us? With or without quotation marks? Which files affect which application? etc.

There should be a single script to guide users how to set up the keyboard layout for different system components. The script would guide the user through menus and provide easy to understand choices. The script would then configure settings files for the relevant applications and tell the user what to do next (logout and log back in? restart the application? Reboot?).

When starting new applications, or after installing them, offering the user to choose another keyboard layout / input engine should done first (a bit like Enlightenment does).