dnschneid/crouton — pull request #146 by drinkcat (2013-05-14 15:18:35+00:00)
Title: Support for Samsung Chromebook ARM keyboard layout.

Another one...

This adds support for Search+key aliases (e.g. Search+Left is Home, Search+Backspace is Delete). Press Ctrl-Alt-/ in Chrome OS to see what I mean, I only support the Search+key ones (except the ones that map to F1-F10 keys, since we have access to them anyway).

I had to fight quite a bit against xkb to get it to do what I want: there are at least 2 other ways of doing this, but both failed in some creative and suprising way ,-). The tricky part is to get something that can be used with any layout (especially the Search+".", because the "." key could be mapped to something else in another layout): this is done with an xkb overlay, and loading some symbols before the layout.

Anyway, it adds a new keyboard `model`: `chromebook`, you can set it with:
```setxkbmap -model chromebook```

This is done automatically in `xinit` if the map are installed. You can also override the configuration from your window manager, by selecting the keyboard model "Chromebook". (huh, now that I think about it, it may not work if queuelaunch is too slow)
I also tried the -keybd parameter of Xephyr, but that's not useful, as it uses cached configuration from the server on :0.

I prepared 2 sets of patches for xkeyboard-config, in the misc directory, one against 2.5.1 (what is used by Ubuntu) and one again the git head. I also built a package for Ubuntu, so the installer can just fetch it instead of compiling it.