Форк
0
283 строки · 11.5 Кб
1
// Keyboard layouts for Iran.
2

3
// Standard Persian layout, based on ISIRI 9147 (1st Edition),
4
// "Layout of Persian Letters and Symbols on Computer Keyboards"
5
// by the Institute of Standards and Industrial Research of Iran.
6
// (http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147)
7
// https://persian-computing.org/archives/ISIRI/ISIRI-9147.pdf
8
//
9
// The standard is extended with ASCII digits on the fourth level of the top row,
10
// and the letter He with Ye above (U+06C0) on the third level of the AC05 key.
11
//
12
// Original author: Behnam Esfahbod <behnam@esfahbod.info>
13

14
default partial alphanumeric_keys
15
xkb_symbols "pes" {
16
    name[Group1]= "Persian";
17

18
    // Persian and ASCII digits
19
    key <AE01> { [ Farsi_1,	exclam,		grave,			1	] };
20
    key <AE02> { [ Farsi_2,	U066C,		at,			2	] };
21
    key <AE03> { [ Farsi_3,	U066B,		numbersign,		3	] };
22
    key <AE04> { [ Farsi_4,	UFDFC,		dollar,			4	] }; // Rial sign
23
    key <AE05> { [ Farsi_5,	U066A,		percent,		5	] };
24
    key <AE06> { [ Farsi_6,	multiply,	asciicircum,		6	] };
25
    key <AE07> { [ Farsi_7,	Arabic_comma,	ampersand,		7	] };
26
    key <AE08> { [ Farsi_8,	asterisk,	enfilledcircbullet,	8	] };
27
    key <AE09> { [ Farsi_9,	parenright,	U200E,			9	] }; // LRM
28
    key <AE10> { [ Farsi_0,	parenleft,	U200F,			0	] }; // RLM
29

30
    // Persian letters and symbols
31
    key <AD01> { [ Arabic_dad,		Arabic_sukun,		degree		] };
32
    key <AD02> { [ Arabic_sad,		Arabic_dammatan,	none		] };
33
    key <AD03> { [ Arabic_theh,		Arabic_kasratan,	EuroSign	] };
34
    key <AD04> { [ Arabic_qaf,		Arabic_fathatan,	none		] };
35
    key <AD05> { [ Arabic_feh,		Arabic_damma,		none		] };
36
    key <AD06> { [ Arabic_ghain,	Arabic_kasra,		none		] };
37
    key <AD07> { [ Arabic_ain,		Arabic_fatha,		none		] };
38
    key <AD08> { [ Arabic_heh,		Arabic_shadda,		U202D		] }; // LRO
39
    key <AD09> { [ Arabic_khah,		bracketright,		U202E		] }; // RLO
40
    key <AD10> { [ Arabic_hah,		bracketleft,		U202C		] }; // PDF
41
    key <AD11> { [ Arabic_jeem,		braceright,		U202A		] }; // LRE
42
    key <AD12> { [ Arabic_tcheh,	braceleft,		U202B		] }; // RLE
43

44
    key <AC01> { [ Arabic_sheen,	Arabic_hamzaonwaw,	none		] };
45
    key <AC02> { [ Arabic_seen,		Arabic_hamzaonyeh,	none		] };
46
    key <AC03> { [ Farsi_yeh,		Arabic_yeh,		Arabic_alefmaksura ] };
47
    key <AC04> { [ Arabic_beh,		Arabic_hamzaunderalef,	none		] };
48
    key <AC05> { [ Arabic_lam,		Arabic_hamzaonalef,	U06C0		] };
49
    key <AC06> { [ Arabic_alef,		Arabic_maddaonalef,	U0671		] };
50
    key <AC07> { [ Arabic_teh,		Arabic_tehmarbuta,	none		] };
51
    key <AC08> { [ Arabic_noon,		guillemotright,		UFD3E		] };
52
    key <AC09> { [ Arabic_meem,		guillemotleft,		UFD3F		] };
53
    key <AC10> { [ Arabic_keheh,	colon,			semicolon	] };
54
    key <AC11> { [ Arabic_gaf,		Arabic_semicolon,	quotedbl	] };
55

56
    key <AB01> { [ Arabic_zah,		Arabic_kaf,		none		] };
57
    key <AB02> { [ Arabic_tah,		U0653,			none		] };
58
    key <AB03> { [ Arabic_zain,		Arabic_jeh,		none		] };
59
    key <AB04> { [ Arabic_ra,		Arabic_superscript_alef,U0656		] };
60
    key <AB05> { [ Arabic_thal,		U200C,			U200D		] }; // ZWNJ, ZWJ
61
    key <AB06> { [ Arabic_dal,		Arabic_hamza_above,	Arabic_hamza_below	] };
62
    key <AB07> { [ Arabic_peh,		Arabic_hamza,		ellipsis	] };
63
    key <AB08> { [ Arabic_waw,		greater,		comma		] };
64
    key <AB09> { [ period,		less,			apostrophe	] };
65
    key <AB10> { [ slash,		Arabic_question_mark,	question	] };
66

67
    key <TLDE> { [ U200D,		division,		asciitilde	] }; // ZWJ
68
    key <AE11> { [ minus,		Arabic_tatweel,		underscore	] };
69
    key <AE12> { [ equal,		plus,			U2212		] }; // figure dash
70
    key <BKSL> { [ backslash,		bar,			U2010		] }; // hyphen
71

72
    include "nbsp(zwnj2nb3nnb4)"
73
    include "level3(ralt_switch)"
74
};
75

