1 # Copyright (C) 2017 The Android Open Source Project 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 16 17 type FULL 18 19 ### Basic QWERTY keys ### 20 21 key A { 22 label: '\u0634' 23 base: '\u0634' 24 shift, capslock: '\u0624' 25 ctrl, alt, meta: none 26 } 27 28 key B { 29 label: '\u0630' 30 base: '\u0630' 31 shift, capslock: '\u200C' 32 ctrl, alt, meta: none 33 } 34 35 key C { 36 label: '\u0632' 37 base: '\u0632' 38 shift, capslock: '\u0698' 39 ctrl, alt, meta: none 40 } 41 42 key D { 43 label: '\u06CC' 44 base: '\u06CC' 45 shift, capslock: '\u064A' 46 ctrl, alt, meta: none 47 } 48 49 key E { 50 label: '\u062B' 51 base: '\u062B' 52 shift, capslock: '\u064D' 53 ctrl, alt, meta: none 54 } 55 56 key F { 57 label: '\u0628' 58 base: '\u0628' 59 shift, capslock: '\u0625' 60 ctrl, alt, meta: none 61 } 62 63 key G { 64 label: '\u0644' 65 base: '\u0644' 66 shift, capslock: '\u0623' 67 ctrl, alt, meta: none 68 } 69 70 key H { 71 label: '\u0627' 72 base: '\u0627' 73 shift, capslock: '\u0622' 74 ctrl, alt, meta: none 75 } 76 77 key I { 78 label: '\u0647' 79 base: '\u0647' 80 shift, capslock: '\u0651' 81 ctrl, alt, meta: none 82 } 83 84 key J { 85 label: '\u062A' 86 base: '\u062A' 87 shift, capslock: '\u0629' 88 ctrl, alt, meta: none 89 } 90 91 key K { 92 label: '\u0646' 93 base: '\u0646' 94 shift, capslock: '\u00AB' 95 ctrl, alt, meta: none 96 } 97 98 key L { 99 label: '\u0645' 100 base: '\u0645' 101 shift, capslock: '\u00BB' 102 ctrl, alt, meta: none 103 } 104 105 key M { 106 label: '\u067E' 107 base: '\u067E' 108 shift, capslock: '\u0621' 109 ctrl, alt, meta: none 110 } 111 112 key N { 113 label: '\u062F' 114 base: '\u062F' 115 shift, capslock: '\u0654' 116 ctrl, alt, meta: none 117 } 118 119 key O { 120 label: '\u062E' 121 base: '\u062E' 122 shift, capslock: ']' 123 ctrl, alt, meta: none 124 } 125 126 key P { 127 label: '\u062D' 128 base: '\u062D' 129 shift, capslock: '[' 130 ctrl, alt, meta: none 131 } 132 133 key Q { 134 label: '\u0636' 135 base: '\u0636' 136 shift, capslock: '\u0652' 137 ctrl, alt, meta: none 138 } 139 140 key R { 141 label: '\u0642' 142 base: '\u0642' 143 shift, capslock: '\u064B' 144 ctrl, alt, meta: none 145 } 146 147 key S { 148 label: '\u0633' 149 base: '\u0633' 150 shift, capslock: '\u0626' 151 ctrl, alt, meta: none 152 } 153 154 key T { 155 label: '\u0641' 156 base: '\u0641' 157 shift, capslock: '\u064F' 158 ctrl, alt, meta: none 159 } 160 161 key U { 162 label: '\u0639' 163 base: '\u0639' 164 shift, capslock: '\u064E' 165 ctrl, alt, meta: none 166 } 167 168 key V { 169 label: '\u0631' 170 base: '\u0631' 171 shift, capslock: '\u0670' 172 ctrl, alt, meta: none 173 } 174 175 key W { 176 label: '\u0635' 177 base: '\u0635' 178 shift, capslock: '\u064C' 179 ctrl, alt, meta: none 180 } 181 182 key X { 183 label: '\u0637' 184 base: '\u0637' 185 shift, capslock: '\u0653' 186 ctrl, alt, meta: none 187 } 188 189 key Y { 190 label: '\u063A' 191 base: '\u063A' 192 shift, capslock: '\u0650' 193 ctrl, alt, meta: none 194 } 195 196 key Z { 197 label: '\u0638' 198 base: '\u0638' 199 shift, capslock: '\u0643' 200 ctrl, alt, meta: none 201 } 202 203 key 0 { 204 label, number: '\u06F0' 205 base: '\u06F0' 206 shift: '(' 207 ctrl, alt, meta: none 208 } 209 210 key 1 { 211 label, number: '\u06F1' 212 base: '\u06F1' 213 shift: '!' 214 ctrl, alt, meta: none 215 } 216 217 key 2 { 218 label, number: '\u06F2' 219 base: '\u06F2' 220 shift: '\u066C' 221 ctrl, alt, meta: none 222 223 } 224 key 3 { 225 label, number: '\u06F3' 226 base: '\u06F3' 227 shift: '\u066B' 228 ctrl, alt, meta: none 229 } 230 231 key 4 { 232 label, number: '\u06F4' 233 base: '\u06F4' 234 shift: '\uFDFC' 235 ctrl, alt, meta: none 236 } 237 238 key 5 { 239 label, number: '\u06F5' 240 base: '\u06F5' 241 shift: '\u066A' 242 ctrl, alt, meta: none 243 } 244 245 key 6 { 246 label, number: '\u06F6' 247 base: '\u06F6' 248 shift: '\u00D7' 249 ctrl, alt, meta: none 250 } 251 252 253 key 7 { 254 label, number: '\u06F7' 255 base: '\u06F7' 256 shift: '\u060C' 257 ctrl, alt, meta: none 258 } 259 260 key 8 { 261 label, number: '\u06F8' 262 base: '\u06F8' 263 shift: '*' 264 ctrl, alt, meta: none 265 } 266 267 key 9 { 268 label, number: '\u06F9' 269 base: '\u06F9' 270 shift: ')' 271 ctrl, alt, meta: none 272 } 273 274 key SPACE { 275 label: ' ' 276 base: ' ' 277 ctrl, alt, meta: none 278 } 279 280 key ENTER { 281 label: '\n' 282 base: '\n' 283 ctrl, alt, meta: none 284 } 285 286 key TAB { 287 label: '\t' 288 base: '\t' 289 ctrl, alt, meta: none 290 } 291 292 key COMMA { 293 label, number: '\u0648' 294 base: '\u0648' 295 shift: '<' 296 ctrl, alt, meta: none 297 } 298 299 key PERIOD { 300 label, number: '.' 301 base: '.' 302 shift: '>' 303 ctrl, alt, meta: none 304 } 305 306 key SLASH { 307 label, number: '/' 308 base: '/' 309 shift: '\u061F' 310 ctrl, alt, meta: none 311 } 312 313 key GRAVE { 314 label, number: '`' 315 base: '`' 316 shift: '\u00F7' 317 ctrl, alt, meta: none 318 } 319 320 321 key MINUS { 322 label, number: '-' 323 base: '-' 324 shift: '_' 325 ctrl, alt, meta: none 326 } 327 328 key EQUALS { 329 label, number: '=' 330 base: '=' 331 shift: '+' 332 ctrl, alt, meta: none 333 } 334 335 key LEFT_BRACKET { 336 label, number: '\u062C' 337 base: '\u062C' 338 shift: '}' 339 ctrl, alt, meta: none 340 } 341 342 key RIGHT_BRACKET { 343 label, number: '\u0686' 344 base: '\u0686' 345 shift: '{' 346 ctrl, alt, meta: none 347 } 348 349 key BACKSLASH { 350 label, number: '\\' 351 base: '\\' 352 shift: '|' 353 ctrl, alt, meta: none 354 } 355 356 key SEMICOLON { 357 label, number: '\u06A9' 358 base: '\u06A9' 359 shift: ':' 360 ctrl, alt, meta: none 361 } 362 363 key APOSTROPHE { 364 label, number: '\'' 365 base: '\'' 366 shift: '\"' 367 ctrl, alt, meta: none 368 } 369 370 ### Numeric keypad ### 371 372 key NUMPAD_0 { 373 label, number: '0' 374 base: fallback INSERT 375 numlock: '0' 376 ctrl, alt, meta: none 377 } 378 379 key NUMPAD_1 { 380 label, number: '1' 381 base: fallback MOVE_END 382 numlock: '1' 383 ctrl, alt, meta: none 384 } 385 386 key NUMPAD_2 { 387 label, number: '2' 388 base: fallback DPAD_DOWN 389 numlock: '2' 390 ctrl, alt, meta: none 391 } 392 393 key NUMPAD_3 { 394 label, number: '3' 395 base: fallback PAGE_DOWN 396 numlock: '3' 397 ctrl, alt, meta: none 398 } 399 400 key NUMPAD_4 { 401 label, number: '4' 402 base: fallback DPAD_LEFT 403 numlock: '4' 404 ctrl, alt, meta: none 405 } 406 407 key NUMPAD_5 { 408 label, number: '5' 409 base: fallback DPAD_CENTER 410 numlock: '5' 411 ctrl, alt, meta: none 412 } 413 414 key NUMPAD_6 { 415 label, number: '6' 416 base: fallback DPAD_RIGHT 417 numlock: '6' 418 ctrl, alt, meta: none 419 } 420 421 key NUMPAD_7 { 422 label, number: '7' 423 base: fallback MOVE_HOME 424 numlock: '7' 425 ctrl, alt, meta: none 426 } 427 428 key NUMPAD_8 { 429 label, number: '8' 430 base: fallback DPAD_UP 431 numlock: '8' 432 ctrl, alt, meta: none 433 } 434 435 key NUMPAD_9 { 436 label, number: '9' 437 base: fallback PAGE_UP 438 numlock: '9' 439 ctrl, alt, meta: none 440 } 441 442 key NUMPAD_LEFT_PAREN { 443 label, number: '(' 444 base: '(' 445 ctrl, alt, meta: none 446 } 447 448 key NUMPAD_RIGHT_PAREN { 449 label, number: ')' 450 base: ')' 451 ctrl, alt, meta: none 452 } 453 454 key NUMPAD_DIVIDE { 455 label, number: '/' 456 base: '/' 457 ctrl, alt, meta: none 458 } 459 460 key NUMPAD_MULTIPLY { 461 label, number: '*' 462 base: '*' 463 ctrl, alt, meta: none 464 } 465 466 key NUMPAD_SUBTRACT { 467 label, number: '-' 468 base: '-' 469 ctrl, alt, meta: none 470 } 471 472 key NUMPAD_ADD { 473 label, number: '+' 474 base: '+' 475 ctrl, alt, meta: none 476 } 477 478 key NUMPAD_DOT { 479 label, number: '.' 480 base: fallback FORWARD_DEL 481 numlock: '.' 482 ctrl, alt, meta: none 483 } 484 485 key NUMPAD_COMMA { 486 label, number: ',' 487 base: ',' 488 ctrl, alt, meta: none 489 } 490 491 key NUMPAD_EQUALS { 492 label, number: '=' 493 base: '=' 494 ctrl, alt, meta: none 495 } 496 497 key NUMPAD_ENTER { 498 label: '\n' 499 base: '\n' fallback ENTER 500 ctrl, alt, meta: none fallback ENTER 501 } 502