mirror of
https://github.com/keymanapp/keyman.git
synced 2026-09-09 00:57:43 +00:00
chore(developer): add some more keyboardtests
This commit is contained in:
parent
aeb000fbd3
commit
f74e69682d
11 changed files with 1386 additions and 23 deletions
|
|
@ -1,29 +1,43 @@
|
|||
#-----------------------------------------
|
||||
# Tests for kmcompxtest()
|
||||
#-----------------------------------------
|
||||
# **Tests for kmcompxtest()**
|
||||
<br/>
|
||||
|
||||
This folder contains several kmn-files that are used for testing resulting Errorcodes.
|
||||
These tests are all copied from balochi_phonetic and contain alterations of the data to produce (at least) 1 Error.
|
||||
|
||||
#-----------------------------------------
|
||||
# Naming Convention:
|
||||
# CERR_404D_balochi_phonetic.kmn
|
||||
#-----------------------------------------
|
||||
Most of these tests are copied from balochi_phonetic and contain alterations of the data to produce (at least) 1 Error.
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
---
|
||||
|
||||
## Naming Convention of kmn-files for using with kmcompxtest()
|
||||
|
||||
CERR_404D_balochi_phonetic.kmn
|
||||
|
||||
|
||||
The naming convention of the files is as follows:
|
||||
All Files MUST start with CERR_ followed by 4 characters and an underscore.
|
||||
After the second underscore all combination of char can be used.
|
||||
|
||||
The 4 characters following CERR_ correspond to the last 4 digits of the Error-Code which is expected to be produced by this file.
|
||||
( e.g. CERR_404D_balochi_phonetic.kmn should produce Error 0x0000404D).
|
||||
* All Files **MUST** start with CERR_ followed by 4 characters and an underscore.
|
||||
|
||||
#-----------------------------------------
|
||||
While running kmcompxtest extracts the 4 chars of the Filename and compares them to the actual Error found.
|
||||
If they correspond the test will be marked as OK. (Code 0)
|
||||
If the file is supposed to produce an Error and does not the test will be marked as FAILED (Code 1)
|
||||
If the filename is not correct the test will be marked as FAILED (Code 99)
|
||||
If more than 1 Error is produced only the Error coded in the Filename will be detected
|
||||
#-----------------------------------------
|
||||
* After the second underscore all combination of char can be used.
|
||||
|
||||
* The 4 characters following CERR_ correspond to the last 4 digits of the Error-Code which is expected to be produced by this file.
|
||||
|
||||
( e.g. CERR_404D_balochi_phonetic.kmn should produce Error 0x0000404D).
|
||||
|
||||
<br/>
|
||||
|
||||
---
|
||||
<br/>
|
||||
|
||||
While running kmcompxtest extracts the 4 chars from the Filename and compares them to the actual Error found.
|
||||
|
||||
* If they correspond the test will be marked as OK. (Code 0)
|
||||
|
||||
* If the file is supposed to produce an Error and does not the test will be marked as FAILED (Code 1)
|
||||
|
||||
* If the filename is not correct the test will be marked as FAILED (Code 1)
|
||||
|
||||
* If more than 1 Error is produced only the Error coded in the Filename will be detected
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,271 @@
|
|||
c ***** This test will produce 2 Errors: ***************************
|
||||
c ***** 1) it will be marked as FAIL when run in kmcompxtest *******
|
||||
c ***** as a non-existing ErrorNr (0x00001234) is specified *****
|
||||
c ***** 2) CERR_InvalidCharacter 0x00004034 will be produced *******
|
||||
c ******************************************************************
|
||||
|
||||
store(&VERSION) '10.0'
|
||||
c ***** CERR_InvalidCharacter 0x00004034 ***************************
|
||||
store(&NAME) 'Yorùbá 8'
|
||||
store(&MESSAGE) 'A simple Unicode keyboard for Yorùbá, with the option to use either the modern dot or the traditional bar under the letters e, o, and s.'
|
||||
store(©RIGHT) '© 2012-2020 SIL International'
|
||||
c ******************************************************************
|
||||
store(&mnemoniclayout) '1'
|
||||
0024
|
||||
c store(&WINDOWSLANGUAGES) 'x046A'
|
||||
c store(&LANGUAGE) 'x046A'
|
||||
c store(ÐNOLOGUECODE) 'yor'
|
||||
|
||||
store(&BITMAP) 'sil_yoruba8.ico'
|
||||
store(&VISUALKEYBOARD) 'sil_yoruba8.kvks'
|
||||
store(&TARGETS) 'desktop'
|
||||
store(&KEYBOARDVERSION) '1.1'
|
||||
|
||||
begin Unicode > use(main)
|
||||
|
||||
group(main) using keys
|
||||
c ===========
|
||||
c ==Options==
|
||||
c ===========
|
||||
store(style) 'dot'
|
||||
if(style='dot') + [CTRL '.'] > set(style='bar')
|
||||
if(style='bar') + [CTRL '.'] > set(style='dot')
|
||||
|
||||
c ==========
|
||||
c ==Stores==
|
||||
c ==========
|
||||
c Letters
|
||||
store(base) 'a' 'e' 'i' 'o' 'u' 'A' 'E' 'I' 'O' 'U'
|
||||
store(grv) U+00E0 U+00E8 U+00EC U+00F2 U+00F9 U+00C0 U+00C8 U+00CC U+00D2 U+00D9
|
||||
store(act) U+00E1 U+00E9 U+00ED U+00F3 U+00FA U+00C1 U+00C9 U+00CD U+00D3 U+00DA
|
||||
store(crc) U+00E2 U+00EA U+00EE U+00F4 U+00FB U+00C2 U+00CA U+00CE U+00D4 U+00DB
|
||||
store(crn) U+01CE U+011B U+01D0 U+01D2 U+01D4 U+01CD U+011A U+01CF U+01D1 U+01D3
|
||||
store(mac) U+0101 U+0113 U+012B U+014D U+016B U+0100 U+0112 U+012A U+014C U+016A
|
||||
|
||||
store(grv.all) outs(base) outs(grv) outs(grv) outs(grv) outs(grv) outs(grv)
|
||||
store(act.all) outs(base) outs(act) outs(act) outs(act) outs(act) outs(act)
|
||||
store(crc.all) outs(base) outs(crc) outs(crc) outs(crc) outs(crc) outs(crc)
|
||||
store(crn.all) outs(base) outs(crn) outs(crn) outs(crn) outs(crn) outs(crn)
|
||||
store(mac.all) outs(base) outs(mac) outs(mac) outs(mac) outs(mac) outs(mac)
|
||||
|
||||
store(not.grv) outs(grv) outs(base) outs(act) outs(crc) outs(crn) outs(mac)
|
||||
store(not.act) outs(act) outs(base) outs(grv) outs(crc) outs(crn) outs(mac)
|
||||
store(not.crc) outs(crc) outs(base) outs(grv) outs(act) outs(crn) outs(mac)
|
||||
store(not.crn) outs(crn) outs(base) outs(grv) outs(act) outs(crc) outs(mac)
|
||||
store(not.mac) outs(mac) outs(base) outs(grv) outs(act) outs(crc) outs(crn)
|
||||
|
||||
store(bar) 'e' 'o' 's' 'E' 'O' 'S'
|
||||
store(v.bar) 'e' 'o' 'E' 'O'
|
||||
|
||||
store(dot) U+1EB9 U+1ECD U+1EB8 U+1ECC
|
||||
store(nsl) 'm' 'n' 'M' 'N'
|
||||
store(dot+nsl) outs(dot) outs(nsl)
|
||||
|
||||
c Accents
|
||||
store(ac.grv) U+0300
|
||||
store(ac.act) U+0301
|
||||
store(ac.crc) U+0302
|
||||
store(ac.crn) U+030C
|
||||
store(ac.mac) U+0304
|
||||
|
||||
store(ac.all) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.crn) outs(ac.mac)
|
||||
|
||||
store(ac.grv.all) nul outs(ac.grv) outs(ac.grv) outs(ac.grv) outs(ac.grv)
|
||||
store(ac.act.all) nul outs(ac.act) outs(ac.act) outs(ac.act) outs(ac.act)
|
||||
store(ac.crc.all) nul outs(ac.crc) outs(ac.crc) outs(ac.crc) outs(ac.crc)
|
||||
store(ac.crn.all) nul outs(ac.crn) outs(ac.crn) outs(ac.crn) outs(ac.crn)
|
||||
store(ac.mac.all) nul outs(ac.mac) outs(ac.mac) outs(ac.mac) outs(ac.mac)
|
||||
|
||||
store(not.ac.grv) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.crn) outs(ac.mac)
|
||||
store(not.ac.act) outs(ac.act) outs(ac.grv) outs(ac.crc) outs(ac.crn) outs(ac.mac)
|
||||
store(not.ac.crc) outs(ac.crc) outs(ac.grv) outs(ac.act) outs(ac.crn) outs(ac.mac)
|
||||
store(not.ac.crn) outs(ac.crn) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.mac)
|
||||
store(not.ac.mac) outs(ac.mac) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.crn)
|
||||
|
||||
c Keys
|
||||
store(key.grv) '['
|
||||
store(key.act) ']'
|
||||
store(key.crc) '{'
|
||||
store(key.crn) '}'
|
||||
store(key.mac) '|'
|
||||
|
||||
store(key.all) outs(key.grv) outs(key.act) outs(key.crc) outs(key.crn) outs(key.mac)
|
||||
|
||||
c ================
|
||||
c ==Basic Output==
|
||||
c ================
|
||||
c Unshifted QWERTY US
|
||||
+ '=' > '='
|
||||
+ '-' > '-'
|
||||
+ '0' > '0'
|
||||
+ '9' > '9'
|
||||
+ '8' > '8'
|
||||
+ '7' > '7'
|
||||
+ '6' > '6'
|
||||
+ '5' > '5'
|
||||
+ '4' > '4'
|
||||
+ '3' > '3'
|
||||
+ '2' > '2'
|
||||
+ '1' > '1'
|
||||
+ '`' > dk(un) c types underlying character
|
||||
dk(un) + '`' > '`'
|
||||
|
||||
+ '\' > '\'
|
||||
+ ']' > '´' c acute accent
|
||||
dk(un) + ']' > ']'
|
||||
+ '[' > '`' c grave accent
|
||||
dk(un) + '[' > '['
|
||||
+ 'p' > 'p'
|
||||
+ 'o' > 'o'
|
||||
+ 'i' > 'i'
|
||||
+ 'u' > 'u'
|
||||
+ 'y' > 'y'
|
||||
+ 't' > 't'
|
||||
+ 'r' > 'r'
|
||||
+ 'e' > 'e'
|
||||
+ 'w' > 'w'
|
||||
+ 'q' > 'gb'
|
||||
dk(un) + 'q' > 'q'
|
||||
'gb' + [K_BKSP] > nul
|
||||
|
||||
+ "'" > "'"
|
||||
+ ';' > ';'
|
||||
+ 'l' > 'l'
|
||||
+ 'k' > 'k'
|
||||
+ 'j' > 'j'
|
||||
+ 'h' > 'h'
|
||||
+ 'g' > 'g'
|
||||
+ 'f' > 'f'
|
||||
+ 'd' > 'd'
|
||||
+ 's' > 's'
|
||||
+ 'a' > 'a'
|
||||
|
||||
+ '/' > '/'
|
||||
+ '.' > '.'
|
||||
+ ',' > ','
|
||||
+ 'm' > 'm'
|
||||
+ 'n' > 'n'
|
||||
+ 'b' > 'b'
|
||||
if(style='dot') + 'v' > U+1EB9
|
||||
if(style='bar') + 'v' > U+0065 U+0329
|
||||
if(style='dot') dk(un) + 'v' > 'v'
|
||||
if(style='bar') dk(un) + 'v' > 'v'
|
||||
+ 'c' > 'c'
|
||||
if(style='dot') + 'x' > U+1ECD
|
||||
if(style='bar') + 'x' > U+006F U+0329
|
||||
if(style='dot') dk(un) + 'x' > 'x'
|
||||
if(style='bar') dk(un) + 'x' > 'x'
|
||||
if(style='dot') + 'z' > U+1E63
|
||||
if(style='bar') + 'z' > U+0073 U+0329
|
||||
if(style='dot') dk(un) + 'z' > 'z'
|
||||
if(style='bar') dk(un) + 'z' > 'z'
|
||||
|
||||
c Shifted QWERTY US
|
||||
+ '+' > '+'
|
||||
+ '_' > '_'
|
||||
+ ')' > ')'
|
||||
+ '(' > '('
|
||||
+ '*' > '*'
|
||||
+ '&' > '&'
|
||||
+ '^' > U+20A6
|
||||
dk(un) + '^' > '^'
|
||||
+ '%' > '%'
|
||||
+ '$' > '$'
|
||||
+ '#' > '#'
|
||||
+ '@' > '@'
|
||||
+ '!' > '!'
|
||||
+ '~' > '~'
|
||||
|
||||
+ '|' > U+02C9 c macron accent
|
||||
dk(un) + '|' > '|'
|
||||
+ '}' > U+02C7 c caron accent
|
||||
dk(un) + '}' > '}'
|
||||
+ '{' > U+02C6 c circumflex accent
|
||||
dk(un) + '{' > '{'
|
||||
+ 'P' > 'P'
|
||||
+ 'O' > 'O'
|
||||
+ 'I' > 'I'
|
||||
+ 'U' > 'U'
|
||||
+ 'Y' > 'Y'
|
||||
+ 'T' > 'T'
|
||||
+ 'R' > 'R'
|
||||
+ 'E' > 'E'
|
||||
+ 'W' > 'W'
|
||||
+ 'Q' > 'GB'
|
||||
dk(un) + 'Q' > 'Q'
|
||||
'GB' + [K_BKSP] > nul
|
||||
|
||||
+ '"' > '"'
|
||||
+ ':' > ':'
|
||||
+ 'L' > 'L'
|
||||
+ 'K' > 'K'
|
||||
+ 'J' > 'J'
|
||||
+ 'H' > 'H'
|
||||
+ 'G' > 'G'
|
||||
+ 'F' > 'F'
|
||||
+ 'D' > 'D'
|
||||
+ 'S' > 'S'
|
||||
+ 'A' > 'A'
|
||||
|
||||
+ '?' > '?'
|
||||
+ '>' > '>'
|
||||
+ '<' > '<'
|
||||
+ 'M' > 'M'
|
||||
+ 'N' > 'N'
|
||||
+ 'B' > 'B'
|
||||
if(style='dot') + 'V' > U+1EB8
|
||||
if(style='bar') + 'V' > U+0045 U+0329
|
||||
if(style='dot') dk(un) + 'V' > 'V'
|
||||
if(style='bar') dk(un) + 'V' > 'V
|
||||
+ 'C' > 'C'
|
||||
if(style='dot') + 'X' > U+1ECC
|
||||
if(style='bar') + 'X' > U+004F U+0329
|
||||
if(style='dot') dk(un) + 'X' > 'X'
|
||||
if(style='bar') dk(un) + 'X' > 'X
|
||||
if(style='dot') + 'Z' > U+1E62
|
||||
if(style='bar') + 'Z' > U+0053 U+0329
|
||||
if(style='dot') dk(un) + 'Z' > 'Z'
|
||||
if(style='bar') dk(un) + 'Z' > 'Z'
|
||||
|
||||
c Additional: QWERTY UK
|
||||
+ '¬' > '¬'
|
||||
+ '£' > '£'
|
||||
|
||||
c ===========
|
||||
c ==Accents==
|
||||
c ===========
|
||||
c Backspace
|
||||
any(bar) U+0329 + [K_BKSP] > nul
|
||||
any(v.bar) U+0329 any(ac.all) + [K_BKSP] > nul
|
||||
any(dot+nsl) any(ac.all) + [K_BKSP] > nul
|
||||
|
||||
c General
|
||||
any(v.bar) U+0329 + any(key.all) > index(v.bar, 1) U+0329 index(ac.all, 3)
|
||||
any(dot+nsl) + any(key.all) > index(dot+nsl, 1) index(ac.all, 2)
|
||||
|
||||
c Grave
|
||||
any(not.grv) + any(key.grv) > index(grv.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.grv) + any(key.grv) > index(v.bar, 1) U+0329 index(ac.grv.all, 3)
|
||||
any(dot+nsl) any(not.ac.grv) + any(key.grv) > index(dot+nsl, 1) index(ac.grv.all, 2)
|
||||
|
||||
c Acute
|
||||
any(not.act) + any(key.act) > index(act.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.act) + any(key.act) > index(v.bar, 1) U+0329 index(ac.act.all, 3)
|
||||
any(dot+nsl) any(not.ac.act) + any(key.act) > index(dot+nsl, 1) index(ac.act.all, 2)
|
||||
|
||||
c Circumflex
|
||||
any(not.crc) + any(key.crc) > index(crc.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.crc) + any(key.crc) > index(v.bar, 1) U+0329 index(ac.crc.all, 3)
|
||||
any(dot+nsl) any(not.ac.crc) + any(key.crc) > index(dot+nsl, 1) index(ac.crc.all, 2)
|
||||
|
||||
c Caron
|
||||
any(not.crn) + any(key.crn) > index(crn.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.crn) + any(key.crn) > index(v.bar, 1) U+0329 index(ac.crn.all, 3)
|
||||
any(dot+nsl) any(not.ac.crn) + any(key.crn) > index(dot+nsl, 1) index(ac.crn.all, 2)
|
||||
|
||||
c Macron
|
||||
any(not.mac) + any(key.mac) > index(mac.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.mac) + any(key.mac) > index(v.bar, 1) U+0329 index(ac.mac.all, 3)
|
||||
any(dot+nsl) any(not.ac.mac) + any(key.mac) > index(dot+nsl, 1) index(ac.mac.all, 2)
|
||||
|
||||
c EOF
|
||||
|
|
@ -0,0 +1,136 @@
|
|||
c ***** This test will produce 2 Errors: ***************************
|
||||
c ***** 1) it will be marked as FAIL when run in kmcompxtest *******
|
||||
c ***** as a non-existing ErrorNr (0x00040133) is specified *****
|
||||
c ***** 2) CERR_InvalidStoreLine 0x00004013 will be produced *******
|
||||
c ******************************************************************
|
||||
|
||||
c ***** CERR_InvalidStoreLine 0x00004013 ***************************
|
||||
store(&VERSION '10.0'
|
||||
c ******************************************************************
|
||||
store(&NAME) 'Balochi Phonetic'
|
||||
store(&TARGETS) 'any'
|
||||
store(&KMW_RTL) '1'
|
||||
store(&LAYOUTFILE) 'balochi_phonetic.keyman-touch-layout'
|
||||
store(&KEYBOARDVERSION) '1.4.2'
|
||||
store(©RIGHT) '© 2017-2021 SIL International'
|
||||
store(&MESSAGE) 'The Balochi Phonetic keyboard is distributed under The MIT License (MIT).'
|
||||
store(&KMW_HELPTEXT) 'This is a phonetically organized Balochi keyboard.'
|
||||
store(&VISUALKEYBOARD) 'balochi_phonetic.kvks'
|
||||
store(&BITMAP) 'CERR__balochi_phonetic.ico'
|
||||
|
||||
begin Unicode > use(main)
|
||||
|
||||
group(main) using keys
|
||||
+ [CTRL B08] > ''
|
||||
+ [CTRL B09] > ''
|
||||
+ [CTRL B10] > '–'
|
||||
+ [SHIFT CTRL E11] > '“'
|
||||
+ [SHIFT CTRL E12] > '”'
|
||||
+ [CTRL E11] > '‘'
|
||||
+ [CTRL E12] > '’'
|
||||
+ [CTRL K_K] > 'ء'
|
||||
+ [CTRL K_D] > 'ذ'
|
||||
+ [K_EQUAL] > '='
|
||||
+ [SHIFT K_8] > '*'
|
||||
+ [SHIFT K_7] > '&'
|
||||
+ [SHIFT K_5] > '%'
|
||||
+ [SHIFT K_4] > '$'
|
||||
+ [SHIFT K_3] > '#'
|
||||
+ [SHIFT K_2] > '@'
|
||||
+ [SHIFT K_1] > '!'
|
||||
+ [SHIFT K_N] > 'ں'
|
||||
+ [K_BKSLASH] > '۔'
|
||||
+ [K_LBRKT] > ']'
|
||||
+ [K_RBRKT] > '['
|
||||
+ [K_F] > 'َ'
|
||||
+ [K_V] > 'ِ'
|
||||
+ [K_X] > 'ش'
|
||||
+ [SHIFT K_H] > 'ح'
|
||||
+ [SHIFT K_G] > 'ص'
|
||||
+ [SHIFT K_Y] > 'ي'
|
||||
+ [CTRL K_0] > '۰'
|
||||
+ [CTRL K_9] > '۹'
|
||||
+ [CTRL K_8] > '۸'
|
||||
+ [CTRL K_7] > '۷'
|
||||
+ [CTRL K_6] > '۶'
|
||||
+ [CTRL K_5] > '۵'
|
||||
+ [CTRL K_4] > '۴'
|
||||
+ [CTRL K_3] > '۳'
|
||||
+ [CTRL K_2] > '۲'
|
||||
+ [CTRL K_1] > '۱'
|
||||
+ [K_SLASH] > '/'
|
||||
+ [K_HYPHEN] > '-'
|
||||
+ [SHIFT K_COLON] > ':'
|
||||
+ [SHIFT K_QUOTE] > '"'
|
||||
+ [K_QUOTE] > U+0027
|
||||
+ [K_O] > 'ُ'
|
||||
+ [SHIFT K_O] > 'ْ'
|
||||
+ [K_BKQUOTE] > 'ء'
|
||||
+ [SHIFT K_W] > 'أ'
|
||||
+ [SHIFT K_P] > 'ّ'
|
||||
+ [SHIFT K_BKQUOTE] > 'ٔ'
|
||||
+ [SHIFT K_J] > 'ض'
|
||||
+ [SHIFT K_9] > ')'
|
||||
+ [SHIFT K_RBRKT] > '{'
|
||||
+ [SHIFT K_LBRKT] > '}'
|
||||
+ [SHIFT K_0] > '('
|
||||
+ [SHIFT K_SLASH] > '؟'
|
||||
+ [SHIFT K_K] > 'ع'
|
||||
+ [SHIFT K_EQUAL] > '«'
|
||||
+ [SHIFT K_HYPHEN] > '»'
|
||||
+ [SHIFT K_I] > 'ً'
|
||||
|
||||
+ [SHIFT K_PERIOD] > '‹'
|
||||
+ [SHIFT K_COMMA] > '›'
|
||||
+ [SHIFT K_L] > 'ـ'
|
||||
+ [SHIFT K_U] > 'ۀ'
|
||||
+ [SHIFT K_B] > 'ة'
|
||||
+ [SHIFT K_M] > 'غ'
|
||||
+ [SHIFT K_F] > 'ف'
|
||||
+ [SHIFT K_E] > 'ۓ'
|
||||
+ [SHIFT K_Q] > 'ق'
|
||||
+ [K_0] > '0'
|
||||
+ [K_9] > '9'
|
||||
+ [K_8] > '8'
|
||||
+ [K_7] > '7'
|
||||
+ [K_6] > '6'
|
||||
+ [K_5] > '5'
|
||||
+ [K_4] > '4'
|
||||
+ [K_3] > '3'
|
||||
+ [K_2] > '2'
|
||||
+ [K_1] > '1'
|
||||
+ [K_I] > 'ێ'
|
||||
+ [SHIFT K_D] > 'ڈ'
|
||||
+ [K_G] > 'گ'
|
||||
+ [K_U] > 'ۆ'
|
||||
+ [SHIFT K_R] > 'ڑ'
|
||||
+ [SHIFT K_6] > ''
|
||||
+ [SHIFT K_T] > 'ٹ'
|
||||
+ [SHIFT K_V] > 'ظ'
|
||||
+ [SHIFT K_C] > 'ط'
|
||||
+ [SHIFT K_X] > 'خ'
|
||||
+ [SHIFT K_Z] > 'ژ'
|
||||
+ [SHIFT K_S] > 'ث'
|
||||
+ [SHIFT K_A] > 'آ'
|
||||
+ [K_PERIOD] > '.'
|
||||
+ [K_COMMA] > '،'
|
||||
+ [K_M] > 'م'
|
||||
+ [K_N] > 'ن'
|
||||
+ [K_B] > 'ب'
|
||||
+ [K_C] > 'چ'
|
||||
+ [K_Z] > 'ز'
|
||||
+ [K_P] > 'پ'
|
||||
+ [K_Y] > 'ی'
|
||||
+ [K_T] > 'ت'
|
||||
+ [K_R] > 'ر'
|
||||
+ [K_E] > 'ے'
|
||||
+ [K_W] > 'و'
|
||||
+ [K_Q] > 'ئ'
|
||||
+ [K_COLON] > '؛'
|
||||
+ [K_L] > 'ل'
|
||||
+ [K_K] > 'ک'
|
||||
+ [K_J] > 'ج'
|
||||
+ [K_H] > 'ه'
|
||||
+ [K_D] > 'د'
|
||||
+ [K_S] > 'س'
|
||||
+ [K_A] > 'ا'
|
||||
|
|
@ -8,7 +8,7 @@ store(©RIGHT) '© 2017-2021 SIL International'
|
|||
store(&MESSAGE) 'The Balochi Phonetic keyboard is distributed under The MIT License (MIT).'
|
||||
store(&KMW_HELPTEXT) 'This is a phonetically organized Balochi keyboard.'
|
||||
store(&VISUALKEYBOARD) 'balochi_phonetic.kvks'
|
||||
store(&BITMAP) 'CERR__balochi_phonetic.ico'
|
||||
store(&BITMAP) 'CERR__balochi_phonetic.bmp'
|
||||
|
||||
begin Unicode > use(main)
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,271 @@
|
|||
c ***** This test will produce 2 Errors: ***************************
|
||||
c ***** 1) it will be marked as FAIL when run in kmcompxtest *******
|
||||
c ***** as the specified ErrorNr (0x0000402D) is not thrown *****
|
||||
c ***** 2) CERR_InvalidCharacter 0x00004034 will be produced *******
|
||||
c ******************************************************************
|
||||
|
||||
store(&VERSION) '10.0'
|
||||
c ***** CERR_InvalidCharacter 0x00004034 ***************************
|
||||
store(&NAME) 'Yorùbá 8'
|
||||
store(&MESSAGE) 'A simple Unicode keyboard for Yorùbá, with the option to use either the modern dot or the traditional bar under the letters e, o, and s.'
|
||||
store(©RIGHT) '© 2012-2020 SIL International'
|
||||
c ******************************************************************
|
||||
store(&mnemoniclayout) '1'
|
||||
0024
|
||||
c store(&WINDOWSLANGUAGES) 'x046A'
|
||||
c store(&LANGUAGE) 'x046A'
|
||||
c store(ÐNOLOGUECODE) 'yor'
|
||||
|
||||
store(&BITMAP) 'sil_yoruba8.ico'
|
||||
store(&VISUALKEYBOARD) 'sil_yoruba8.kvks'
|
||||
store(&TARGETS) 'desktop'
|
||||
store(&KEYBOARDVERSION) '1.1'
|
||||
|
||||
begin Unicode > use(main)
|
||||
|
||||
group(main) using keys
|
||||
c ===========
|
||||
c ==Options==
|
||||
c ===========
|
||||
store(style) 'dot'
|
||||
if(style='dot') + [CTRL '.'] > set(style='bar')
|
||||
if(style='bar') + [CTRL '.'] > set(style='dot')
|
||||
|
||||
c ==========
|
||||
c ==Stores==
|
||||
c ==========
|
||||
c Letters
|
||||
store(base) 'a' 'e' 'i' 'o' 'u' 'A' 'E' 'I' 'O' 'U'
|
||||
store(grv) U+00E0 U+00E8 U+00EC U+00F2 U+00F9 U+00C0 U+00C8 U+00CC U+00D2 U+00D9
|
||||
store(act) U+00E1 U+00E9 U+00ED U+00F3 U+00FA U+00C1 U+00C9 U+00CD U+00D3 U+00DA
|
||||
store(crc) U+00E2 U+00EA U+00EE U+00F4 U+00FB U+00C2 U+00CA U+00CE U+00D4 U+00DB
|
||||
store(crn) U+01CE U+011B U+01D0 U+01D2 U+01D4 U+01CD U+011A U+01CF U+01D1 U+01D3
|
||||
store(mac) U+0101 U+0113 U+012B U+014D U+016B U+0100 U+0112 U+012A U+014C U+016A
|
||||
|
||||
store(grv.all) outs(base) outs(grv) outs(grv) outs(grv) outs(grv) outs(grv)
|
||||
store(act.all) outs(base) outs(act) outs(act) outs(act) outs(act) outs(act)
|
||||
store(crc.all) outs(base) outs(crc) outs(crc) outs(crc) outs(crc) outs(crc)
|
||||
store(crn.all) outs(base) outs(crn) outs(crn) outs(crn) outs(crn) outs(crn)
|
||||
store(mac.all) outs(base) outs(mac) outs(mac) outs(mac) outs(mac) outs(mac)
|
||||
|
||||
store(not.grv) outs(grv) outs(base) outs(act) outs(crc) outs(crn) outs(mac)
|
||||
store(not.act) outs(act) outs(base) outs(grv) outs(crc) outs(crn) outs(mac)
|
||||
store(not.crc) outs(crc) outs(base) outs(grv) outs(act) outs(crn) outs(mac)
|
||||
store(not.crn) outs(crn) outs(base) outs(grv) outs(act) outs(crc) outs(mac)
|
||||
store(not.mac) outs(mac) outs(base) outs(grv) outs(act) outs(crc) outs(crn)
|
||||
|
||||
store(bar) 'e' 'o' 's' 'E' 'O' 'S'
|
||||
store(v.bar) 'e' 'o' 'E' 'O'
|
||||
|
||||
store(dot) U+1EB9 U+1ECD U+1EB8 U+1ECC
|
||||
store(nsl) 'm' 'n' 'M' 'N'
|
||||
store(dot+nsl) outs(dot) outs(nsl)
|
||||
|
||||
c Accents
|
||||
store(ac.grv) U+0300
|
||||
store(ac.act) U+0301
|
||||
store(ac.crc) U+0302
|
||||
store(ac.crn) U+030C
|
||||
store(ac.mac) U+0304
|
||||
|
||||
store(ac.all) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.crn) outs(ac.mac)
|
||||
|
||||
store(ac.grv.all) nul outs(ac.grv) outs(ac.grv) outs(ac.grv) outs(ac.grv)
|
||||
store(ac.act.all) nul outs(ac.act) outs(ac.act) outs(ac.act) outs(ac.act)
|
||||
store(ac.crc.all) nul outs(ac.crc) outs(ac.crc) outs(ac.crc) outs(ac.crc)
|
||||
store(ac.crn.all) nul outs(ac.crn) outs(ac.crn) outs(ac.crn) outs(ac.crn)
|
||||
store(ac.mac.all) nul outs(ac.mac) outs(ac.mac) outs(ac.mac) outs(ac.mac)
|
||||
|
||||
store(not.ac.grv) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.crn) outs(ac.mac)
|
||||
store(not.ac.act) outs(ac.act) outs(ac.grv) outs(ac.crc) outs(ac.crn) outs(ac.mac)
|
||||
store(not.ac.crc) outs(ac.crc) outs(ac.grv) outs(ac.act) outs(ac.crn) outs(ac.mac)
|
||||
store(not.ac.crn) outs(ac.crn) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.mac)
|
||||
store(not.ac.mac) outs(ac.mac) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.crn)
|
||||
|
||||
c Keys
|
||||
store(key.grv) '['
|
||||
store(key.act) ']'
|
||||
store(key.crc) '{'
|
||||
store(key.crn) '}'
|
||||
store(key.mac) '|'
|
||||
|
||||
store(key.all) outs(key.grv) outs(key.act) outs(key.crc) outs(key.crn) outs(key.mac)
|
||||
|
||||
c ================
|
||||
c ==Basic Output==
|
||||
c ================
|
||||
c Unshifted QWERTY US
|
||||
+ '=' > '='
|
||||
+ '-' > '-'
|
||||
+ '0' > '0'
|
||||
+ '9' > '9'
|
||||
+ '8' > '8'
|
||||
+ '7' > '7'
|
||||
+ '6' > '6'
|
||||
+ '5' > '5'
|
||||
+ '4' > '4'
|
||||
+ '3' > '3'
|
||||
+ '2' > '2'
|
||||
+ '1' > '1'
|
||||
+ '`' > dk(un) c types underlying character
|
||||
dk(un) + '`' > '`'
|
||||
|
||||
+ '\' > '\'
|
||||
+ ']' > '´' c acute accent
|
||||
dk(un) + ']' > ']'
|
||||
+ '[' > '`' c grave accent
|
||||
dk(un) + '[' > '['
|
||||
+ 'p' > 'p'
|
||||
+ 'o' > 'o'
|
||||
+ 'i' > 'i'
|
||||
+ 'u' > 'u'
|
||||
+ 'y' > 'y'
|
||||
+ 't' > 't'
|
||||
+ 'r' > 'r'
|
||||
+ 'e' > 'e'
|
||||
+ 'w' > 'w'
|
||||
+ 'q' > 'gb'
|
||||
dk(un) + 'q' > 'q'
|
||||
'gb' + [K_BKSP] > nul
|
||||
|
||||
+ "'" > "'"
|
||||
+ ';' > ';'
|
||||
+ 'l' > 'l'
|
||||
+ 'k' > 'k'
|
||||
+ 'j' > 'j'
|
||||
+ 'h' > 'h'
|
||||
+ 'g' > 'g'
|
||||
+ 'f' > 'f'
|
||||
+ 'd' > 'd'
|
||||
+ 's' > 's'
|
||||
+ 'a' > 'a'
|
||||
|
||||
+ '/' > '/'
|
||||
+ '.' > '.'
|
||||
+ ',' > ','
|
||||
+ 'm' > 'm'
|
||||
+ 'n' > 'n'
|
||||
+ 'b' > 'b'
|
||||
if(style='dot') + 'v' > U+1EB9
|
||||
if(style='bar') + 'v' > U+0065 U+0329
|
||||
if(style='dot') dk(un) + 'v' > 'v'
|
||||
if(style='bar') dk(un) + 'v' > 'v'
|
||||
+ 'c' > 'c'
|
||||
if(style='dot') + 'x' > U+1ECD
|
||||
if(style='bar') + 'x' > U+006F U+0329
|
||||
if(style='dot') dk(un) + 'x' > 'x'
|
||||
if(style='bar') dk(un) + 'x' > 'x'
|
||||
if(style='dot') + 'z' > U+1E63
|
||||
if(style='bar') + 'z' > U+0073 U+0329
|
||||
if(style='dot') dk(un) + 'z' > 'z'
|
||||
if(style='bar') dk(un) + 'z' > 'z'
|
||||
|
||||
c Shifted QWERTY US
|
||||
+ '+' > '+'
|
||||
+ '_' > '_'
|
||||
+ ')' > ')'
|
||||
+ '(' > '('
|
||||
+ '*' > '*'
|
||||
+ '&' > '&'
|
||||
+ '^' > U+20A6
|
||||
dk(un) + '^' > '^'
|
||||
+ '%' > '%'
|
||||
+ '$' > '$'
|
||||
+ '#' > '#'
|
||||
+ '@' > '@'
|
||||
+ '!' > '!'
|
||||
+ '~' > '~'
|
||||
|
||||
+ '|' > U+02C9 c macron accent
|
||||
dk(un) + '|' > '|'
|
||||
+ '}' > U+02C7 c caron accent
|
||||
dk(un) + '}' > '}'
|
||||
+ '{' > U+02C6 c circumflex accent
|
||||
dk(un) + '{' > '{'
|
||||
+ 'P' > 'P'
|
||||
+ 'O' > 'O'
|
||||
+ 'I' > 'I'
|
||||
+ 'U' > 'U'
|
||||
+ 'Y' > 'Y'
|
||||
+ 'T' > 'T'
|
||||
+ 'R' > 'R'
|
||||
+ 'E' > 'E'
|
||||
+ 'W' > 'W'
|
||||
+ 'Q' > 'GB'
|
||||
dk(un) + 'Q' > 'Q'
|
||||
'GB' + [K_BKSP] > nul
|
||||
|
||||
+ '"' > '"'
|
||||
+ ':' > ':'
|
||||
+ 'L' > 'L'
|
||||
+ 'K' > 'K'
|
||||
+ 'J' > 'J'
|
||||
+ 'H' > 'H'
|
||||
+ 'G' > 'G'
|
||||
+ 'F' > 'F'
|
||||
+ 'D' > 'D'
|
||||
+ 'S' > 'S'
|
||||
+ 'A' > 'A'
|
||||
|
||||
+ '?' > '?'
|
||||
+ '>' > '>'
|
||||
+ '<' > '<'
|
||||
+ 'M' > 'M'
|
||||
+ 'N' > 'N'
|
||||
+ 'B' > 'B'
|
||||
if(style='dot') + 'V' > U+1EB8
|
||||
if(style='bar') + 'V' > U+0045 U+0329
|
||||
if(style='dot') dk(un) + 'V' > 'V'
|
||||
if(style='bar') dk(un) + 'V' > 'V
|
||||
+ 'C' > 'C'
|
||||
if(style='dot') + 'X' > U+1ECC
|
||||
if(style='bar') + 'X' > U+004F U+0329
|
||||
if(style='dot') dk(un) + 'X' > 'X'
|
||||
if(style='bar') dk(un) + 'X' > 'X
|
||||
if(style='dot') + 'Z' > U+1E62
|
||||
if(style='bar') + 'Z' > U+0053 U+0329
|
||||
if(style='dot') dk(un) + 'Z' > 'Z'
|
||||
if(style='bar') dk(un) + 'Z' > 'Z'
|
||||
|
||||
c Additional: QWERTY UK
|
||||
+ '¬' > '¬'
|
||||
+ '£' > '£'
|
||||
|
||||
c ===========
|
||||
c ==Accents==
|
||||
c ===========
|
||||
c Backspace
|
||||
any(bar) U+0329 + [K_BKSP] > nul
|
||||
any(v.bar) U+0329 any(ac.all) + [K_BKSP] > nul
|
||||
any(dot+nsl) any(ac.all) + [K_BKSP] > nul
|
||||
|
||||
c General
|
||||
any(v.bar) U+0329 + any(key.all) > index(v.bar, 1) U+0329 index(ac.all, 3)
|
||||
any(dot+nsl) + any(key.all) > index(dot+nsl, 1) index(ac.all, 2)
|
||||
|
||||
c Grave
|
||||
any(not.grv) + any(key.grv) > index(grv.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.grv) + any(key.grv) > index(v.bar, 1) U+0329 index(ac.grv.all, 3)
|
||||
any(dot+nsl) any(not.ac.grv) + any(key.grv) > index(dot+nsl, 1) index(ac.grv.all, 2)
|
||||
|
||||
c Acute
|
||||
any(not.act) + any(key.act) > index(act.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.act) + any(key.act) > index(v.bar, 1) U+0329 index(ac.act.all, 3)
|
||||
any(dot+nsl) any(not.ac.act) + any(key.act) > index(dot+nsl, 1) index(ac.act.all, 2)
|
||||
|
||||
c Circumflex
|
||||
any(not.crc) + any(key.crc) > index(crc.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.crc) + any(key.crc) > index(v.bar, 1) U+0329 index(ac.crc.all, 3)
|
||||
any(dot+nsl) any(not.ac.crc) + any(key.crc) > index(dot+nsl, 1) index(ac.crc.all, 2)
|
||||
|
||||
c Caron
|
||||
any(not.crn) + any(key.crn) > index(crn.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.crn) + any(key.crn) > index(v.bar, 1) U+0329 index(ac.crn.all, 3)
|
||||
any(dot+nsl) any(not.ac.crn) + any(key.crn) > index(dot+nsl, 1) index(ac.crn.all, 2)
|
||||
|
||||
c Macron
|
||||
any(not.mac) + any(key.mac) > index(mac.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.mac) + any(key.mac) > index(v.bar, 1) U+0329 index(ac.mac.all, 3)
|
||||
any(dot+nsl) any(not.ac.mac) + any(key.mac) > index(dot+nsl, 1) index(ac.mac.all, 2)
|
||||
|
||||
c EOF
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
store(&VERSION) '10.0'
|
||||
store(&NAME) 'Balochi Phonetic'
|
||||
store(&TARGETS) 'any'
|
||||
store(&KMW_RTL) '1'
|
||||
store(&LAYOUTFILE) 'balochi_phonetic.keyman-touch-layout'
|
||||
store(&KEYBOARDVERSION) '1.4.2'
|
||||
c ***** CERR_InvalidCharacter 0x00004034 ***************************
|
||||
store(©RIGHT) '<27> 2012 U+1234 -2020 SIL International'
|
||||
c ******************************************************************
|
||||
store(&MESSAGE) 'The Balochi Phonetic keyboard is distributed under The MIT License (MIT).'
|
||||
store(&KMW_HELPTEXT) 'This is a phonetically organized Balochi keyboard.'
|
||||
store(&VISUALKEYBOARD) 'balochi_phonetic.kvks'
|
||||
store(&BITMAP) 'CERR__balochi_phonetic.ico'
|
||||
|
||||
begin Unicode > use(main)
|
||||
|
||||
group(main) using keys
|
||||
+ [CTRL B08] > ''
|
||||
+ [CTRL B09] > ''
|
||||
+ [CTRL B10] > '–'
|
||||
+ [SHIFT CTRL E11] > '“'
|
||||
+ [SHIFT CTRL E12] > '”'
|
||||
+ [CTRL E11] > '‘'
|
||||
+ [CTRL E12] > '’'
|
||||
+ [CTRL K_K] > 'ء'
|
||||
+ [CTRL K_D] > 'ذ'
|
||||
+ [K_EQUAL] > '='
|
||||
+ [SHIFT K_8] > '*'
|
||||
+ [SHIFT K_7] > '&'
|
||||
+ [SHIFT K_5] > '%'
|
||||
+ [SHIFT K_4] > '$'
|
||||
+ [SHIFT K_3] > '#'
|
||||
+ [SHIFT K_2] > '@'
|
||||
+ [SHIFT K_1] > '!'
|
||||
+ [SHIFT K_N] > 'ں'
|
||||
+ [K_BKSLASH] > '۔'
|
||||
+ [K_LBRKT] > ']'
|
||||
+ [K_RBRKT] > '['
|
||||
+ [K_F] > 'َ'
|
||||
+ [K_V] > 'ِ'
|
||||
+ [K_X] > 'ش'
|
||||
+ [SHIFT K_H] > 'ح'
|
||||
+ [SHIFT K_G] > 'ص'
|
||||
+ [SHIFT K_Y] > 'ي'
|
||||
+ [CTRL K_0] > '۰'
|
||||
+ [CTRL K_9] > '۹'
|
||||
+ [CTRL K_8] > '۸'
|
||||
+ [CTRL K_7] > '۷'
|
||||
+ [CTRL K_6] > '۶'
|
||||
+ [CTRL K_5] > '۵'
|
||||
+ [CTRL K_4] > '۴'
|
||||
+ [CTRL K_3] > '۳'
|
||||
+ [CTRL K_2] > '۲'
|
||||
+ [CTRL K_1] > '۱'
|
||||
+ [K_SLASH] > '/'
|
||||
+ [K_HYPHEN] > '-'
|
||||
+ [SHIFT K_COLON] > ':'
|
||||
+ [SHIFT K_QUOTE] > '"'
|
||||
+ [K_QUOTE] > U+0027
|
||||
+ [K_O] > 'ُ'
|
||||
+ [SHIFT K_O] > 'ْ'
|
||||
+ [K_BKQUOTE] > 'ء'
|
||||
+ [SHIFT K_W] > 'أ'
|
||||
+ [SHIFT K_P] > 'ّ'
|
||||
+ [SHIFT K_BKQUOTE] > 'ٔ'
|
||||
+ [SHIFT K_J] > 'ض'
|
||||
+ [SHIFT K_9] > ')'
|
||||
+ [SHIFT K_RBRKT] > '{'
|
||||
+ [SHIFT K_LBRKT] > '}'
|
||||
+ [SHIFT K_0] > '('
|
||||
+ [SHIFT K_SLASH] > '؟'
|
||||
+ [SHIFT K_K] > 'ع'
|
||||
+ [SHIFT K_EQUAL] > '«'
|
||||
+ [SHIFT K_HYPHEN] > '»'
|
||||
+ [SHIFT K_I] > 'ً'
|
||||
|
||||
+ [SHIFT K_PERIOD] > '‹'
|
||||
+ [SHIFT K_COMMA] > '›'
|
||||
+ [SHIFT K_L] > 'ـ'
|
||||
+ [SHIFT K_U] > 'ۀ'
|
||||
+ [SHIFT K_B] > 'ة'
|
||||
+ [SHIFT K_M] > 'غ'
|
||||
+ [SHIFT K_F] > 'ف'
|
||||
+ [SHIFT K_E] > 'ۓ'
|
||||
+ [SHIFT K_Q] > 'ق'
|
||||
+ [K_0] > '0'
|
||||
+ [K_9] > '9'
|
||||
+ [K_8] > '8'
|
||||
+ [K_7] > '7'
|
||||
+ [K_6] > '6'
|
||||
+ [K_5] > '5'
|
||||
+ [K_4] > '4'
|
||||
+ [K_3] > '3'
|
||||
+ [K_2] > '2'
|
||||
+ [K_1] > '1'
|
||||
+ [K_I] > 'ێ'
|
||||
+ [SHIFT K_D] > 'ڈ'
|
||||
+ [K_G] > 'گ'
|
||||
+ [K_U] > 'ۆ'
|
||||
+ [SHIFT K_R] > 'ڑ'
|
||||
+ [SHIFT K_6] > ''
|
||||
+ [SHIFT K_T] > 'ٹ'
|
||||
+ [SHIFT K_V] > 'ظ'
|
||||
+ [SHIFT K_C] > 'ط'
|
||||
+ [SHIFT K_X] > 'خ'
|
||||
+ [SHIFT K_Z] > 'ژ'
|
||||
+ [SHIFT K_S] > 'ث'
|
||||
+ [SHIFT K_A] > 'آ'
|
||||
+ [K_PERIOD] > '.'
|
||||
+ [K_COMMA] > '،'
|
||||
+ [K_M] > 'م'
|
||||
+ [K_N] > 'ن'
|
||||
+ [K_B] > 'ب'
|
||||
+ [K_C] > 'چ'
|
||||
+ [K_Z] > 'ز'
|
||||
+ [K_P] > 'پ'
|
||||
+ [K_Y] > 'ی'
|
||||
+ [K_T] > 'ت'
|
||||
+ [K_R] > 'ر'
|
||||
+ [K_E] > 'ے'
|
||||
+ [K_W] > 'و'
|
||||
+ [K_Q] > 'ئ'
|
||||
+ [K_COLON] > '؛'
|
||||
+ [K_L] > 'ل'
|
||||
+ [K_K] > 'ک'
|
||||
+ [K_J] > 'ج'
|
||||
+ [K_H] > 'ه'
|
||||
+ [K_D] > 'د'
|
||||
+ [K_S] > 'س'
|
||||
+ [K_A] > 'ا'
|
||||
|
|
@ -0,0 +1,133 @@
|
|||
c ***** This test will produce 1 Error: ****************************
|
||||
c ***** It will be marked as FAIL when run in kmcompxtest **********
|
||||
c ***** as a non-existing ErrorNr (0x00001234) is specified *****
|
||||
c ***** 2) CERR_InvalidCharacter 0x00004034 will be produced *******
|
||||
c ******************************************************************
|
||||
store(&VERSION) '10.0'
|
||||
store(&NAME) 'Balochi Phonetic'
|
||||
store(&TARGETS) 'any'
|
||||
store(&KMW_RTL) '1'
|
||||
store(&LAYOUTFILE) 'balochi_phonetic.keyman-touch-layout'
|
||||
store(&KEYBOARDVERSION) '1.5'
|
||||
store(©RIGHT) '© SIL International'
|
||||
store(&MESSAGE) 'The Balochi Phonetic keyboard is distributed under The MIT License (MIT).'
|
||||
store(&KMW_HELPTEXT) 'This is a phonetically organized Balochi keyboard.'
|
||||
store(&VISUALKEYBOARD) 'balochi_phonetic.kvks'
|
||||
store(&BITMAP) 'balochi__phonetic.ico'
|
||||
|
||||
begin Unicode > use(main)
|
||||
|
||||
group(main) using keys
|
||||
+ [CTRL B08] > ''
|
||||
+ [CTRL B09] > ''
|
||||
+ [CTRL B10] > '–'
|
||||
+ [SHIFT CTRL E11] > '“'
|
||||
+ [SHIFT CTRL E12] > '”'
|
||||
+ [CTRL E11] > '‘'
|
||||
+ [CTRL E12] > '’'
|
||||
+ [CTRL K_K] > 'ء'
|
||||
+ [CTRL K_D] > 'ذ'
|
||||
+ [K_EQUAL] > '='
|
||||
+ [SHIFT K_8] > '*'
|
||||
+ [SHIFT K_7] > '&'
|
||||
+ [SHIFT K_5] > '%'
|
||||
+ [SHIFT K_4] > '$'
|
||||
+ [SHIFT K_3] > '#'
|
||||
+ [SHIFT K_2] > '@'
|
||||
+ [SHIFT K_1] > '!'
|
||||
+ [SHIFT K_N] > 'ں'
|
||||
+ [K_BKSLASH] > '۔'
|
||||
+ [K_LBRKT] > ']'
|
||||
+ [K_RBRKT] > '['
|
||||
+ [K_F] > 'َ'
|
||||
+ [K_V] > 'ِ'
|
||||
+ [K_X] > 'ش'
|
||||
+ [SHIFT K_H] > 'ح'
|
||||
+ [SHIFT K_G] > 'ص'
|
||||
+ [SHIFT K_Y] > 'ي'
|
||||
+ [CTRL K_0] > '۰'
|
||||
+ [CTRL K_9] > '۹'
|
||||
+ [CTRL K_8] > '۸'
|
||||
+ [CTRL K_7] > '۷'
|
||||
+ [CTRL K_6] > '۶'
|
||||
+ [CTRL K_5] > '۵'
|
||||
+ [CTRL K_4] > '۴'
|
||||
+ [CTRL K_3] > '۳'
|
||||
+ [CTRL K_2] > '۲'
|
||||
+ [CTRL K_1] > '۱'
|
||||
+ [K_SLASH] > '/'
|
||||
+ [K_HYPHEN] > '-'
|
||||
+ [SHIFT K_COLON] > ':'
|
||||
+ [SHIFT K_QUOTE] > '"'
|
||||
+ [K_QUOTE] > U+0027
|
||||
+ [K_O] > 'ُ'
|
||||
+ [SHIFT K_O] > 'ْ'
|
||||
+ [K_BKQUOTE] > 'ء'
|
||||
+ [SHIFT K_W] > 'أ'
|
||||
+ [SHIFT K_P] > 'ّ'
|
||||
+ [SHIFT K_BKQUOTE] > 'ٔ'
|
||||
+ [SHIFT K_J] > 'ض'
|
||||
+ [SHIFT K_9] > ')'
|
||||
+ [SHIFT K_RBRKT] > '{'
|
||||
+ [SHIFT K_LBRKT] > '}'
|
||||
+ [SHIFT K_0] > '('
|
||||
+ [SHIFT K_SLASH] > '؟'
|
||||
+ [SHIFT K_K] > 'ع'
|
||||
+ [SHIFT K_EQUAL] > '«'
|
||||
+ [SHIFT K_HYPHEN] > '»'
|
||||
+ [SHIFT K_I] > 'ً'
|
||||
|
||||
+ [SHIFT K_PERIOD] > '‹'
|
||||
+ [SHIFT K_COMMA] > '›'
|
||||
+ [SHIFT K_L] > 'ـ'
|
||||
+ [SHIFT K_U] > 'ۀ'
|
||||
+ [SHIFT K_B] > 'ة'
|
||||
+ [SHIFT K_M] > 'غ'
|
||||
+ [SHIFT K_F] > 'ف'
|
||||
+ [SHIFT K_E] > 'ۓ'
|
||||
+ [SHIFT K_Q] > 'ق'
|
||||
+ [K_0] > '0'
|
||||
+ [K_9] > '9'
|
||||
+ [K_8] > '8'
|
||||
+ [K_7] > '7'
|
||||
+ [K_6] > '6'
|
||||
+ [K_5] > '5'
|
||||
+ [K_4] > '4'
|
||||
+ [K_3] > '3'
|
||||
+ [K_2] > '2'
|
||||
+ [K_1] > '1'
|
||||
+ [K_I] > 'ێ'
|
||||
+ [SHIFT K_D] > 'ڈ'
|
||||
+ [K_G] > 'گ'
|
||||
+ [K_U] > 'ۆ'
|
||||
+ [SHIFT K_R] > 'ڑ'
|
||||
+ [SHIFT K_6] > ''
|
||||
+ [SHIFT K_T] > 'ٹ'
|
||||
+ [SHIFT K_V] > 'ظ'
|
||||
+ [SHIFT K_C] > 'ط'
|
||||
+ [SHIFT K_X] > 'خ'
|
||||
+ [SHIFT K_Z] > 'ژ'
|
||||
+ [SHIFT K_S] > 'ث'
|
||||
+ [SHIFT K_A] > 'آ'
|
||||
+ [K_PERIOD] > '.'
|
||||
+ [K_COMMA] > '،'
|
||||
+ [K_M] > 'م'
|
||||
+ [K_N] > 'ن'
|
||||
+ [K_B] > 'ب'
|
||||
+ [K_C] > 'چ'
|
||||
+ [K_Z] > 'ز'
|
||||
+ [K_P] > 'پ'
|
||||
+ [K_Y] > 'ی'
|
||||
+ [K_T] > 'ت'
|
||||
+ [K_R] > 'ر'
|
||||
+ [K_E] > 'ے'
|
||||
+ [K_W] > 'و'
|
||||
+ [K_Q] > 'ئ'
|
||||
+ [K_COLON] > '؛'
|
||||
+ [K_L] > 'ل'
|
||||
+ [K_K] > 'ک'
|
||||
+ [K_J] > 'ج'
|
||||
+ [K_H] > 'ه'
|
||||
+ [K_D] > 'د'
|
||||
+ [K_S] > 'س'
|
||||
+ [K_A] > 'ا'
|
||||
|
|
@ -0,0 +1,272 @@
|
|||
c ***** This test will produce 2 Errors: ***************************
|
||||
c ***** 1) it will be marked as FAIL when run in kmcompxtest *******
|
||||
c ***** as it does not specify an Error + Nr ( no CERR_xxxx) ****
|
||||
c ***** 2) CERR_InvalidCharacter 0x00004034 will be produced *******
|
||||
c ******************************************************************
|
||||
|
||||
store(&VERSION) '10.0'
|
||||
c ***** CERR_InvalidCharacter 0x00004034 ***************************
|
||||
store(&NAME) 'Yorùbá 8'
|
||||
store(&MESSAGE) 'A simple Unicode keyboard for Yorùbá, with the option to use either the modern dot or the traditional bar under the letters e, o, and s.'
|
||||
store(©RIGHT) '© 2012-2020 SIL International'
|
||||
c ******************************************************************
|
||||
|
||||
store(&mnemoniclayout) '1'
|
||||
|
||||
c store(&WINDOWSLANGUAGES) 'x046A'
|
||||
c store(&LANGUAGE) 'x046A'
|
||||
c store(ÐNOLOGUECODE) 'yor'
|
||||
|
||||
store(&BITMAP) 'sil_yoruba8.ico'
|
||||
store(&VISUALKEYBOARD) 'sil_yoruba8.kvks'
|
||||
store(&TARGETS) 'desktop'
|
||||
store(&KEYBOARDVERSION) '1.1'
|
||||
|
||||
begin Unicode > use(main)
|
||||
|
||||
group(main) using keys
|
||||
c ===========
|
||||
c ==Options==
|
||||
c ===========
|
||||
store(style) 'dot'
|
||||
if(style='dot') + [CTRL '.'] > set(style='bar')
|
||||
if(style='bar') + [CTRL '.'] > set(style='dot')
|
||||
|
||||
c ==========
|
||||
c ==Stores==
|
||||
c ==========
|
||||
c Letters
|
||||
store(base) 'a' 'e' 'i' 'o' 'u' 'A' 'E' 'I' 'O' 'U'
|
||||
store(grv) U+00E0 U+00E8 U+00EC U+00F2 U+00F9 U+00C0 U+00C8 U+00CC U+00D2 U+00D9
|
||||
store(act) U+00E1 U+00E9 U+00ED U+00F3 U+00FA U+00C1 U+00C9 U+00CD U+00D3 U+00DA
|
||||
store(crc) U+00E2 U+00EA U+00EE U+00F4 U+00FB U+00C2 U+00CA U+00CE U+00D4 U+00DB
|
||||
store(crn) U+01CE U+011B U+01D0 U+01D2 U+01D4 U+01CD U+011A U+01CF U+01D1 U+01D3
|
||||
store(mac) U+0101 U+0113 U+012B U+014D U+016B U+0100 U+0112 U+012A U+014C U+016A
|
||||
|
||||
store(grv.all) outs(base) outs(grv) outs(grv) outs(grv) outs(grv) outs(grv)
|
||||
store(act.all) outs(base) outs(act) outs(act) outs(act) outs(act) outs(act)
|
||||
store(crc.all) outs(base) outs(crc) outs(crc) outs(crc) outs(crc) outs(crc)
|
||||
store(crn.all) outs(base) outs(crn) outs(crn) outs(crn) outs(crn) outs(crn)
|
||||
store(mac.all) outs(base) outs(mac) outs(mac) outs(mac) outs(mac) outs(mac)
|
||||
|
||||
store(not.grv) outs(grv) outs(base) outs(act) outs(crc) outs(crn) outs(mac)
|
||||
store(not.act) outs(act) outs(base) outs(grv) outs(crc) outs(crn) outs(mac)
|
||||
store(not.crc) outs(crc) outs(base) outs(grv) outs(act) outs(crn) outs(mac)
|
||||
store(not.crn) outs(crn) outs(base) outs(grv) outs(act) outs(crc) outs(mac)
|
||||
store(not.mac) outs(mac) outs(base) outs(grv) outs(act) outs(crc) outs(crn)
|
||||
|
||||
store(bar) 'e' 'o' 's' 'E' 'O' 'S'
|
||||
store(v.bar) 'e' 'o' 'E' 'O'
|
||||
|
||||
store(dot) U+1EB9 U+1ECD U+1EB8 U+1ECC
|
||||
store(nsl) 'm' 'n' 'M' 'N'
|
||||
store(dot+nsl) outs(dot) outs(nsl)
|
||||
|
||||
c Accents
|
||||
store(ac.grv) U+0300
|
||||
store(ac.act) U+0301
|
||||
store(ac.crc) U+0302
|
||||
store(ac.crn) U+030C
|
||||
store(ac.mac) U+0304
|
||||
|
||||
store(ac.all) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.crn) outs(ac.mac)
|
||||
|
||||
store(ac.grv.all) nul outs(ac.grv) outs(ac.grv) outs(ac.grv) outs(ac.grv)
|
||||
store(ac.act.all) nul outs(ac.act) outs(ac.act) outs(ac.act) outs(ac.act)
|
||||
store(ac.crc.all) nul outs(ac.crc) outs(ac.crc) outs(ac.crc) outs(ac.crc)
|
||||
store(ac.crn.all) nul outs(ac.crn) outs(ac.crn) outs(ac.crn) outs(ac.crn)
|
||||
store(ac.mac.all) nul outs(ac.mac) outs(ac.mac) outs(ac.mac) outs(ac.mac)
|
||||
|
||||
store(not.ac.grv) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.crn) outs(ac.mac)
|
||||
store(not.ac.act) outs(ac.act) outs(ac.grv) outs(ac.crc) outs(ac.crn) outs(ac.mac)
|
||||
store(not.ac.crc) outs(ac.crc) outs(ac.grv) outs(ac.act) outs(ac.crn) outs(ac.mac)
|
||||
store(not.ac.crn) outs(ac.crn) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.mac)
|
||||
store(not.ac.mac) outs(ac.mac) outs(ac.grv) outs(ac.act) outs(ac.crc) outs(ac.crn)
|
||||
|
||||
c Keys
|
||||
store(key.grv) '['
|
||||
store(key.act) ']'
|
||||
store(key.crc) '{'
|
||||
store(key.crn) '}'
|
||||
store(key.mac) '|'
|
||||
|
||||
store(key.all) outs(key.grv) outs(key.act) outs(key.crc) outs(key.crn) outs(key.mac)
|
||||
|
||||
c ================
|
||||
c ==Basic Output==
|
||||
c ================
|
||||
c Unshifted QWERTY US
|
||||
+ '=' > '='
|
||||
+ '-' > '-'
|
||||
+ '0' > '0'
|
||||
+ '9' > '9'
|
||||
+ '8' > '8'
|
||||
+ '7' > '7'
|
||||
+ '6' > '6'
|
||||
+ '5' > '5'
|
||||
+ '4' > '4'
|
||||
+ '3' > '3'
|
||||
+ '2' > '2'
|
||||
+ '1' > '1'
|
||||
+ '`' > dk(un) c types underlying character
|
||||
dk(un) + '`' > '`'
|
||||
|
||||
+ '\' > '\'
|
||||
+ ']' > '´' c acute accent
|
||||
dk(un) + ']' > ']'
|
||||
+ '[' > '`' c grave accent
|
||||
dk(un) + '[' > '['
|
||||
+ 'p' > 'p'
|
||||
+ 'o' > 'o'
|
||||
+ 'i' > 'i'
|
||||
+ 'u' > 'u'
|
||||
+ 'y' > 'y'
|
||||
+ 't' > 't'
|
||||
+ 'r' > 'r'
|
||||
+ 'e' > 'e'
|
||||
+ 'w' > 'w'
|
||||
+ 'q' > 'gb'
|
||||
dk(un) + 'q' > 'q'
|
||||
'gb' + [K_BKSP] > nul
|
||||
|
||||
+ "'" > "'"
|
||||
+ ';' > ';'
|
||||
+ 'l' > 'l'
|
||||
+ 'k' > 'k'
|
||||
+ 'j' > 'j'
|
||||
+ 'h' > 'h'
|
||||
+ 'g' > 'g'
|
||||
+ 'f' > 'f'
|
||||
+ 'd' > 'd'
|
||||
+ 's' > 's'
|
||||
+ 'a' > 'a'
|
||||
|
||||
+ '/' > '/'
|
||||
+ '.' > '.'
|
||||
+ ',' > ','
|
||||
+ 'm' > 'm'
|
||||
+ 'n' > 'n'
|
||||
+ 'b' > 'b'
|
||||
if(style='dot') + 'v' > U+1EB9
|
||||
if(style='bar') + 'v' > U+0065 U+0329
|
||||
if(style='dot') dk(un) + 'v' > 'v'
|
||||
if(style='bar') dk(un) + 'v' > 'v'
|
||||
+ 'c' > 'c'
|
||||
if(style='dot') + 'x' > U+1ECD
|
||||
if(style='bar') + 'x' > U+006F U+0329
|
||||
if(style='dot') dk(un) + 'x' > 'x'
|
||||
if(style='bar') dk(un) + 'x' > 'x'
|
||||
if(style='dot') + 'z' > U+1E63
|
||||
if(style='bar') + 'z' > U+0073 U+0329
|
||||
if(style='dot') dk(un) + 'z' > 'z'
|
||||
if(style='bar') dk(un) + 'z' > 'z'
|
||||
|
||||
c Shifted QWERTY US
|
||||
+ '+' > '+'
|
||||
+ '_' > '_'
|
||||
+ ')' > ')'
|
||||
+ '(' > '('
|
||||
+ '*' > '*'
|
||||
+ '&' > '&'
|
||||
+ '^' > U+20A6
|
||||
dk(un) + '^' > '^'
|
||||
+ '%' > '%'
|
||||
+ '$' > '$'
|
||||
+ '#' > '#'
|
||||
+ '@' > '@'
|
||||
+ '!' > '!'
|
||||
+ '~' > '~'
|
||||
|
||||
+ '|' > U+02C9 c macron accent
|
||||
dk(un) + '|' > '|'
|
||||
+ '}' > U+02C7 c caron accent
|
||||
dk(un) + '}' > '}'
|
||||
+ '{' > U+02C6 c circumflex accent
|
||||
dk(un) + '{' > '{'
|
||||
+ 'P' > 'P'
|
||||
+ 'O' > 'O'
|
||||
+ 'I' > 'I'
|
||||
+ 'U' > 'U'
|
||||
+ 'Y' > 'Y'
|
||||
+ 'T' > 'T'
|
||||
+ 'R' > 'R'
|
||||
+ 'E' > 'E'
|
||||
+ 'W' > 'W'
|
||||
+ 'Q' > 'GB'
|
||||
dk(un) + 'Q' > 'Q'
|
||||
'GB' + [K_BKSP] > nul
|
||||
|
||||
+ '"' > '"'
|
||||
+ ':' > ':'
|
||||
+ 'L' > 'L'
|
||||
+ 'K' > 'K'
|
||||
+ 'J' > 'J'
|
||||
+ 'H' > 'H'
|
||||
+ 'G' > 'G'
|
||||
+ 'F' > 'F'
|
||||
+ 'D' > 'D'
|
||||
+ 'S' > 'S'
|
||||
+ 'A' > 'A'
|
||||
|
||||
+ '?' > '?'
|
||||
+ '>' > '>'
|
||||
+ '<' > '<'
|
||||
+ 'M' > 'M'
|
||||
+ 'N' > 'N'
|
||||
+ 'B' > 'B'
|
||||
if(style='dot') + 'V' > U+1EB8
|
||||
if(style='bar') + 'V' > U+0045 U+0329
|
||||
if(style='dot') dk(un) + 'V' > 'V'
|
||||
if(style='bar') dk(un) + 'V' > 'V
|
||||
+ 'C' > 'C'
|
||||
if(style='dot') + 'X' > U+1ECC
|
||||
if(style='bar') + 'X' > U+004F U+0329
|
||||
if(style='dot') dk(un) + 'X' > 'X'
|
||||
if(style='bar') dk(un) + 'X' > 'X
|
||||
if(style='dot') + 'Z' > U+1E62
|
||||
if(style='bar') + 'Z' > U+0053 U+0329
|
||||
if(style='dot') dk(un) + 'Z' > 'Z'
|
||||
if(style='bar') dk(un) + 'Z' > 'Z'
|
||||
|
||||
c Additional: QWERTY UK
|
||||
+ '¬' > '¬'
|
||||
+ '£' > '£'
|
||||
|
||||
c ===========
|
||||
c ==Accents==
|
||||
c ===========
|
||||
c Backspace
|
||||
any(bar) U+0329 + [K_BKSP] > nul
|
||||
any(v.bar) U+0329 any(ac.all) + [K_BKSP] > nul
|
||||
any(dot+nsl) any(ac.all) + [K_BKSP] > nul
|
||||
|
||||
c General
|
||||
any(v.bar) U+0329 + any(key.all) > index(v.bar, 1) U+0329 index(ac.all, 3)
|
||||
any(dot+nsl) + any(key.all) > index(dot+nsl, 1) index(ac.all, 2)
|
||||
|
||||
c Grave
|
||||
any(not.grv) + any(key.grv) > index(grv.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.grv) + any(key.grv) > index(v.bar, 1) U+0329 index(ac.grv.all, 3)
|
||||
any(dot+nsl) any(not.ac.grv) + any(key.grv) > index(dot+nsl, 1) index(ac.grv.all, 2)
|
||||
|
||||
c Acute
|
||||
any(not.act) + any(key.act) > index(act.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.act) + any(key.act) > index(v.bar, 1) U+0329 index(ac.act.all, 3)
|
||||
any(dot+nsl) any(not.ac.act) + any(key.act) > index(dot+nsl, 1) index(ac.act.all, 2)
|
||||
|
||||
c Circumflex
|
||||
any(not.crc) + any(key.crc) > index(crc.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.crc) + any(key.crc) > index(v.bar, 1) U+0329 index(ac.crc.all, 3)
|
||||
any(dot+nsl) any(not.ac.crc) + any(key.crc) > index(dot+nsl, 1) index(ac.crc.all, 2)
|
||||
|
||||
c Caron
|
||||
any(not.crn) + any(key.crn) > index(crn.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.crn) + any(key.crn) > index(v.bar, 1) U+0329 index(ac.crn.all, 3)
|
||||
any(dot+nsl) any(not.ac.crn) + any(key.crn) > index(dot+nsl, 1) index(ac.crn.all, 2)
|
||||
|
||||
c Macron
|
||||
any(not.mac) + any(key.mac) > index(mac.all, 1)
|
||||
any(v.bar) U+0329 any(not.ac.mac) + any(key.mac) > index(v.bar, 1) U+0329 index(ac.mac.all, 3)
|
||||
any(dot+nsl) any(not.ac.mac) + any(key.mac) > index(dot+nsl, 1) index(ac.mac.all, 2)
|
||||
|
||||
c EOF
|
||||
|
|
@ -0,0 +1,136 @@
|
|||
c ***** This test will produce 2 Errors: ***************************
|
||||
c ***** 1) it will be marked as FAIL when run in kmcompxtest *******
|
||||
c ***** as the Name starts with xCERR instead of CERR ***********
|
||||
c ***** 2) CERR_InvalidCharacter 0x00004034 will be produced *******
|
||||
c ******************************************************************
|
||||
|
||||
store(&VERSION) '10.0'
|
||||
store(&NAME) 'Balochi Phonetic'
|
||||
store(&TARGETS) 'any'
|
||||
store(&KMW_RTL) '1'
|
||||
store(&LAYOUTFILE) 'balochi_phonetic.keyman-touch-layout'
|
||||
store(&KEYBOARDVERSION) '1.4.2'
|
||||
c ***** CERR_InvalidCharacter 0x00004034 ***************************
|
||||
store(©RIGHT) U+11FFFF
|
||||
c ******************************************************************
|
||||
store(&MESSAGE) 'The Balochi Phonetic keyboard is distributed under The MIT License (MIT).'
|
||||
store(&KMW_HELPTEXT) 'This is a phonetically organized Balochi keyboard.'
|
||||
store(&VISUALKEYBOARD) 'balochi_phonetic.kvks'
|
||||
store(&BITMAP) 'CERR__balochi_phonetic.ico'
|
||||
|
||||
begin Unicode > use(main)
|
||||
|
||||
group(main) using keys
|
||||
+ [CTRL B08] > ''
|
||||
+ [CTRL B09] > ''
|
||||
+ [CTRL B10] > '–'
|
||||
+ [SHIFT CTRL E11] > '“'
|
||||
+ [SHIFT CTRL E12] > '”'
|
||||
+ [CTRL E11] > '‘'
|
||||
+ [CTRL E12] > '’'
|
||||
+ [CTRL K_K] > 'ء'
|
||||
+ [CTRL K_D] > 'ذ'
|
||||
+ [K_EQUAL] > '='
|
||||
+ [SHIFT K_8] > '*'
|
||||
+ [SHIFT K_7] > '&'
|
||||
+ [SHIFT K_5] > '%'
|
||||
+ [SHIFT K_4] > '$'
|
||||
+ [SHIFT K_3] > '#'
|
||||
+ [SHIFT K_2] > '@'
|
||||
+ [SHIFT K_1] > '!'
|
||||
+ [SHIFT K_N] > 'ں'
|
||||
+ [K_BKSLASH] > '۔'
|
||||
+ [K_LBRKT] > ']'
|
||||
+ [K_RBRKT] > '['
|
||||
+ [K_F] > 'َ'
|
||||
+ [K_V] > 'ِ'
|
||||
+ [K_X] > 'ش'
|
||||
+ [SHIFT K_H] > 'ح'
|
||||
+ [SHIFT K_G] > 'ص'
|
||||
+ [SHIFT K_Y] > 'ي'
|
||||
+ [CTRL K_0] > '۰'
|
||||
+ [CTRL K_9] > '۹'
|
||||
+ [CTRL K_8] > '۸'
|
||||
+ [CTRL K_7] > '۷'
|
||||
+ [CTRL K_6] > '۶'
|
||||
+ [CTRL K_5] > '۵'
|
||||
+ [CTRL K_4] > '۴'
|
||||
+ [CTRL K_3] > '۳'
|
||||
+ [CTRL K_2] > '۲'
|
||||
+ [CTRL K_1] > '۱'
|
||||
+ [K_SLASH] > '/'
|
||||
+ [K_HYPHEN] > '-'
|
||||
+ [SHIFT K_COLON] > ':'
|
||||
+ [SHIFT K_QUOTE] > '"'
|
||||
+ [K_QUOTE] > U+0027
|
||||
+ [K_O] > 'ُ'
|
||||
+ [SHIFT K_O] > 'ْ'
|
||||
+ [K_BKQUOTE] > 'ء'
|
||||
+ [SHIFT K_W] > 'أ'
|
||||
+ [SHIFT K_P] > 'ّ'
|
||||
+ [SHIFT K_BKQUOTE] > 'ٔ'
|
||||
+ [SHIFT K_J] > 'ض'
|
||||
+ [SHIFT K_9] > ')'
|
||||
+ [SHIFT K_RBRKT] > '{'
|
||||
+ [SHIFT K_LBRKT] > '}'
|
||||
+ [SHIFT K_0] > '('
|
||||
+ [SHIFT K_SLASH] > '؟'
|
||||
+ [SHIFT K_K] > 'ع'
|
||||
+ [SHIFT K_EQUAL] > '«'
|
||||
+ [SHIFT K_HYPHEN] > '»'
|
||||
+ [SHIFT K_I] > 'ً'
|
||||
|
||||
+ [SHIFT K_PERIOD] > '‹'
|
||||
+ [SHIFT K_COMMA] > '›'
|
||||
+ [SHIFT K_L] > 'ـ'
|
||||
+ [SHIFT K_U] > 'ۀ'
|
||||
+ [SHIFT K_B] > 'ة'
|
||||
+ [SHIFT K_M] > 'غ'
|
||||
+ [SHIFT K_F] > 'ف'
|
||||
+ [SHIFT K_E] > 'ۓ'
|
||||
+ [SHIFT K_Q] > 'ق'
|
||||
+ [K_0] > '0'
|
||||
+ [K_9] > '9'
|
||||
+ [K_8] > '8'
|
||||
+ [K_7] > '7'
|
||||
+ [K_6] > '6'
|
||||
+ [K_5] > '5'
|
||||
+ [K_4] > '4'
|
||||
+ [K_3] > '3'
|
||||
+ [K_2] > '2'
|
||||
+ [K_1] > '1'
|
||||
+ [K_I] > 'ێ'
|
||||
+ [SHIFT K_D] > 'ڈ'
|
||||
+ [K_G] > 'گ'
|
||||
+ [K_U] > 'ۆ'
|
||||
+ [SHIFT K_R] > 'ڑ'
|
||||
+ [SHIFT K_6] > ''
|
||||
+ [SHIFT K_T] > 'ٹ'
|
||||
+ [SHIFT K_V] > 'ظ'
|
||||
+ [SHIFT K_C] > 'ط'
|
||||
+ [SHIFT K_X] > 'خ'
|
||||
+ [SHIFT K_Z] > 'ژ'
|
||||
+ [SHIFT K_S] > 'ث'
|
||||
+ [SHIFT K_A] > 'آ'
|
||||
+ [K_PERIOD] > '.'
|
||||
+ [K_COMMA] > '،'
|
||||
+ [K_M] > 'م'
|
||||
+ [K_N] > 'ن'
|
||||
+ [K_B] > 'ب'
|
||||
+ [K_C] > 'چ'
|
||||
+ [K_Z] > 'ز'
|
||||
+ [K_P] > 'پ'
|
||||
+ [K_Y] > 'ی'
|
||||
+ [K_T] > 'ت'
|
||||
+ [K_R] > 'ر'
|
||||
+ [K_E] > 'ے'
|
||||
+ [K_W] > 'و'
|
||||
+ [K_Q] > 'ئ'
|
||||
+ [K_COLON] > '؛'
|
||||
+ [K_L] > 'ل'
|
||||
+ [K_K] > 'ک'
|
||||
+ [K_J] > 'ج'
|
||||
+ [K_H] > 'ه'
|
||||
+ [K_D] > 'د'
|
||||
+ [K_S] > 'س'
|
||||
+ [K_A] > 'ا'
|
||||
|
|
@ -6,8 +6,8 @@ rem no *bmp file included in Folder
|
|||
rem - eKwTamil99UniUpdt
|
||||
|
||||
rem use of other folders than /source
|
||||
rem - vn_telex/raw/header
|
||||
rem - vn_vni/raw/header
|
||||
rem - vietnamese_telex_legacy\extras\vn_kmn_compiler\vn_telex\raw
|
||||
rem - vietnamese_vni\extras\vn_kmn_compiler\keyboard\vn_vni\raw
|
||||
|
||||
rem need more time to prevent TIMEOUT ( run while debugging in VS)
|
||||
rem - vietnamese_telex
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <kmcompx.h>
|
||||
#include "kmcompx.h"
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue