102 key fix for Icelandic keyboards

(Note: I stole this from my friend's blog - because his site isn't online at the moment)

Using 102 key keyboards with an an Icelandic keyboard layout

One of the most frustrating things about the Icelandic keyboard layout is that the <>| symbols are bound to an extra key only found on 103 + key keyboards, this key is located left of the Z character.
Despite this you will often find 102 key keyboards and laptops with 102 key keyboards being sold in Iceland, while this isn't much of a problem for your standard windows user it's quite annoying for programmers and *nix users which depend on sh/bash shells.

In my frustration I ended up creating a new custom Icelandic keyboard layout for 102 key keyboards, here is the layout along with a guide on how to install it.

This map uses alt-gr and the ,.þ keys for the <>| symbols, this is handy because it's an easy one hand keypress and because 102 key keyboards will have the <> symbols printed in that place.

Windows:
To use the custom keyboard map on a windows machine download the setup file, extract and run the setup to install a new keyboard layout, you can then select via the "Text Services and Input Language" like any regular windows keyboard layout.

Linux:

I have only tested the Linux version on Ubuntu 9.10, let me know if this does not work for you so I can fix the guidelines for more distros/versions.

  1. Edit the file /usr/share/X11/xkb/symbols/is and add the following section to the end of the file: (sudo gedit /usr/share/X11/xkb/symbols/is/)
    // Icelandic layout for US 102 key keyboards missing the | < > button next to the Z
    // Instead these keys are also mapped to alt-gr and , . þ
    partial alphanumeric_keys
    xkb_symbols "102" {
    name[Group1]= "Iceland - 102 keys";

    include "is(basic)"
    key { [ comma, semicolon, less, multiply ] };
    key { [ period, colon, greater, division ] };
    key { [ thorn, THORN, bar, dead_abovedot ] };
    };

  2. Edit the file /usr/share/X11/xkb/rules/evdev.xml , find the Icelandic section and after the variant Dvorak add a new variant called 102 like so (sudo gedit usr/share/X11/xkb/rules/evdev.xml)

    102
    102 Key keyboards

  3. Edit the file /usr/share/X11/xkb/rules/evdev.lst , find the is section and add the is: 102 section so that it looks like the following (sudo gedit /usr/share/X11/xkb/rules/evdev.lst):
    Sundeadkeys is: Sun dead keys
    nodeadkeys is: Eliminate dead keys
    mac is: Macintosh
    dvorak is: Dvorak
    102 is: 102
  4. Configure the system to use the new variant, change the default variant by editing the file /etc/default/console-setup (sudo gedit /etc/default/console-setup)
    Add the variant by changing the XKBVARIANT variable to "102" so that the config looks like the following:
    XKBMODEL="pc105"
    XKBLAYOUT="is"
    XKBVARIANT="102"
    XKBOPTIONS=""

    Now all you need to do is restart and you should have your new keyboard layout with <>| buttons available

Tags: