Fix for the case of failed LAM-ALEF ligature. Handle positioning of
[m17n/m17n-db.git] / MIM / fr-azerty.mim
1 ;; fr-azerty.mim -- Input method for French simulating Azerty keyboard layout
2 ;; Copyright (C) 2007
3 ;;   National Institute of Advanced Industrial Science and Technology (AIST)
4 ;;   Registration Number H15PRO112
5
6 ;; This file is part of the m17n database; a sub-part of the m17n
7 ;; library.
8
9 ;; The m17n library is free software; you can redistribute it and/or
10 ;; modify it under the terms of the GNU Lesser General Public License
11 ;; as published by the Free Software Foundation; either version 2.1 of
12 ;; the License, or (at your option) any later version.
13
14 ;; The m17n library is distributed in the hope that it will be useful,
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 ;; Lesser General Public License for more details.
18
19 ;; You should have received a copy of the GNU Lesser General Public
20 ;; License along with the m17n library; if not, write to the Free
21 ;; Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 ;; Boston, MA 02110-1301, USA.
23
24 (input-method fr azerty)
25
26 (description (_"Simulating Azerty keyboard on English keyboard.
27
28      &1  é2  \"3  '4  (5  -6  è7  _8  ç9  à0  )°  =_  ²~
29       aA  zZ  eE  rR  tT  yY  uU  iI  oO  pP  ^¨  $£
30        qQ  sS  dD  fF  gG  hH  jJ  kK  lL  mM  ù%  *|
31         wW  xX  cC  vV  bB  nN  ,?  ;.  :/  !§
32
33 '[' and '{' are used as a dead key to type a character with the
34 circumflex and diaeresis respectively (e.g. '[' 'e' -> \"ê\").
35
36 'Alt-2' and 'Alt-7' are used as a dead key to type a character
37 with tilde and grave respectively (e.g. 'Alt-2' 'n' -> \"ñ\").
38
39 'Ctrl-Alt-2' and 'Ctrl-Alt-7' can be used as 'Alt-2' and 'Alt-7'
40 respectively.
41
42 Azerty keyboard has one more key at the bottom left corner for
43 inputting \"<\" and \">\".  As a normal English keyboard doesn't
44 have such a key left, type '<' and '>' twice for \"<\" and \">\"
45 respectively."))
46
47 (title "AZ ")
48
49 (map
50  (normal
51   ("1" ?&)
52   ("2" ?é)
53   ("3" ?\")
54   ("4" ?')
55   ("5" ?\()
56   ("6" ?-)
57   ("7" ?è)
58   ("8" ?_)
59   ("9" ?ç)
60   ("0" ?à)
61   ("-" ?\))
62   ("=" ?=)
63   ("`" ?²)
64   ("q" ?a)
65   ("w" ?z)
66   ("e" ?e)
67   ("r" ?r)
68   ("t" ?t)
69   ("y" ?y)
70   ("u" ?u)
71   ("i" ?i)
72   ("o" ?o)
73   ("p" ?p)
74   ;; ("[" ?^)
75   ("]" ?$)
76   ("a" ?q)
77   ("s" ?s)
78   ("d" ?d)
79   ("f" ?f)
80   ("g" ?g)
81   ("h" ?h)
82   ("j" ?j)
83   ("k" ?k)
84   ("l" ?l)
85   (";" ?m)
86   ("'" ?ù)
87   ("\\" ?*)
88   ("z" ?w)
89   ("x" ?x)
90   ("c" ?c)
91   ("v" ?v)
92   ("b" ?b)
93   ("n" ?n)
94   ("m" ?,)
95   ("," ?\;)
96   ("." ?:)
97   ("/" ?!)
98
99   ("!" ?1)
100   ("@" ?2)
101   ("#" ?3)
102   ("$" ?4)
103   ("%" ?5)
104   ("^" ?6)
105   ("&" ?7)
106   ("*" ?8)
107   ("(" ?9)
108   (")" ?0)
109   ("_" ?°)
110   ("+" ?+)
111   ("~" ?~)
112   ("Q" ?A)
113   ("W" ?Z)
114   ("E" ?E)
115   ("R" ?R)
116   ("T" ?T)
117   ("Y" ?Y)
118   ("U" ?U)
119   ("I" ?I)
120   ("O" ?O)
121   ("P" ?P)
122   ;; ("{" ?¨)
123   ("}" ?£)
124
125   ("A" ?Q)
126   ("S" ?S)
127   ("D" ?D)
128   ("F" ?F)
129   ("G" ?G)
130   ("H" ?H)
131   ("J" ?J)
132   ("K" ?K)
133   ("L" ?L)
134   (":" ?M)
135   ("\"" ?%)
136   ("|" ?µ)
137   ("Z" ?W)
138   ("X" ?X)
139   ("C" ?C)
140   ("V" ?V)
141   ("B" ?B)
142   ("N" ?N)
143   ("M" ??)
144   ("<" ?.)
145   ("<<" ?<)
146   (">" ?/)
147   (">>" ?>)
148   ("?" ?§))
149
150  ;; Deadkeys
151  (left-square-bracket
152   ("["))
153
154  (left-curly-bracket
155   ("{"))
156
157  (alt-2
158   ((A-2))
159   ((C-A-2)))
160
161  (alt-7
162   ((A-7))
163   ((C-A-7)))
164
165  ;; Letters with diacritical marks
166  (circumflex
167   ("[" ?^)
168   ("q" ?â)
169   ("e" ?ê)
170   ("i" ?î)
171   ("o" ?ô)
172   ("u" ?û)
173   ("Q" ?Â)
174   ("E" ?Ê)
175   ("I" ?Î)
176   ("O" ?Ô)
177   ("U" ?Û))
178
179  (diaeresis
180   ("{" ?¨)
181   ("q" ?ä)
182   ("e" ?ë)
183   ("i" ?ï)
184   ("o" ?ö)
185   ("u" ?ü)
186   ("y" ?ÿ)
187   ("Q" ?Ä)
188   ("E" ?Ë)
189   ("I" ?Ï)
190   ("O" ?Ö)
191   ("U" ?Ü)
192   ("Y" ?Ÿ))
193
194  (tilde
195   ("3" ?~)
196   ("q" ?ã)
197   ("n" ?ñ)
198   ("o" ?õ))
199
200  (grave
201   ("q" ?à)
202   ("e" ?è)
203   ("i" ?ì)
204   ("o" ?ò)
205   ("u" ?ù)
206   ("Q" ?À)
207   ("E" ?È)
208   ("I" ?Ì)
209   ("O" ?Ò)
210   ("U" ?Ù)))
211
212 (state
213  (init
214   (normal)
215   (left-square-bracket (shift circumflex))
216   (left-curly-bracket (shift diaeresis))
217   (alt-2 (shift tilde))
218   (alt-7 (shift grave)))
219
220  (circumflex
221   "AZ^"
222   (circumflex (shift init)))
223
224  (diaeresis
225   "AZ¨"
226   (diaeresis (shift init)))
227
228  (tilde
229   "AZ~"
230   (tilde (shift init)))
231
232  (grave
233   "AZ`"
234   (grave (shift init))))