76
partial alphanumeric_keys
77
xkb_symbols "pes_keypad" {
78

79
    include "ir(pes)"
80

81
    name[Group1]= "Persian (with Persian keypad)";
82

83
    // Persian digits and Mathematical operators
84
    key <KPDV> { [ division,	XF86_Ungrab	] };
85
    key <KPMU> { [ multiply,	XF86_ClearGrab	] };
86
    key <KPSU> { [ U2212,	XF86_Prev_VMode	] }; // minus sign
87
    key <KPAD> { [ plus,	XF86_Next_VMode	] };
88

89
    key <KPEN> { [ KP_Enter	] };
90
    key <KPEQ> { [ equal	] };
91

92
    key <KP7>  { [ KP_Home,	Farsi_7	] };
93
    key <KP8>  { [ KP_Up,	Farsi_8	] };
94
    key <KP9>  { [ KP_Prior,	Farsi_9	] };
95

96
    key <KP4>  { [ KP_Left,	Farsi_4	] };
97
    key <KP5>  { [ KP_Begin,	Farsi_5	] };
98
    key <KP6>  { [ KP_Right,	Farsi_6	] };
99

100
    key <KP1>  { [ KP_End,	Farsi_1	] };
101
    key <KP2>  { [ KP_Down,	Farsi_2	] };
102
    key <KP3>  { [ KP_Next,	Farsi_3	] };
103

104
    key <KP0>  { [ KP_Insert,	Farsi_0	] };
105
    key <KPDL> { [ KP_Delete,	U066B	] }; // Arabic decimal separator
106
};
107

108

109
// The legacy Windows layout that Iranian users are accustomed to,
110
// extended with Farsi digits on the third level of the top row.
111

