# Czech Standard Typewriter QWERTZ Keyboard
# by Rudolf Cejka <cejkar@fit.vutbr.cz>
#
#
# English/Czech keyboard lock:  (Left)Alt+Shift
# English/Czech keyboard shift: (Right)AltGr
#
# Meta shift:                   (Right|Left)Windows, Menu
#
# Previous screen:     Ctrl+(Grey)Left
# Next screen:         Ctrl+(Grey)Right
#
# Screen saver:        Shift+Pause
# Suspend power (APM): (Left)Alt+Pause
#
# Accent characters:
#   acute: [=/+] and =SZszRALCEINOUYralceinouy => ´ŚŹśźŔÁĹĆÉÍŃÓÚÝŕáĺćéíńóúý
#   caron: Shift+[=/+] and =LSTZlstzCEDNRcednrUu => ˇĽŠŤŽľšťžČĚĎŇŘčěďňřŮů
#   circumflex: Alt+Ctrl+[=/+] and =AIOaio => ^ÂÎÔâîô
#   breve: Ctrl+Shift+[=/+] and =Aa => ˘Ăă
#   cedilla: Ctrl+[-/_] and -SsCTct => ¸ŞşÇŢçţ
#   dot: Alt+[=/+] and =Zz => ˙Żż
#   double acute: Alt+Shift+[-/_] and -OUou => ˝ŐŰőű
#   double dot: Alt+Shift+[=/+] and =AEOUaeou => ¨ÄËÖÜäëöü
#   ogonek: Ctrl+Shift+[-/_] and -AaEe => ˛ĄąĘę
#   ring: Ctrl+[=/+] and =Uuso78/ => °Ůůß¤§×÷
#   slash: Alt+[-/_] and -LlDd => ­ŁłĐđ
#
#                                                         alt
# scan                       cntrl          alt    alt   cntrl lock
# code  base   shift  cntrl  shift  alt    shift  cntrl  shift state
# ------------------------------------------------------------------
  000   nop    nop    nop    nop    nop    nop    nop    nop     O
  001   esc    esc    esc    esc    esc    esc    debug  panic   O
  002   '1'    '!'    nop    nop    '1'    '!'    nop    nop     O
  003   '2'    '@'    nul    nul    '2'    '@'    nul    nul     O
  004   '3'    '#'    nop    nop    '3'    '#'    nop    nop     O
  005   '4'    '$'    nop    nop    '4'    '$'    nop    nop     O
  006   '5'    '%'    nop    nop    '5'    '%'    nop    nop     O
  007   '6'    '^'    rs     rs     '6'    '^'    rs     rs      O
  008   '7'    '&'    nop    nop    '7'    '&'    nop    nop     O
  009   '8'    '*'    nop    nop    '8'    '*'    nop    nop     O
  010   '9'    '('    nop    nop    '9'    '('    nop    nop     O
  011   '0'    ')'    nop    nop    '0'    ')'    nop    nop     O
  012   '-'    '_'    us     us     '-'    '_'    us     us      O
  013   '='    '+'    nop    nop    '='    '+'    nop    nop     O
  014   bs     bs     del    del    bs     bs     del    del     O
  015   ht     btab   nop    nop    ht     btab   nop    nop     O
  016   'q'    'Q'    dc1    dc1    'q'    'Q'    dc1    dc1     C
  017   'w'    'W'    etb    etb    'w'    'W'    etb    etb     C
  018   'e'    'E'    enq    enq    'e'    'E'    enq    enq     C
  019   'r'    'R'    dc2    dc2    'r'    'R'    dc2    dc2     C
  020   't'    'T'    dc4    dc4    't'    'T'    dc4    dc4     C
  021   'y'    'Y'    em     em     'y'    'Y'    em     em      C
  022   'u'    'U'    nak    nak    'u'    'U'    nak    nak     C
  023   'i'    'I'    ht     ht     'i'    'I'    ht     ht      C
  024   'o'    'O'    si     si     'o'    'O'    si     si      C
  025   'p'    'P'    dle    dle    'p'    'P'    dle    dle     C
  026   '['    '{'    esc    esc    '['    '{'    esc    esc     O
  027   ']'    '}'    gs     gs     ']'    '}'    gs     gs      O
  028   cr     cr     nl     nl     cr     cr     nl     nl      O
  029   lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl   O
  030   'a'    'A'    soh    soh    'a'    'A'    soh    soh     C
  031   's'    'S'    dc3    dc3    's'    'S'    dc3    dc3     C
  032   'd'    'D'    eot    eot    'd'    'D'    eot    eot     C
  033   'f'    'F'    ack    ack    'f'    'F'    ack    ack     C
  034   'g'    'G'    bel    bel    'g'    'G'    bel    bel     C
  035   'h'    'H'    bs     bs     'h'    'H'    bs     bs      C
  036   'j'    'J'    nl     nl     'j'    'J'    nl     nl      C
  037   'k'    'K'    vt     vt     'k'    'K'    vt     vt      C
  038   'l'    'L'    ff     ff     'l'    'L'    ff     ff      C
  039   ';'    ':'    nop    nop    ';'    ':'    nop    nop     O
  040   '''    '"'    nop    nop    '''    '"'    nop    nop     O
  041   '`'    '~'    nop    nop    '`'    '~'    nop    nop     O
  042   lshift lshift lshift lshift lshifta lshifta lshift lshift  O
  043   '\'    '|'    fs     fs     '\'    '|'    fs     fs      O
  044   'z'    'Z'    sub    sub    'z'    'Z'    sub    sub     C
  045   'x'    'X'    can    can    'x'    'X'    can    can     C
  046   'c'    'C'    etx    etx    'c'    'C'    etx    etx     C
  047   'v'    'V'    syn    syn    'v'    'V'    syn    syn     C
  048   'b'    'B'    stx    stx    'b'    'B'    stx    stx     C
  049   'n'    'N'    so     so     'n'    'N'    so     so      C
  050   'm'    'M'    cr     cr     'm'    'M'    cr     cr      C
  051   ','    '<'    nop    nop    ','    '<'    nop    nop     O
  052   '.'    '>'    nop    nop    '.'    '>'    nop    nop     O
  053   '/'    '?'    nop    nop    '/'    '?'    nop    nop     O
  054   rshift rshift rshift rshift rshift rshift rshift rshift  O
  055   '*'    '*'    '*'    '*'    '*'    '*'    '*'    '*'     N
  056   lalt   lalta  lalt   lalt   lalt   lalta  lalt   lalt    O
  057   ' '    ' '    nul    ' '    ' '    ' '    susp   ' '     O
  058   clock  clock  clock  clock  clock  clock  clock  clock   O
  059   fkey01 fkey13 fkey25 fkey37 scr01  scr11  scr01  scr11   O
  060   fkey02 fkey14 fkey26 fkey38 scr02  scr12  scr02  scr12   O
  061   fkey03 fkey15 fkey27 fkey39 scr03  scr13  scr03  scr13   O
  062   fkey04 fkey16 fkey28 fkey40 scr04  scr14  scr04  scr14   O
  063   fkey05 fkey17 fkey29 fkey41 scr05  scr15  scr05  scr15   O
  064   fkey06 fkey18 fkey30 fkey42 scr06  scr16  scr06  scr16   O
  065   fkey07 fkey19 fkey31 fkey43 scr07  scr07  scr07  scr07   O
  066   fkey08 fkey20 fkey32 fkey44 scr08  scr08  scr08  scr08   O
  067   fkey09 fkey21 fkey33 fkey45 scr09  scr09  scr09  scr09   O
  068   fkey10 fkey22 fkey34 fkey46 scr10  scr10  scr10  scr10   O
  069   nlock  nlock  nlock  nlock  nlock  nlock  nlock  nlock   O
  070   slock  slock  slock  slock  slock  slock  slock  slock   O
  071   fkey49 '7'    '7'    '7'    '7'    '7'    '7'    '7'     N
  072   fkey50 '8'    '8'    '8'    '8'    '8'    '8'    '8'     N
  073   fkey51 '9'    '9'    '9'    '9'    '9'    '9'    '9'     N
  074   fkey52 '-'    '-'    '-'    '-'    '-'    '-'    '-'     N
  075   fkey53 '4'    '4'    '4'    '4'    '4'    '4'    '4'     N
  076   fkey54 '5'    '5'    '5'    '5'    '5'    '5'    '5'     N
  077   fkey55 '6'    '6'    '6'    '6'    '6'    '6'    '6'     N
  078   fkey56 '+'    '+'    '+'    '+'    '+'    '+'    '+'     N
  079   fkey57 '1'    '1'    '1'    '1'    '1'    '1'    '1'     N
  080   fkey58 '2'    '2'    '2'    '2'    '2'    '2'    '2'     N
  081   fkey59 '3'    '3'    '3'    '3'    '3'    '3'    '3'     N
  082   fkey60 '0'    '0'    '0'    '0'    '0'    '0'    '0'     N
  083   del    '.'    '.'    '.'    '.'    '.'    boot   boot    N
  084   nop    nop    nop    nop    nop    nop    nop    nop     O
  085   nop    nop    nop    nop    nop    nop    nop    nop     O
  086   nop    nop    nop    nop    nop    nop    nop    nop     O
  087   fkey11 fkey23 fkey35 fkey47 scr11  scr11  scr11  scr11   O
  088   fkey12 fkey24 fkey36 fkey48 scr12  scr12  scr12  scr12   O
  089   cr     cr     nl     nl     cr     cr     nl     nl      N
  090   rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl   O
  091   '/'    '/'    '/'    '/'    '/'    '/'    '/'    '/'     N
  092   nscr   pscr   debug  debug  nop    nop    nop    nop     O
  093   ashift ashift ralt   ralt   ralt   ralt   ralt   ralt    O
  094   fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49  O
  095   fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50  O
  096   fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51  O
  097   fkey53 fkey53 pscr   pscr   fkey53 fkey53 fkey53 fkey53  O
  098   fkey55 fkey55 nscr   nscr   fkey55 fkey55 fkey55 fkey55  O
  099   fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57  O
  100   fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58  O
  101   fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59  O
  102   fkey60 paste  fkey60 fkey60 fkey60 fkey60 fkey60 fkey60  O
  103   fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot   fkey61  O
  104   slock  saver  slock  saver  susp   nop    susp   nop     O
  105   meta   meta   fkey62 fkey62 fkey62 fkey62 fkey62 fkey62  O
  106   meta   meta   fkey63 fkey63 fkey63 fkey63 fkey63 fkey63  O
  107   meta   meta   fkey64 fkey64 fkey64 fkey64 fkey64 fkey64  O
  108   nop    nop    nop    nop    nop    nop    nop    nop     O
