I've tried lots of times to do this by toying with files in /etc/gdm3, or editing every Xsession I could find with setxkbmap -layout us -model classmate, to no avail.
I've also tried the steps listed here: Strange keyboard issue Ubuntu 14.04 and Thiinkpad Yoga 14 (S3), and that does nothing either.
The only way I can make this work is by manually typing:
setxkbmap -layout us -model classmate
in a terminal after starting up.
The default Xsession script is supposed to look in my home directory for a file called .Xkbmap, which I have created with contents -layout us -model classmate, and that doesn't work.
running localectl at boot shows this:
$ localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: us
X11 Model: classmate
And yet, whenever I attempt to type a backslash or a bar, I just end up with less than and greater than.
$ cat /etc/default/keyboard
XKBMODEL=classmate
XKBLAYOUT=us
BACKSPACE=guess
$ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'us')]