112
partial alphanumeric_keys
113
xkb_symbols "winkeys" {
114

115
    name[Group1]= "Persian (Windows)";
116

117
    key <TLDE> { [ division,	multiply	] };
118
    key <AE01> { [ 1,		exclam,		Farsi_1,	U200D	] }; // ZWJ
119
    key <AE02> { [ 2,		at,		Farsi_2,	U200C	] }; // ZWNJ
120
    key <AE03> { [ 3,		numbersign,	Farsi_3,	U200E	] }; // LRM
121
    key <AE04> { [ 4,		dollar,		Farsi_4,	U200F	] }; // RLM
122
    key <AE05> { [ 5,		percent,	Farsi_5		] };
123
    key <AE06> { [ 6,		asciicircum,	Farsi_6		] };
124
    key <AE07> { [ 7,		ampersand,	Farsi_7		] };
125
    key <AE08> { [ 8,		asterisk,	Farsi_8		] };
126
    key <AE09> { [ 9,		parenright,	Farsi_9		] };
127
    key <AE10> { [ 0,		parenleft,	Farsi_0		] };
128
    key <AE11> { [ minus,	underscore	] };
129
    key <AE12> { [ equal,	plus		] };
130

131
    key <AD01> { [ Arabic_dad,		Arabic_fathatan		] };
132
    key <AD02> { [ Arabic_sad,		Arabic_dammatan		] };
133
    key <AD03> { [ Arabic_theh,		Arabic_kasratan		] };
134
    key <AD04> { [ Arabic_qaf,		UFDFC			] }; // Rial sign
135
    key <AD05> { [ Arabic_feh,		Arabic_comma		] };
136
    key <AD06> { [ Arabic_ghain,	Arabic_semicolon	] };
137
    key <AD07> { [ Arabic_ain,		comma			] };
138
    key <AD08> { [ Arabic_heh,		bracketright		] };
139
    key <AD09> { [ Arabic_khah,		bracketleft		] };
140
    key <AD10> { [ Arabic_hah,		backslash		] };
141
    key <AD11> { [ Arabic_jeem,		braceright		] };
142
    key <AD12> { [ Arabic_tcheh,	braceleft		] };
143

144
    key <AC01> { [ Arabic_sheen,	Arabic_fatha		] };
145
    key <AC02> { [ Arabic_seen,		Arabic_damma		] };
146
    key <AC03> { [ Farsi_yeh,		Arabic_kasra		] };
147
    key <AC04> { [ Arabic_beh,		Arabic_shadda		] };
148
    key <AC05> { [ Arabic_lam,		U06C0			] };
149
    key <AC06> { [ Arabic_alef,		Arabic_maddaonalef	] };
150
    key <AC07> { [ Arabic_teh,		Arabic_tatweel		] };
151
    key <AC08> { [ Arabic_noon,		guillemotleft		] };
152
    key <AC09> { [ Arabic_meem,		guillemotright		] };
153
    key <AC10> { [ Arabic_keheh,	colon			] };
154
    key <AC11> { [ Arabic_gaf,		quotedbl		] };
155
    key <BKSL> { [ Arabic_peh,		bar			] };
156

157
    key <LSGT> { [ Arabic_peh,		bar			] };
158
    key <AB01> { [ Arabic_zah,		Arabic_tehmarbuta	] };
159
    key <AB02> { [ Arabic_tah,		Arabic_yeh		] };
160
    key <AB03> { [ Arabic_zain,		Arabic_jeh		] };
161
    key <AB04> { [ Arabic_ra,		Arabic_hamzaonwaw	] };
162
    key <AB05> { [ Arabic_thal,		Arabic_hamzaonalef	] };
163
    key <AB06> { [ Arabic_dal,		Arabic_hamzaunderalef	] };
164
    key <AB07> { [ Arabic_hamzaonyeh,	Arabic_hamza		] };
165
    key <AB08> { [ Arabic_waw,		less			] };
166
    key <AB09> { [ period,		greater			] };
167
    key <AB10> { [ slash,		Arabic_question_mark	] };
168

169
    include "level3(ralt_switch)"
170
};
171

172

173
// Symbols definition for South Azerbaijani keyboard layout.
174
// 2022 - Alborz Jafari <alborz.jf@gmail.com>
175

176
partial alphanumeric_keys
177
xkb_symbols "azb"
178
{
179
    include "ir(pes)"
180
    name[Group1]= "Azerbaijani (Iran)";
181

182
    // Letters and symbols for South Azerbaijani
183
    key <AD01> { [ Arabic_dad,  U06C7,           degree             ] };  // ۇ
184
    key <AD02> { [ Arabic_sad,  U06C6,           Arabic_dammatan    ] };  // ۆ
185
    key <AC03> { [ Farsi_yeh,   U063D,           Arabic_alefmaksura ] };  // ؽ
186
    key <AB01> { [ Arabic_zah,  Arabic_sukun,    none               ] };
187
    key <AB05> { [ Arabic_thal, Arabic_dammatan, none               ] };
188
};
189

190

191
// Kurdish layouts
192

193
partial alphanumeric_keys
194
xkb_symbols "ku" {
195
    include "tr(ku)"
196
    name[Group1]= "Kurdish (Iran, Latin Q)";
197
};
198

199
partial alphanumeric_keys
200
xkb_symbols "ku_f" {
201
    include "tr(ku_f)"
202
    name[Group1]= "Kurdish (Iran, F)";
203
};
204

205
partial alphanumeric_keys
206
xkb_symbols "ku_alt" {
207
    include "tr(ku_alt)"
208
    name[Group1]= "Kurdish (Iran, Latin Alt-Q)";
209
};
210

211
// Kurdish Soranî Bahdînî (Arabic) keyboard layout,
212
// based on the Kurdî Soranî Bahdînî keyboard from KurdITGroup
213
// which is based on National Iranian Keyboard Standard (ISIRI 2901:1994),
214
// with additions.
215
//
216
// Copyright (C) 2006 Erdal Ronahî, published under the GPL v2
217
//
218
// Special copyright note: author explicitly permitted to license this
219
// layout under MIT/X11 license, for details see
220
// https://bugs.freedesktop.org/show_bug.cgi?id=9541
221
//
222
// Author: Erdal Ronahî  <erdal.ronahi@gmail.com>
223
//
224
// Kurdish Arabic-Latin Layout for Soranî
225