#                                                         alt
# scan                       cntrl          alt    alt   cntrl lock
# code  base   shift  cntrl  shift  alt    shift  cntrl  shift state
# ------------------------------------------------------------------
  128   nop    nop    nop    nop    nop    nop    nop    nop     O
  129   esc    esc    esc    esc    esc    esc    debug  panic   O
  130   '+'    '1'    nop    nop    '+'    '1'    nop    nop     O
  131   0x011b '2'    nop    nop    0x011b '2'    nop    nop     O
  132   0x0161 '3'    nop    nop    0x0161 '3'    nop    nop     O
  133   0x010d '4'    nop    nop    0x010d '4'    nop    nop     O
  134   0x0159 '5'    nop    nop    0x0159 '5'    nop    nop     O
  135   0x017e '6'    nop    nop    0x017e '6'    nop    nop     O
  136   0xfd   '7'    nop    nop    0xfd   '7'    nop    nop     O
  137   0xe1   '8'    nop    nop    0xe1   '8'    nop    nop     O
  138   0xed   '9'    nop    nop    0xed   '9'    nop    nop     O
  139   0xe9   '0'    nop    nop    0xe9   '0'    nop    nop     O
  140   '='    '%'    dced   dogo   dsla   ddac   nop    nop     O
  141   dacu   dcar   drin   dbre   ddot   duml   dcir   nop     O
  142   bs     bs     del    del    bs     bs     del    del     O
  143   ht     btab   nop    nop    ht     btab   nop    nop     O
  144   'q'    'Q'    dc1    dc1    'q'    'Q'    dc1    dc1     C
  145   'w'    'W'    etb    etb    'w'    'W'    etb    etb     C
  146   'e'    'E'    enq    enq    'e'    'E'    enq    enq     C
  147   'r'    'R'    dc2    dc2    'r'    'R'    dc2    dc2     C
  148   't'    'T'    dc4    dc4    't'    'T'    dc4    dc4     C
  149   'z'    'Z'    sub    sub    'z'    'Z'    sub    sub     C
  150   'u'    'U'    nak    nak    'u'    'U'    nak    nak     C
  151   'i'    'I'    ht     ht     'i'    'I'    ht     ht      C
  152   'o'    'O'    si     si     'o'    'O'    si     si      C
  153   'p'    'P'    dle    dle    'p'    'P'    dle    dle     C
  154   0xfa   '/'    nop    nop    0xfa   '/'    nop    nop     O
  155   ')'    '('    nop    nop    ')'    '('    nop    nop     O
  156   cr     cr     nl     nl     cr     cr     nl     nl      O
  157   lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl   O
  158   'a'    'A'    soh    soh    'a'    'A'    soh    soh     C
  159   's'    'S'    dc3    dc3    's'    'S'    dc3    dc3     C
  160   'd'    'D'    eot    eot    'd'    'D'    eot    eot     C
  161   'f'    'F'    ack    ack    'f'    'F'    ack    ack     C
  162   'g'    'G'    bel    bel    'g'    'G'    bel    bel     C
  163   'h'    'H'    bs     bs     'h'    'H'    bs     bs      C
  164   'j'    'J'    nl     nl     'j'    'J'    nl     nl      C
  165   'k'    'K'    vt     vt     'k'    'K'    vt     vt      C
  166   'l'    'L'    ff     ff     'l'    'L'    ff     ff      C
  167   0x016f '"'    nop    nop    0x016f '"'    nop    nop     O
  168   0xa7   '!'    nop    nop    0xa7   '!'    nop    nop     O
  169   '`'    ';'    nop    nop    '`'    ';'    nop    nop     O
  170   lshift lshift lshift lshift lshifta lshifta lshift lshift  O
  171   '\'    '|'    fs     fs     '\'    '|'    fs     fs      O
  172   'y'    'Y'    em     em     'y'    'Y'    em     em      C
  173   'x'    'X'    can    can    'x'    'X'    can    can     C
  174   'c'    'C'    etx    etx    'c'    'C'    etx    etx     C
  175   'v'    'V'    syn    syn    'v'    'V'    syn    syn     C
  176   'b'    'B'    stx    stx    'b'    'B'    stx    stx     C
  177   'n'    'N'    so     so     'n'    'N'    so     so      C
  178   'm'    'M'    cr     cr     'm'    'M'    cr     cr      C
  179   ','    '?'    nop    nop    ','    '?'    nop    nop     O
  180   '.'    ':'    nop    nop    '.'    ':'    nop    nop     O
  181   '-'    '_'    us     us     '-'    '_'    us     us      O
  182   rshift rshift rshift rshift rshift rshift rshift rshift  O
  183   '*'    '*'    '*'    '*'    '*'    '*'    '*'    '*'     N
  184   lalt   lalta  lalt   lalt   lalt   lalta  lalt   lalt    O
  185   ' '    ' '    nul    ' '    ' '    ' '    susp   ' '     O
  186   clock  clock  clock  clock  clock  clock  clock  clock   O
  187   fkey01 fkey13 fkey25 fkey37 scr01  scr11  scr01  scr11   O
  188   fkey02 fkey14 fkey26 fkey38 scr02  scr12  scr02  scr12   O
  189   fkey03 fkey15 fkey27 fkey39 scr03  scr13  scr03  scr13   O
  190   fkey04 fkey16 fkey28 fkey40 scr04  scr14  scr04  scr14   O
  191   fkey05 fkey17 fkey29 fkey41 scr05  scr15  scr05  scr15   O
  192   fkey06 fkey18 fkey30 fkey42 scr06  scr16  scr06  scr16   O
  193   fkey07 fkey19 fkey31 fkey43 scr07  scr07  scr07  scr07   O
  194   fkey08 fkey20 fkey32 fkey44 scr08  scr08  scr08  scr08   O
  195   fkey09 fkey21 fkey33 fkey45 scr09  scr09  scr09  scr09   O
  196   fkey10 fkey22 fkey34 fkey46 scr10  scr10  scr10  scr10   O
  197   nlock  nlock  nlock  nlock  nlock  nlock  nlock  nlock   O
  198   slock  slock  slock  slock  slock  slock  slock  slock   O
  199   fkey49 '7'    '7'    '7'    '7'    '7'    '7'    '7'     N
  200   fkey50 '8'    '8'    '8'    '8'    '8'    '8'    '8'     N
  201   fkey51 '9'    '9'    '9'    '9'    '9'    '9'    '9'     N
  202   fkey52 '-'    '-'    '-'    '-'    '-'    '-'    '-'     N
  203   fkey53 '4'    '4'    '4'    '4'    '4'    '4'    '4'     N
  204   fkey54 '5'    '5'    '5'    '5'    '5'    '5'    '5'     N
  205   fkey55 '6'    '6'    '6'    '6'    '6'    '6'    '6'     N
  206   fkey56 '+'    '+'    '+'    '+'    '+'    '+'    '+'     N
  207   fkey57 '1'    '1'    '1'    '1'    '1'    '1'    '1'     N
  208   fkey58 '2'    '2'    '2'    '2'    '2'    '2'    '2'     N
  209   fkey59 '3'    '3'    '3'    '3'    '3'    '3'    '3'     N
  210   fkey60 '0'    '0'    '0'    '0'    '0'    '0'    '0'     N
  211   del    '.'    '.'    '.'    '.'    '.'    boot   boot    N
  212   nop    nop    nop    nop    nop    nop    nop    nop     O
  213   nop    nop    nop    nop    nop    nop    nop    nop     O
  214   nop    nop    nop    nop    nop    nop    nop    nop     O
  215   fkey11 fkey23 fkey35 fkey47 scr11  scr11  scr11  scr11   O
  216   fkey12 fkey24 fkey36 fkey48 scr12  scr12  scr12  scr12   O
  217   cr     cr     nl     nl     cr     cr     nl     nl      N
  218   rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl   O
  219   '/'    '/'    '/'    '/'    '/'    '/'    '/'    '/'     N
  220   nscr   pscr   debug  debug  nop    nop    nop    nop     O
  221   ashift ashift ralt   ralt   ralt   ralt   ralt   ralt    O
  222   fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49  O
  223   fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50  O
  224   fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51  O
  225   fkey53 fkey53 pscr   pscr   fkey53 fkey53 fkey53 fkey53  O
  226   fkey55 fkey55 nscr   nscr   fkey55 fkey55 fkey55 fkey55  O
  227   fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57  O
  228   fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58  O
  229   fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59  O
  230   fkey60 paste  fkey60 fkey60 fkey60 fkey60 fkey60 fkey60  O
  231   fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot   fkey61  O
  232   slock  saver  slock  saver  susp   nop    susp   nop     O
  233   meta   meta   fkey62 fkey62 fkey62 fkey62 fkey62 fkey62  O
  234   meta   meta   fkey63 fkey63 fkey63 fkey63 fkey63 fkey63  O
  235   meta   meta   fkey64 fkey64 fkey64 fkey64 fkey64 fkey64  O
  236   nop    nop    nop    nop    nop    nop    nop    nop     O

  dacu 0xb4    ( 0xb4   0xb4    ) ( 'S'    0x015a  ) ( 'Z'    0x0179  ) ( 's'    0x015b  )
               ( 'z'    0x017a  ) ( 'R'    0x0154  ) ( 'A'    0xc1    ) ( 'L'    0x0139  )
               ( 'C'    0x0106  ) ( 'E'    0xc9    ) ( 'I'    0xcd    ) ( 'N'    0x0143  )
               ( 'O'    0xd3    ) ( 'U'    0xda    ) ( 'Y'    0xdd    ) ( 'r'    0x0155  )
               ( 'a'    0xe1    ) ( 'l'    0x013a  ) ( 'c'    0x0107  ) ( 'e'    0xe9    )
               ( 'i'    0xed    ) ( 'n'    0x0144  ) ( 'o'    0xf3    ) ( 'u'    0xfa    )
               ( 'y'    0xfd    )

  dcir '^'     ( '^'    '^'     ) ( 'A'    0xc2    ) ( 'I'    0xce    ) ( 'O'    0xd4    )
               ( 'a'    0xe2    ) ( 'i'    0xee    ) ( 'o'    0xf4    )

  dbre 0x02d8  ( 0x02d8 0x02d8  ) ( 'A'    0x0102  ) ( 'a'    0x0103  )

  ddot 0x02d9  ( 0x02d9 0x02d9  ) ( 'Z'    0x017b  ) ( 'z'    0x017c  )

  duml 0xa8    ( 0xa8   0xa8    ) ( 'A'    0xc4    ) ( 'E'    0xcb    ) ( 'O'    0xd6    )
               ( 'U'    0xdc    ) ( 'a'    0xe4    ) ( 'e'    0xeb    ) ( 'o'    0xf6    )
               ( 'u'    0xfc    )

  dsla 0xad    ( 0xad   0xad    ) ( 'L'    0x0141  ) ( 'l'    0x0142  ) ( 'D'    0x0110  )
               ( 'd'    0x0111  )

  drin 0xb0    ( 0xb0   0xb0    ) ( 'U'    0x016e  ) ( 'u'    0x016f  ) ( 's'    0xdf    )
               ( 'o'    0xa4    ) ( 0xfd   0xa7    ) ( 0xe1   0xd7    ) ( '-'    0xf7    )

  dced 0xb8    ( 0xb8   0xb8    ) ( 'S'    0x015e  ) ( 's'    0x015f  ) ( 'C'    0xc7    )
               ( 'T'    0x0162  ) ( 'c'    0xe7    ) ( 't'    0x0163  )

  ddac 0x02dd  ( 0x02dd 0x02dd  ) ( 'O'    0x0150  ) ( 'U'    0x0170  ) ( 'o'    0x0151  )
               ( 'u'    0x0171  )

  dogo 0x02db  ( 0x02db 0x02db  ) ( 'A'    0x0104  ) ( 'a'    0x0105  ) ( 'E'    0x0118  )
               ( 'e'    0x0119  )

  dcar 0x02c7  ( 0x02c7 0x02c7  ) ( 'L'    0x013d  ) ( 'S'    0x0160  ) ( 'T'    0x0164  )
               ( 'Z'    0x017d  ) ( 'l'    0x013e  ) ( 's'    0x0161  ) ( 't'    0x0165  )
               ( 'z'    0x017e  ) ( 'C'    0x010c  ) ( 'E'    0x011a  ) ( 'D'    0x010e  )
               ( 'N'    0x0147  ) ( 'R'    0x0158  ) ( 'c'    0x010d  ) ( 'e'    0x011b  )
               ( 'd'    0x010f  ) ( 'n'    0x0148  ) ( 'r'    0x0159  ) ( 'U'    0x016e  )
               ( 'u'    0x016f  )
