To allow users login no matter what keyboard they are using.

Registered by Paul O'Malley on 2006-07-14

Background:

This item addresses where any user can have any default keyboard setting and any user should be able to login, using that method or some other.

There is a spec on launchpad:
https://launchpad.net/distros/ubuntu/+spec/gdm-keyboard-layout
It is stated that it has been “Implemented”.
This is not the case in 6.06. or edgy as far as I can discover.

It appears to have been drawn from here:
https://wiki.ubuntu.com/GdmKeyboardLayout
This is one possible way to solve this issue:
___________________________________________________
If a user uses different keyboard settings we can “save this” data.

This data ends up in

/etc/userprofiles/file-for-all-users

The data with having a format of:
username, keyboard-1, keyboard-n

Where the username is the name of the user, and keyboard-* is an actual keyboard setting for a keyboard.

Use case:
John a user starts off using the computer in keyboard-1 and chooses to learn the language involved with keyboard-2, John now wishes to change his entire environment to keyboard-2 but his password uses characters unique to keyboard1.

Additional benefit, other users on the machine don't need to know anything of John's login habits.

Passwords are stored as a hash.
Let us assume that John's password has a hash of 12345 when done with keyboard-1.
Let us assume that John's password has a hash of abcde when done with keyboard-2.

If the login program checks the values for John in
/etc/userprofiles/file-for-all-users
it can put his password through the the login process and check it at most twice.

As far as I can see this negates any need for manual settings changes as a user.
It also covers if GDM crashes and a user has to login at the console.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.