!!! Copyright ©2000-2016 David Haller <david@dhaller.de>
!!! License: GPL-2.0
!
!!! function row
!
keycode   9 = Escape
keycode  67 = F1 F11 XF86_Switch_VT_1
! XF86_Switch_VT_1 F1 XF86_Switch_VT_1 F1
keycode  68 = F2 F12 XF86_Switch_VT_2
! XF86_Switch_VT_2 F2 XF86_Switch_VT_2 F2
keycode  69 = F3 F13 XF86_Switch_VT_3
! XF86_Switch_VT_3 F3 XF86_Switch_VT_3 F3
keycode  70 = F4 F14 XF86_Switch_VT_4
! XF86_Switch_VT_4 F4 XF86_Switch_VT_4 F4
keycode  71 = F5 F15 XF86_Switch_VT_5
! XF86_Switch_VT_5 F5 XF86_Switch_VT_5 F5
keycode  72 = F6 F16 XF86_Switch_VT_6
! XF86_Switch_VT_6 F6 XF86_Switch_VT_6 F6
keycode  73 = F7 F17
! XF86_Switch_VT_7 F7 XF86_Switch_VT_7 F7
keycode  74 = F8 F18
! XF86_Switch_VT_8 F8 XF86_Switch_VT_8 F8
keycode  75 = F9 F19
! XF86_Switch_VT_9 F9 XF86_Switch_VT_9 F9
keycode  76 = F10 F20
! XF86_Switch_VT_10 F10 XF86_Switch_VT_10 F10
keycode  95 = F11 F21
! XF86_Switch_VT_11 F11 XF86_Switch_VT_11 F11
keycode  96 = F12 F22
! XF86_Switch_VT_12 F12 XF86_Switch_VT_12 F12
!
!!! Compose, Caps, Super
keycode 107 = Multi_key Sys_Req Print Sys_Req Print Sys_Req
keycode  78 = Caps_Lock NoSymbol
keycode 110 = Super_R Break Pause Break Pause Break
!
!!! number row
!xxx
keycode  49 = grave asciitilde  degree
keycode  10 = 1     exclam      onesuperior     onequarter
keycode  11 = 2     at          twosuperior     onehalf
keycode  12 = 3     numbersign  threesuperior   threequarters
keycode  13 = 4     dollar      cent            sterling
keycode  14 = 5     percent     masculine       ordfeminine
keycode  15 = 6     asciicircum 
keycode  16 = 7     ampersand
keycode  17 = 8     asterisk    periodcentered
keycode  18 = 9     parenleft
keycode  19 = 0     parenright  oslash          Ooblique
keycode  20 = minus underscore  macron          hyphen
keycode  21 = equal plus        plusminus       notsign
keycode  22 = BackSpace
!
!!! qwerty-row
!
keycode  23 =  Tab     
keycode  24 =  q               Q           aring       Aring
keycode  25 =  w               W           ae          AE
keycode  26 =  e               E           EuroSign    eacute
keycode  27 =  r               R           registered  trademark
keycode  28 =  t               T           thorn       THORN
keycode  29 =  y               Y           ydiaeresis  Ydiaeresis
keycode  30 =  u               U           udiaeresis  Udiaeresis
keycode  31 =  i               I           idiaeresis  Idiaeresis
keycode  32 =  o               O           odiaeresis  Odiaeresis
keycode  33 =  p               P           section     paragraph
keycode  34 =  bracketleft     braceleft   multiply
keycode  35 =  bracketright    braceright  division
keycode  36 =  Return
!
!!! asdf-row
!
keycode  66 = Escape
keycode  38 =  a       A       adiaeresis  Adiaeresis
keycode  39 =  s       S       ssharp
keycode  40 =  d       D       eth         ETH
keycode  41 =  f       F
keycode  42 =  g       G
keycode  43 =  h       H
keycode  44 =  j       J
keycode  45 =  k       K
keycode  46 =  l       L
keycode  47 =  semicolon   colon
keycode  48 =  apostrophe  quotedbl  grave
keycode  51 =  backslash   bar
!
!!! zxcv-row
!
keycode  50 =  Shift_L
!
!!! with latin9 this gives:
!!!             scaron      Scaron      zcaron      Zcaron
!!! no idea, why using the above won't work, but it does
!!! with the following:
keycode  94 =  Hyper_L
!
keycode  52 =  z           Z
keycode  53 =  x           X
keycode  54 =  c           C           ccedilla    copyright
keycode  55 =  v           V
keycode  56 =  b           B
keycode  57 =  n           N           ntilde      Ntilde
keycode  58 =  m           M           mu
keycode  59 =  comma       less        guillemotleft
keycode  60 =  period      greater     guillemotright  periodcentered
keycode  61 =  slash       question    exclamdown  questiondown
keycode  62 =  Shift_R
!
!!! control-row
!
keycode  37 =  Control_L
keycode 133 =  Mode_switch Mode_switch
!keycode 115 =  ISO_Level3_Shift
keycode  64 =  Alt_L
keycode  65 =  space       space       nobreakspace    nobreakspace
keycode 108 =  Alt_R
keycode 134 =  Mode_switch Mode_switch
!keycode 116 =  ISO_Level3_Shift
keycode 135 =  Meta_R
keycode 105 =  Control_R
!
!!! cursor keys
!
keycode 111 = Up NoSymbol Up NoSymbol Up
keycode 113 = Left NoSymbol Left NoSymbol Left
keycode 114 = Right NoSymbol Right NoSymbol Right
keycode 116 = Down NoSymbol Down NoSymbol Down
!
!!! edit keys
!
keycode 118 = Insert NoSymbol Insert NoSymbol Insert
keycode 119 = Delete NoSymbol Delete NoSymbol Delete
keycode 110 = Home NoSymbol Home NoSymbol Home
keycode 115 = End NoSymbol End NoSymbol End
keycode 112 = Prior NoSymbol Prior NoSymbol Prior
keycode 117 = Next
!
!!! numpad
!
keycode  77 =  Num_Lock        Pointer_EnableKeys
keycode 106 =  KP_Divide
keycode  63 =  KP_Multiply
keycode  82 =  KP_Subtract KP_Subtract underscore underscore
keycode  79 =  KP_Home     KP_7
keycode  80 =  KP_Up       KP_8
keycode  81 =  KP_Prior    KP_9
keycode  83 =  KP_Left     KP_4
keycode  84 =  KP_Begin    KP_5
keycode  85 =  KP_Right    KP_6
keycode  86 =  KP_Add
keycode  87 =  KP_End      KP_1
keycode  88 =  KP_Down     KP_2
keycode  89 =  KP_Next     KP_3
keycode 104 =  KP_Enter
keycode  90 =  KP_Insert   KP_0
keycode  91 =  comma KP_Decimal KP_Delete colon
!
!!! clear all modifiers
!
clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5
!
!!! add modifiers
!
add    Shift   = Shift_L    Shift_R
add    Lock    = Caps_Lock
add    Control = Control_L  Control_R
add    Mod3    = Meta_R
add    Mod2    = Num_Lock
add    Mod1    = Alt_L      Alt_R
add    Mod4    = Super_R
!add    Mod5    = Hyper_L
add    Mod5    = Mode_switch


