0

I've recently upgraded to 18.04 and I use a bespoke colemak layout

Previously with 16.04 ubuntu seemed to load my layout prior to the log-on screen where you enter your password

This no longer seems to be the case. So in order to enter my password I now have to enter it via the on-screen keyboard (which comes up as qwerty)

Once I'm logged in successfully the keyboard layout is then as I expect, i.e. my bespoke colemak. Its nice in as much as it is a little more ergonomic for the average shoulder width

This is super inconvenient having to log-in by clicking on the on-screen keyboard every time I start my machine

Anyone know why this is happening now in 18.04 and whether there is a fix?

Update:

Running setxkbmap -query from term when logged in (when keyboard is running as expected) gives:

rules:      evdev
model:      pc105caw-sl
layout:     us,gb,gb
variant:    cmk_ed_dh,,
options:    ctrl:swapcaps,caps:ctrl_modifier

So I made sure these values were reflected in /etc/default/keyboard i.e.

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.
#XKBMODEL="pc105"
XKBMODEL="pc105caw-sl"
# XKBLAYOUT="gb"
XKBLAYOUT="us,gb,gb"
# XKBVARIANT=""
XKBVARIANT="cmk_ed_dh,,"
# XKBOPTIONS=""
XKBOPTIONS="ctrl:swapcaps,caps:ctrl_modifier"
#XKBOPTIONS="misc:extend,lv5:caps_switch_lock,grp:shifts_toggle,compose:menu"

BACKSPACE="guess"

note commented out lines were the originals

Rebooted but still didn't work.

As an aside, does the on-screen keyboard always come up as qwerty? It seems to for me.

I have a suspicion that ubuntu is not picking up on he XKBMODEL bit prior to entering password.

on the subject of pc105caw-sl - this is what it does:

enter image description here

and as its a model, not a layout it is applied regardless of what variant you select, i.e. you get that wide angle layout whether your using colemak or qwerty or dvorak or whatever

Update #2

The plot thickens! On initial bootup I can't log-on using the keyboard as the layout is not instantiated correctly so I have to revert to using the on-screen qwerty keyboard. However, if the screen locks and I then have to log back in I can use the keyboard successfully! Curiouser and curiouser...

  • I doubt that there exists a pc105caw-sl keyboard model in xkb-data (i.e. the package which provides the keyboard configuration options). Can it be that it fails to parse the file for that reason and falls back to basic English (US)? – Gunnar Hjalmarsson Jun 18 '19 at 13:06
  • What if you log in to a TTY (<Ctrl>+<Alt>+<F2>) after next reboot (before any graphical login) and check what setxkbmap -query returns there. – Gunnar Hjalmarsson Jun 18 '19 at 13:16
  • it exists, but it is non standard - i put it in there! its wide angle mod, definitely works as i get the benefit of it once i'm past the log-on stage – bph Jun 18 '19 at 14:43
2

On 18.04 the layout you want to use on the login screen needs to be set in /etc/default/keyboard. You can fix that from Settings -> Region & Language.

If there is only one user on your system, just add a random layout and delete it again.

If there are multiple users, you should click the Login Screen button to set the layout(s) you want to have available on the login screen.

Then it should be fixed after next reboot.

Reference: https://help.ubuntu.com/stable/ubuntu-help/keyboard-layouts.html

.

  • unfortunately not working for me.. I actually think overwriting the etc/default/keyboard file wholesale like it does wen modifying Settings->Region & Language is a bit of a bug? – bph Jun 18 '19 at 10:58
  • @bph: Strange that it doesn't work. As regards bug, at least it's odd that different parts of the system have different ideas about what the file should look like. – Gunnar Hjalmarsson Jun 18 '19 at 13:02
  • just noted that I can successfully log-in using pwd after a screen-lock instance, just not on initial boot up – bph Jun 19 '19 at 10:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.