// ZQuake/FuhQuake keymap file
// vi: set ic noai ts=2 sts=2 sw=2 et:
//--------------------------------------------------------------------------
// Author:      Massa
// last change: 2003/05/26
//--------------------------------------------------------------------------

keymap_name "German"

//--------------------------------------------------------------------------
//Syntax:
//  keycode [ext] <scancode> <key> [<shiftkey>] [<altgrkey>]
//    ext       the extended flag is set for this (raw) scancode.
//    scancode  is a number between 1 and 127.
//    key       is either
//              a character, which will be used when pressed the key or
//              a special name (like ESCAPE, TAB, ...)
//              a number > 31 and < 128, prefixed with a #;
//                this represents the decimal value in the character table.
//    shiftkey  this is the key which will be used when pressed together
//                with one of the SHIFT-keys (SHIFT, LSHIFT, RSHIFT)
//    altgrkey  this is the key which will be displayed when pressed together
//                with the ALTGR-key
//Note: the characters a-z used as unshifted key will automatically converted
//      to uppercase as shifted keys if no other mapping is set.
//The following special names for keys are known (some only exist on
//  international 102-105 keys keyboards):
// ALT           = Alt-Key (use this if no separate mapping for left and
//                 right key is needed).
// LALT          = left Alt-Key (use this if separate mapping for left and
//                 right key is needed).
// RALT          = right Alt-Key (use this if separate mapping for left and
//                 right key and NO third level of keymapping is needed).
// ALTGR         = right Alt-Key; this IS the switch-key for the third level
//                 of keymapping (if the third level mapping is needed, one
//                   scancode MUST be set to this key).
// ALTCHAR       = this is another name for ALTGR.
// BACKSPACE
// CAPSLOCK
// CTRL          = Control-Key (use this if no separate mapping for left and
//                   right key is needed).
// LCTRL         = Left Control-Key (use this if separate mapping for left and
//                   right key is needed).
// RCTRL         = Right Control-Key (use this, if separate mapping for left
//                   and right key is needed).
// DEL           = Delete.
// DOWNARROW     = Cursor down.
// END           = End.
// ENTER.
// ESCAPE.
// F1 ... F12    = Function keys F1 - F12.
// HOME          = Home.
// INS           = Insert.
// LEFTARROW     = Cursor left.
// KP_0          = '0' at keypad (same as KP_INS).
// KP_1          = '1' at keypad (same as KP_END).
// KP_2          = '2' at keypad (same as KP_DOWNARROW).
// KP_3          = '3' at keypad (same as KP_PGDN).
// KP_4          = '4' at keypad (same as KP_LEFTARROW).
// KP_5          = '5' at keypad.
// KP_6          = '6' at keypad (same as KP_RIGHTARROW).
// KP_7          = '7' at keypad (same as KP_HOME).
// KP_8          = '8' at keypad (same as KP_UPARROW).
// KP_9          = '9' at keypad (same as KP_PGUP).
// KP_DEL        = Del at keypad.
// DEL           = Delete.
// KP_DIVIDE     = '/' at keypad (same as KP_SLASH).
// KP_DOWNARROW  = Cursor down at keypad (same as KP_2).
// KP_END        = End at keypad (same as KP_1).
// KP_ENTER      = Enter at keypad.
// KP_HOME       = Keypad-Home (same as KP_7).
// KP_INS        = Insert at keypad (same as KP_0).
// KP_LEFTARROW  = Cursor left at keypad (same as KP_4).
// KP_MINUS      = '-' at keypad.
// KP_MULTIPLY   = '*' at keypad (same as KP_STAR).
// KP_NUMLCK     = Keypad-Numlock (same as NUMLOCK).
// KP_NUMLOCK    = Keypad-Numlock (same as NUMLOCK).
// KP_PGDN       = Page down at keypad (same as KP_3).
// KP_PGUP       = Page-Up at keypad (same as KP_9).
// KP_PLUS       = '+' at keypad.
// KP_RIGHTARROW = Cursor right at keypad (same as KP_6).
// KP_SLASH      = '/' at keypad (same as KP_DIVIDE).
// KP_STAR       = '*' at keypad (same as KP_MULTIPLY).
// KP_UPARROW    = Cursor up at keypad (same as KP_8).
// MENU          = Windows-Menu key.
// NUMLOCK
// PAUSE
// PGDN          = Page down.
// PGUP          = Page up.
// PRINTSCR
// RIGHTARROW    = Cursor right.
// SCRLCK        = Scroll-Lock (same as SCROLLOCK).
// SCROLLOCK     = Scroll-Lock (same as SCRLCK).
// SHIFT         = Shift-Key (this is the switch-key for the second level of
//                   keymappings; use this if NO separate mapping for left
//                   and right key is needed).
// LSHIFT        = Left Shift-Key (use this if a separate mapping for left and
//                   right key is needed).
// RSHIFT        = Right Shift-Key (use this if a separate mapping for left and
//                   right key is needed).
// SPACE
// TAB
// UPARROW       = Cursor up.
// WIN           = Windows-Key (use this if no separate mapping for left and
//                   right key is needed).
// LWIN          = Left Windows-Key (use this if a separate mapping for left
//                   and right key is needed).
// RWIN          = Right Windows-Key (use this if a separate mapping for left
//                   and right key is needed).
//--------------------------------------------------------------------------
//ATTENTION: to use the second level of mappings at least one scancode needs
//             to be set to one of the Shift-Keys (SHIFT, LSHIFT or RSHIFT).
//           to use the third level of mappings at least one scancode needs
//             to be set to the ALTGR-key (or ALTCHAR, which is an alias).
//--------------------------------------------------------------------------

