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/ and add the following section to the end of the file: (sudo gedit usr/share/X11/xkb/symbols/)
// 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)
<variant>
<configItem>
<name>102</name>
<description>102 Key keyboards</description>
</configItem>
</variant>
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:
# in /etc/X11/xorg.conf.
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 |  |