--- /usr/share/X11/xkb/symbols/gb.distrib	2012-12-25 11:40:03.000000000 +0000
+++ /usr/share/X11/xkb/symbols/gb	2013-06-09 09:26:41.000000000 +0100
@@ -199,3 +199,99 @@
 
     include "level3(ralt_switch)"
 };
+
+
+// This is based on the altgr-intl from the us keyboard file.
+// The author of that section wrote:
+// 
+// <quote>
+// I do NOT like dead-keys - the International keyboard as defined by Microsoft
+// doesn't fit my needs. Why use two keystrokes for all simple characters (eg '
+// and <space> generates a single ') just to have an é (eacute) in two strokes
+// as well? I type ' more often than é (eacute).
+//
+// This file works just like a regular keyboard, BUT has all dead-keys
+// accessible at level3 (through AltGr). An ë (ediaeresis) is now: AltGr+"
+// followed by an e. In other words, this keyboard is not international as long
+// as you leave the right Alt key alone.
+//
+// The original MS International keyboard was intended for Latin1 (iso8859-1).
+// With the introduction of iso8859-15, the (important) ligature oe (and OE)
+// became available. I added them next to ae. Because I write ediaeresis more
+// often than registered, I moved registered to be next to copyright and added
+// ediaeresis and idiaeresis. - Adriaan
+// </quote>
+//
+// I have modified this layout to work with the UK (GB) keyboard, and
+// written out the layout in full (the us version imports the us(intl)
+// layout first, but the gb(intl) layout is much sparser).
+// 
+// I have also moved all of the dead keys to the right Alt position,
+// rather than having some in the third and some in the fourth
+// position, for consistency.
+// -- jdg@debian.org
+
+partial alphanumeric_keys
+xkb_symbols "altgr-intl" {
+
+   name[Group1]= "English (UK, international AltGr dead keys)";
+
+   include "latin"
+
+   // Alphanumeric section
+   key <TLDE> { [  grave,    notsign,    dead_grave,              bar ] };
+   key <AE01> { [      1,     exclam,    exclamdown,      onesuperior ] };
+   key <AE02> { [      2,   quotedbl,dead_diaeresis,      twosuperior ] };
+   key <AE03> { [      3,   sterling, threesuperior,         onethird ] };
+   key <AE04> { [      4,     dollar,      EuroSign,       onequarter ] };
+   key <AE05> { [      5,    percent,  dead_cedilla,         EuroSign ] };
+   key <AE06> { [      6,asciicircum,dead_circumflex,        onesixth ] };
+   key <AE07> { [      7,  ampersand,     dead_horn,          onehalf ] };
+   key <AE08> { [      8,   asterisk,   dead_ogonek,    threequarters ] };
+   key <AE09> { [      9,  parenleft,    dead_breve, leftsinglequotemark  ] };
+   key <AE10> { [      0, parenright,dead_abovering, rightsinglequotemark ] };
+   key <AE11> { [  minus, underscore,           yen,    dead_belowdot ] };
+   key <AE12> { [  equal,       plus,      multiply,         division ] };
+
+   key <AD01> { [      q,          Q,    adiaeresis,       Adiaeresis ] };
+   key <AD02> { [      w,          W,         aring,            Aring ] };
+   key <AD03> { [      e,          E,        eacute,           Eacute ] };
+   key <AD04> { [      r,          R,    ediaeresis,       Ediaeresis ] };
+   key <AD05> { [      t,          T,         thorn,            THORN ] };
+   key <AD06> { [      y,          Y,    udiaeresis,       Udiaeresis ] };
+   key <AD07> { [      u,          U,        uacute,           Uacute ] };
+   key <AD08> { [      i,          I,        iacute,           Iacute ] };
+   key <AD09> { [      o,          O,        oacute,           Oacute ] };
+   key <AD10> { [      p,          P,    odiaeresis,       Odiaeresis ] };
+   key <AD11> { [ bracketleft,  braceleft,  guillemotleft, leftdoublequotemark ] };
+   key <AD12> { [bracketright, braceright, guillemotright, rightdoublequotemark ] };
+
+   key <AC01> { [      a,          A,        aacute,           Aacute ] };
+   key <AC02> { [      s,          S,        ssharp,          section ] };
+   key <AC03> { [      d,          D,           eth,              ETH ] };
+   key <AC04> { [      f,          F,             f,                F ] };
+   key <AC05> { [      g,          G,             g,                G ] };
+   key <AC06> { [      h,          H,             h,                H ] };
+   key <AC07> { [      j,          J,    idiaeresis,       Idiaeresis ] };
+   key <AC08> { [      k,          K,            oe,               OE ] };
+
+   key <AC09> { [      l,          L,        oslash,         Ooblique ] };
+   key <AC10> { [ semicolon,   colon,     paragraph,           degree ] };
+   key <AC11> { [apostrophe,      at,    dead_acute,              bar ] };
+
+   key <AB01> { [      z,          Z,            ae,               AE ] };
+   key <AB02> { [      x,          X,            oe,               OE ] };
+   key <AB03> { [      c,          C,     copyright,             cent ] };
+   key <AB04> { [      v,          V,    registered,       registered ] };
+   key <AB05> { [      b,          B,             b,                B ] };
+   key <AB06> { [      n,          N,        ntilde,           Ntilde ] };
+   key <AB07> { [      m,          M,            mu,               mu ] };
+   key <AB08> { [  comma,       less,      ccedilla,         Ccedilla ] };
+   key <AB09> { [ period,    greater, dead_abovedot,       dead_caron ] };
+   key <AB10> { [  slash,   question,  questiondown,        dead_hook ] };
+   key <BKSL> { [ numbersign, asciitilde,dead_tilde,              bar ] };
+   key <LSGT> { [  backslash,    bar,           bar,        brokenbar ] };
+
+   include "level3(ralt_switch)"
+};
+
