Source

kbd_layouts /

Filename Size Date modified Message
images
0 B
4.5 KB
17.1 KB
3.8 KB

Oliver's customized keyboard layouts

Feel free to use these in any way you want under one of the permissive (non-Copyleft) licenses approved by the OSI or CC0 terms. If unsure, simply ask.

Windows version

The Windows keyboard layout has evolved over quite some time. The (currently) final incarnation is what I call kbdus_06. Whereas the kbd is for "keyboard", us refers to the fact that it's based on the "English (US)" layout and 06 refers to the "version" in a very lose sense.

Now I prefer using a US-English keyboard for my typing during the daily programming and debugging chores. However, that has the downside that certain symbols are never available on any of the variants of that keyboard layout.

Fortunately Microsoft offers the so-called Microsoft keyboard layout creator (MSKLC), and has done so for quite some years now. This program allows to load an existing keyboard layout and adjust it to ones own needs. And so I did. The first time before Vista was even out.

Now this suits my needs, it may not suit yours. Still it could provide a basis for your own customizations or even just point you to the very fact that it's possible.

Note: these .klc files are text files. But they are UTF-16 (LE), so they may appear like binary files at first glance.

Here's how the layout looks in the various states a keyboard can have ...

Small letters (no combination with special keys)

Small letters (no combination with special keys)

Capital letters, Shift pressed

Capital letters, Shift pressed

AltGr (Ctrl+Alt), that's the one right of the space bar, pressed

AltGr (Ctrl+Alt), that's the one right of the space bar, pressed

AltGr+Shift (Ctrl+Alt+Shift) pressed

AltGr+Shift (Ctrl+Alt+Shift) pressed

Ctrl pressed

Ctrl pressed

Ctrl+Shift pressed

Ctrl+Shift pressed

XKB version (X11) of kbdus_06

This one I have tested on Kubuntu 12.04 exclusively. There are lots and lots of resources on how to do it on Kubuntu, but I ended up with different steps anyway in the end. Regardless, this article was probably the single-most useful one in the process. Mind the fact that it has a resource section at the bottom, pointing to further useful resources.

Unlike the Windows version which is a keyboard layout in its own right, the way X11 and xkb work allows us to extend existing definitions. This is much more convenient and also allows for a more readable way of expressing this. I call it us_ext.

Installation on Kubuntu 12.04

Since I was unable to install the layout in the way described on the linked page, here's how to install it on Kubuntu 12.04.

Files to modify:

  • /usr/share/X11/xkb/symbols/us_ext
  • /usr/share/X11/xkb/rules/evdev.lst
  • /usr/share/X11/xkb/rules/evdev.xml

First thing is to copy the us_ext file from this repository into /usr/share/X11/xkb/symbols/. E.g. via:

sudo cp ./us_ext /usr/share/X11/xkb/symbols/

Once that is taken care of, invoke your favorite editor (mine is Vim with tabs enabled) to edit two configuration files belonging to xkb, so for me it was:

sudo vim -p /usr/share/X11/xkb/rules/evdev.{lst,xml}

in the .lst file insert the following line:

us_ext English (US + DE, IS, PL, Nordic)

right under us in the ! layout section. Here's a screenshot:

The screenshot

and in the .xml file insert the following block (or a sane variation thereof):

    <layout>
      <configItem>
        <name>us_ext</name>

        <shortDescription>en</shortDescription>
        <description>English (US + DE, IS, PL, Nordic)</description>
        <languageList>
          <iso639Id>eng</iso639Id>
        </languageList>
      </configItem>
     <variantList />
    </layout>

here's how that looks in Vim:

The screenshot