keycode      001  ESCAPE
keycode      002  1             !
keycode      003  2             #34
keycode      004  3                                        // second level is normally paragraph "§"
keycode      005  4             $
keycode      006  5             %
keycode      007  6             &
keycode      008  7             /             {
keycode      009  8             (             [
keycode      010  9             )             ]
keycode      011  0             =             }
keycode      012  \             ?             \            // first level is normally german double s "ß" = "ss"
keycode      013  '             `                          // first level is normally "´"
keycode      014  BACKSPACE
keycode      015  TAB
keycode      016  q             Q             @
keycode      017  w
keycode      018  e                                        // third level is normally "€" = "EUR" character
keycode      019  r
keycode      020  t
keycode      021  z
keycode      022  u
keycode      023  i
keycode      024  o
keycode      025  p
keycode      026  @                                        // first and second level is normally the german umlaut "ü" = "ue"
keycode      027  +             *             ~
keycode      028  ENTER
keycode  ext 028  KP_ENTER
keycode      029  LCTRL                                    // use CTRL if no different mapping for left/right is needed
keycode  ext 029  RCTRL                                    // use CTRL if no different mapping for left/right is needed
keycode      030  a
keycode      031  s
keycode      032  d
keycode      033  f
keycode      034  g
keycode      035  h
keycode      036  j
keycode      037  k
keycode      038  l
keycode      039  {             <                          // first and second level is normally the german umlaut "ö" = "oe"
keycode      040  }             >                          // first and second level is normally the german umlaut "ä" = "ae"
keycode      041  ~             ^                          // first level is normally "^", second level is degree char "°"
keycode      042  LSHIFT                                   // use SHIFT if no different mapping for left/right is needed
keycode      043  #             '
keycode      044  y
keycode      045  x
keycode      046  c
keycode      047  v
keycode      048  b
keycode      049  n
keycode      050  m                                        // third level is normally the "mikro" char
keycode      051  ,             ;
keycode      052  .             :
keycode      053  -             _
keycode  ext 053  KP_SLASH
keycode      054  RSHIFT                                   // use SHIFT if no different mapping for left/right is needed
keycode      055  KP_STAR
keycode      056  LALT                                     // use ALT if no different mapping for left/right is needed
keycode  ext 056  ALTGR                                    // use RALT if no third level mapping is needed (or ALT)
keycode      057  SPACE
keycode      058  CAPSLOCK
keycode      059  F1
keycode      060  F2
keycode      061  F3
keycode      062  F4
keycode      063  F5
keycode      064  F6
keycode      065  F7
keycode      066  F8
keycode      067  F9
keycode      068  F10
keycode      069  PAUSE
keycode  ext 069  NUMLOCK
keycode      070  SCRLCK
keycode      071  KP_HOME
keycode  ext 071  HOME
keycode      072  KP_UPARROW
keycode  ext 072  UPARROW
keycode      073  KP_PGUP
keycode  ext 073  PGUP
keycode      074  KP_MINUS
keycode      075  KP_LEFTARROW
keycode  ext 075  LEFTARROW
keycode      076  KP_5
keycode      077  KP_RIGHTARROW
keycode  ext 077  RIGHTARROW
keycode      078  KP_PLUS
keycode      079  KP_END
keycode  ext 079  END
keycode      080  KP_DOWNARROW
keycode  ext 080  DOWNARROW
keycode      081  KP_PGDN
keycode  ext 081  PGDN
keycode      082  KP_INS
keycode  ext 082  INS
keycode      083  KP_DEL
keycode  ext 083  DEL
keycode      086  <             >             |            // only present on international keyboards, the key is right to the left shift-key
keycode      087  F11
keycode      088  F12
keycode  ext 091  LWIN                                     // use WIN if no different mapping for left/right key is needed
keycode  ext 092  RWIN                                     // use WIN if no different mapping for left/right key is needed
keycode  ext 093  MENU
// END OF KEYMAP FILE
