;; be-kbd.mim -- Belarusian input method with Belarusian keyboard layout
;; Copyright (C) 2010 Yuri Victorovich <yuri@tsoft.com>

;; This file is part of the m17n contrib; a sub-part of the m17n
;; library.

;; The m17n library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
;; as published by the Free Software Foundation; either version 2.1 of
;; the License, or (at your option) any later version.

;; The m17n library is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;; Lesser General Public License for more details.

;; You should have received a copy of the GNU Lesser General Public
;; License along with the m17n library; if not, write to the Free
;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.

;;; Input method for Belarusian by simulating the Belarusian keyboard.

(input-method be kbd)

(description
 "Belarusian input method simulating the Cyrillic keyboard.
    1! 2\" 3№ 4; 5% 6: 7? 8* 9( 0) -_ =+ ёЁ
     Й  Ц  У  К  Е  Н  Г  Ш  Ў  З  Х  \\'
      Ф  Ы  В  А  П  Р  О  Л  Д  Ж  Э \\|
       Я  Ч  С  М  І  Т  Ь  Б  Ю  .,
")

(title "BE")

(map
 (map
  ("`" ?ё)
  ("q" ?й)
  ("w" ?ц)
  ("e" ?у)
  ("r" ?к)
  ("t" ?е)
  ("y" ?н)
  ("u" ?г)
  ("i" ?ш)
  ("o" ?ў)
  ("p" ?з)
  ("[" ?х)
  ("]" ?')
  ("a" ?ф)
  ("s" ?ы)
  ("d" ?в)
  ("f" ?а)
  ("g" ?п)
  ("h" ?р)
  ("j" ?о)
  ("k" ?л)
  ("l" ?д)
  (";" ?ж)
  ("'" ?э)
  ("\\" ?\\)
  ("z" ?я)
  ("x" ?ч)
  ("c" ?с)
  ("v" ?м)
  ("b" ?і)
  ("n" ?т)
  ("m" ?ь)
  ("," ?б)
  ("." ?ю)
  ("/" ?.)
  ("!" ?!)
  ("@" ?\")
  ("#" ?№)
  ("$" ?\;)
  ("%" ?%)
  ("^" ?:)
  ("&" ??)
  ("*" ?*)
  ("(" ?\()
  (")" ?\))
  ("_" ?_)
  ("+" ?+)
  ("~" ?Ё)
  ("Q" ?Й)
  ("W" ?Ц)
  ("E" ?У)
  ("R" ?К)
  ("T" ?Е)
  ("Y" ?Н)
  ("U" ?Г)
  ("I" ?Ш)
  ("O" ?Ў)
  ("P" ?З)
  ("{" ?Х)
  ("}" ?')
  ("A" ?Ф)
  ("S" ?Ы)
  ("D" ?В)
  ("F" ?А)
  ("G" ?П)
  ("H" ?Р)
  ("J" ?О)
  ("K" ?Л)
  ("L" ?Д)
  (":" ?Ж)
  ("\"" ?Э)
  ("|" ?\|)
  ("Z" ?Я)
  ("X" ?Ч)
  ("C" ?С)
  ("V" ?М)
  ("B" ?І)
  ("N" ?Т)
  ("M" ?Ь)
  ("<" ?Б)
  (">" ?Ю)
  ("?" ?,)))

(state
 (init
  (map)))