226
partial alphanumeric_keys
227
xkb_symbols "ku_ara" {
228
    name[Group1]= "Kurdish (Iran, Arabic-Latin)";
229

230
    key <TLDE> { [ U200D,	division,	asciitilde		] }; // ZWJ
231
    key <AE01> { [ Arabic_1,	exclam,		1,	grave		] };
232
    key <AE02> { [ Arabic_2,	at,		2,	at		] };
233
    key <AE03> { [ Arabic_3,	numbersign,	3,	U066B		] };
234
    key <AE04> { [ Arabic_4,	dollar,		4,	UFDFC		] }; // Rial sign
235
    key <AE05> { [ Arabic_5,	percent,	5,	U066A		] };
236
    key <AE06> { [ Arabic_6,	asciicircum,	6,	multiply	] };
237
    key <AE07> { [ Arabic_7,	ampersand,	7,	Arabic_comma	] };
238
    key <AE08> { [ Arabic_8,	asterisk,	8,	enfilledcircbullet	] };
239
    key <AE09> { [ Arabic_9,	parenright,	9,	U200E		] }; // LRM
240
    key <AE10> { [ Arabic_0,	parenleft,	0,	U200F		] }; // RLM
241
    key <AE11> { [ minus,	Arabic_tatweel,	underscore		] };
242
    key <AE12> { [ equal,	plus,		U2212			] }; // minus sign
243

244
    key <AD01> { [ Arabic_qaf,	X,			q,  Q ] };
245
    key <AD02> { [ Arabic_waw,	X,			w,  W ] };
246
    key <AD03> { [ U06D5,	Arabic_heh,		e,  E ] };
247
    key <AD04> { [ Arabic_ra,	U0695,			r,  R ] };
248
    key <AD05> { [ Arabic_teh,	Arabic_tah,		t,  T ] };
249
    key <AD06> { [ U06CC,	U06CE,			y,  Y ] };
250
    key <AD07> { [ Arabic_hamzaonyeh, Arabic_hamza,	u,  U ] };
251
    key <AD08> { [ Arabic_hah,	Arabic_ain,		i,  I ] };
252
    key <AD09> { [ U06C6,	Arabic_hamzaonwaw,	o,  O ] };
253
    key <AD10> { [ U067E,	Arabic_theh,		p,  P ] };
254
    key <AD11> { [ bracketright,braceright,		ucircumflex, Ucircumflex	] };
255
    key <AD12> { [ bracketleft,	braceleft,		scedilla,    Scedilla		] };
256

257
    key <AC01> { [ Arabic_alef,	Arabic_maddaonalef,	a,  A	] };
258
    key <AC02> { [ Arabic_seen,	Arabic_sheen,		s,  S	] };
259
    key <AC03> { [ Arabic_dal,	Arabic_thal,		d,  D	] };
260
    key <AC04> { [ Arabic_feh,	Arabic_hamzaunderalef,	f,  F	] };
261
    key <AC05> { [ U06AF,	Arabic_ghain,		g,  G	] };
262
    key <AC06> { [ Arabic_heh,	U200C,			h,  H	] }; // ZWNJ
263
    key <AC07> { [ U0698,	Arabic_hamzaonalef,	j,  J	] };
264
    key <AC08> { [ U06A9,	Arabic_kaf,		k,  K	] };
265
    key <AC09> { [ Arabic_lam,	U06B5,			l,  L	] };
266
    key <AC10> { [ Arabic_semicolon,	colon,		ecircumflex, Ecircumflex	] };
267
    key <AC11> { [ apostrophe,	quotedbl,		icircumflex, Icircumflex	] };
268
    key <BKSL> { [ backslash,	bar,			ccedilla,    Ccedilla		] };
269

270
    key <AB01> { [ Arabic_zain,	Arabic_dad,		z,  Z	] };
271
    key <AB02> { [ Arabic_khah,	Arabic_sad,		x,  X	] };
272
    key <AB03> { [ Arabic_jeem,	U0686,			c,  C	] };
273
    key <AB04> { [ U06A4,	Arabic_zah,		v,  V	] };
274
    key <AB05> { [ Arabic_beh,	U0649,			b,  B	] };
275
    key <AB06> { [ Arabic_noon,	Arabic_tehmarbuta,	n,  N	] };
276
    key <AB07> { [ Arabic_meem,	Arabic_tatweel,		m,  M	] };
277
    key <AB08> { [ Arabic_comma,greater,	comma		] };
278
    key <AB09> { [ period,	less,		apostrophe	] };
279
    key <AB10> { [ slash, Arabic_question_mark,	question	] };
280

281
    include "nbsp(zwnj2nb3)"
282
    include "level3(ralt_switch)"
283
};
284

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.