diff --git a/android/Tests/KeyboardHarness/app/src/main/assets/code2001.ttf b/android/Tests/KeyboardHarness/app/src/main/assets/code2001.ttf new file mode 100644 index 0000000000..77abaa4d74 Binary files /dev/null and b/android/Tests/KeyboardHarness/app/src/main/assets/code2001.ttf differ diff --git a/android/Tests/KeyboardHarness/app/src/main/assets/keyboardharness.kmp b/android/Tests/KeyboardHarness/app/src/main/assets/keyboardharness.kmp index 07666de4a9..b434d78835 100644 Binary files a/android/Tests/KeyboardHarness/app/src/main/assets/keyboardharness.kmp and b/android/Tests/KeyboardHarness/app/src/main/assets/keyboardharness.kmp differ diff --git a/android/Tests/KeyboardHarness/app/src/main/assets/keyboardharness.kpj b/android/Tests/KeyboardHarness/app/src/main/assets/keyboardharness.kpj new file mode 100644 index 0000000000..c7fa5c530c --- /dev/null +++ b/android/Tests/KeyboardHarness/app/src/main/assets/keyboardharness.kpj @@ -0,0 +1,56 @@ + + + + $PROJECTPATH + True + True + True + lexicalmodel + + + + id_165fd1598b940efe4a973aeb6eb61aba + keyboardharness.kps + keyboardharness.kps + 1.0 + .kps +
+ keyboardharness + ©2020 SIL International + 1.0 +
+
+ + id_f9b1213d4e83cb32ce1ead1ee852d618 + chirality.js + ..\..\..\..\..\..\..\web\testing\chirality\chirality.js + + .js + id_165fd1598b940efe4a973aeb6eb61aba + + + id_e01841691fa129428aea555142873f69 + platformtest.js + ..\..\..\..\..\..\..\web\testing\platform\platformtest.js + + .js + id_165fd1598b940efe4a973aeb6eb61aba + + + id_03df89bb84a1aa6cab40dfebf3a04c5b + code2001.ttf + code2001.ttf + + .ttf + id_165fd1598b940efe4a973aeb6eb61aba + + + id_2d07bd2b8c94e9600ac1a920c8cb9e0a + longpress.js + longpress.js + + .js + id_165fd1598b940efe4a973aeb6eb61aba + +
+
diff --git a/android/Tests/KeyboardHarness/app/src/main/assets/keyboardharness.kps b/android/Tests/KeyboardHarness/app/src/main/assets/keyboardharness.kps new file mode 100644 index 0000000000..28e1436f70 --- /dev/null +++ b/android/Tests/KeyboardHarness/app/src/main/assets/keyboardharness.kps @@ -0,0 +1,76 @@ + + + + 14.0.24.0 + 7.0 + + + + + + + + + + + + keyboardharness + 1.0 + ©2020 SIL International + + + + ..\..\..\..\..\..\..\web\testing\chirality\chirality.js + File chirality.js + 0 + .js + + + ..\..\..\..\..\..\..\web\testing\platform\platformtest.js + File platformtest.js + 0 + .js + + + code2001.ttf + Font Code2001 + 0 + .ttf + + + longpress.js + File longpress.js + 0 + .js + + + + + Development Chirality Test Keyboard + chirality + + + English + + + + PlatformTest + platformtest + 1.0 + + English + + + + longpress + longpress + 1.0 + code2001.ttf + code2001.ttf + + English + + + + + diff --git a/android/Tests/KeyboardHarness/app/src/main/assets/longpress.js b/android/Tests/KeyboardHarness/app/src/main/assets/longpress.js new file mode 100644 index 0000000000..1f146f8f92 --- /dev/null +++ b/android/Tests/KeyboardHarness/app/src/main/assets/longpress.js @@ -0,0 +1,1049 @@ +KeymanWeb.KR(new Keyboard_longpress()); + +function Keyboard_longpress() { + this.KI = "Keyboard_longpress"; + this.KN = "longpress"; + this.KV = null; + this.KH = ''; + this.KM = 0; + this.KBVER = "1.0"; + this.KMBM = 0x0000; + this.KVKL = { + "tablet": { + "font": "code2001", + "layer": [{ + "id": "default", + "row": [{ + "id": 1, + "key": [{ + "id": "U_10481", + "text": "\uD801\uDC81" + }, { + "id": "K_W", + "text": "w" + }, { + "id": "K_E", + "text": "e" + }, { + "id": "K_R", + "text": "r" + }, { + "id": "K_T", + "text": "t" + }, { + "id": "K_Y", + "text": "y" + }, { + "id": "K_U", + "text": "u" + }, { + "id": "K_I", + "text": "i" + }, { + "id": "K_O", + "text": "o" + }, { + "id": "K_P", + "text": "p" + }] + }, { + "id": 2, + "key": [{ + "id": "K_A", + "text": "a", + "pad": 70 + }, { + "id": "K_S", + "text": "s" + }, { + "id": "K_D", + "text": "d" + }, { + "id": "K_F", + "text": "f" + }, { + "id": "K_G", + "text": "g" + }, { + "id": "K_H", + "text": "h" + }, { + "id": "K_J", + "text": "j" + }, { + "id": "K_K", + "text": "k" + }, { + "id": "K_L", + "text": "l" + }, { + "id": "T_new_20", + "text": "", + "width": "10", + "sp": "10" + }] + }, { + "id": 3, + "key": [{ + "id": "K_SHIFT", + "text": "*Shift*", + "width": "110", + "sp": "1", + "nextlayer": "shift" + }, { + "id": "K_Z", + "text": "z" + }, { + "id": "K_X", + "text": "x" + }, { + "id": "K_C", + "text": "c" + }, { + "id": "K_V", + "text": "v" + }, { + "id": "K_B", + "text": "b" + }, { + "id": "K_N", + "text": "n" + }, { + "id": "K_M", + "text": "m" + }, { + "id": "K_PERIOD", + "text": ".", + "sk": [{ + "text": ",", + "id": "K_COMMA" + }, { + "text": "!", + "id": "K_1", + "layer": "shift" + }, { + "text": "?", + "id": "K_SLASH", + "layer": "shift" + }, { + "text": "'", + "id": "K_QUOTE" + }, { + "text": "\"", + "id": "K_QUOTE", + "layer": "shift" + }, { + "text": "\\", + "id": "K_BKSLASH" + }, { + "text": ":", + "id": "K_COLON", + "layer": "shift" + }, { + "text": ";", + "id": "K_COLON" + }] + }, { + "id": "K_BKSP", + "text": "*BkSp*", + "width": "90", + "sp": "1" + }] + }, { + "id": 4, + "key": [{ + "id": "K_NUMLOCK", + "text": "*123*", + "width": "140", + "sp": "1", + "nextlayer": "numeric" + }, { + "id": "K_LOPT", + "text": "*Menu*", + "width": "120", + "sp": "1" + }, { + "id": "K_SPACE", + "text": "", + "width": "630", + "sp": "0" + }, { + "id": "K_ENTER", + "text": "*Enter*", + "width": "140", + "sp": "1" + }] + }] + }, { + "id": "shift", + "row": [{ + "id": 1, + "key": [{ + "id": "K_Q", + "text": "Q" + }, { + "id": "K_W", + "text": "W" + }, { + "id": "K_E", + "text": "E" + }, { + "id": "K_R", + "text": "R" + }, { + "id": "K_T", + "text": "T" + }, { + "id": "K_Y", + "text": "Y" + }, { + "id": "K_U", + "text": "U" + }, { + "id": "K_I", + "text": "I" + }, { + "id": "K_O", + "text": "O" + }, { + "id": "K_P", + "text": "P" + }] + }, { + "id": 2, + "key": [{ + "id": "K_A", + "pad": 70, + "text": "A" + }, { + "id": "K_S", + "text": "S" + }, { + "id": "K_D", + "text": "D" + }, { + "id": "K_F", + "text": "F" + }, { + "id": "K_G", + "text": "G" + }, { + "id": "K_H", + "text": "H" + }, { + "id": "K_J", + "text": "J" + }, { + "id": "K_K", + "text": "K" + }, { + "id": "K_L", + "text": "L" + }, { + "sp": "10", + "width": "10" + }] + }, { + "id": 3, + "key": [{ + "id": "K_SHIFT", + "width": "110", + "sp": "2", + "nextlayer": "default", + "text": "*Shift*" + }, { + "id": "K_Z", + "text": "Z" + }, { + "id": "K_X", + "text": "X" + }, { + "id": "K_C", + "text": "C" + }, { + "id": "K_V", + "text": "V" + }, { + "id": "K_B", + "text": "B" + }, { + "id": "K_N", + "text": "N" + }, { + "id": "K_M", + "text": "M" + }, { + "id": "K_PERIOD", + "sk": [{ + "text": ",", + "id": "K_COMMA", + "layer": "default" + }, { + "text": "!", + "id": "K_1", + "layer": "shift" + }, { + "text": "?", + "id": "K_SLASH", + "layer": "shift" + }, { + "text": "'", + "id": "K_QUOTE", + "layer": "default" + }, { + "text": "\"", + "id": "K_QUOTE", + "layer": "shift" + }, { + "text": "\\", + "id": "K_BKSLASH", + "layer": "default" + }, { + "text": ":", + "id": "K_COLON", + "layer": "shift" + }, { + "text": ";", + "id": "K_COLON", + "layer": "default" + }], + "text": "." + }, { + "id": "K_BKSP", + "text": "*BkSp*", + "width": "90", + "sp": "1" + }] + }, { + "id": 4, + "key": [{ + "id": "K_NUMLOCK", + "text": "*123*", + "width": "140", + "sp": "1", + "nextlayer": "numeric" + }, { + "id": "K_LOPT", + "text": "*Menu*", + "width": "120", + "sp": "1" + }, { + "id": "K_SPACE", + "width": "630", + "sp": "0", + "text": "" + }, { + "id": "K_ENTER", + "text": "*Enter*", + "width": "140", + "sp": "1" + }] + }] + }, { + "id": "numeric", + "row": [{ + "id": 1, + "key": [{ + "id": "K_1", + "text": "1" + }, { + "id": "K_2", + "text": "2" + }, { + "id": "K_3", + "text": "3" + }, { + "id": "K_4", + "text": "4" + }, { + "id": "K_5", + "text": "5" + }, { + "id": "K_6", + "text": "6" + }, { + "id": "K_7", + "text": "7" + }, { + "id": "K_8", + "text": "8" + }, { + "id": "K_9", + "text": "9" + }, { + "id": "K_0", + "text": "0" + }] + }, { + "id": 2, + "key": [{ + "id": "K_4", + "layer": "shift", + "pad": 70, + "text": "$" + }, { + "id": "K_2", + "layer": "shift", + "text": "@" + }, { + "id": "K_3", + "layer": "shift", + "text": "#" + }, { + "id": "K_5", + "layer": "shift", + "text": "%" + }, { + "id": "K_7", + "layer": "shift", + "text": "&" + }, { + "id": "K_HYPHEN", + "layer": "shift", + "text": "_" + }, { + "id": "K_EQUAL", + "layer": "default", + "text": "=" + }, { + "id": "K_BKSLASH", + "layer": "shift", + "text": "|" + }, { + "id": "K_BKSLASH", + "layer": "default", + "text": "\\" + }, { + "text": "", + "width": "10", + "sp": "10" + }] + }, { + "id": 3, + "key": [{ + "id": "K_SHIFT", + "text": "*Shift*", + "width": "110", + "sp": "1" + }, { + "id": "K_LBRKT", + "sk": [{ + "id": "U_00AB", + "text": "\u00AB" + }, { + "id": "K_COMMA", + "text": "<", + "layer": "shift" + }, { + "id": "K_LBRKT", + "text": "{", + "layer": "shift" + }], + "text": "[" + }, { + "id": "K_9", + "layer": "shift", + "text": "(" + }, { + "id": "K_0", + "layer": "shift", + "text": ")" + }, { + "id": "K_RBRKT", + "sk": [{ + "id": "U_00BB", + "text": "\u00BB" + }, { + "id": "K_PERIOD", + "text": ">", + "layer": "shift" + }, { + "id": "K_RBRKT", + "text": "}", + "layer": "shift" + }], + "text": "]" + }, { + "id": "K_EQUAL", + "layer": "shift", + "text": "+" + }, { + "id": "K_HYPHEN", + "layer": "default", + "text": "-" + }, { + "id": "K_8", + "layer": "shift", + "text": "*" + }, { + "id": "K_SLASH", + "layer": "default", + "text": "\/" + }, { + "id": "K_BKSP", + "text": "*BkSp*", + "width": "90", + "sp": "1" + }] + }, { + "id": 4, + "key": [{ + "id": "K_LOWER", + "text": "*abc*", + "width": "140", + "sp": "1", + "nextlayer": "default" + }, { + "id": "K_LOPT", + "text": "*Menu*", + "width": "120", + "sp": "1" + }, { + "id": "K_SPACE", + "width": "630", + "sp": "0", + "text": "" + }, { + "id": "K_ENTER", + "text": "*Enter*", + "width": "140", + "sp": "1" + }] + }] + }] + }, + "phone": { + "font": "Code2001", + "layer": [{ + "id": "default", + "row": [{ + "id": 1, + "key": [{ + "id": "U_10481", + "text": "\uD801\uDC81" + }, { + "id": "K_W", + "text": "w" + }, { + "id": "K_E", + "text": "e" + }, { + "id": "K_R", + "text": "r" + }, { + "id": "K_T", + "text": "t" + }, { + "id": "K_Y", + "text": "y" + }, { + "id": "K_U", + "text": "u" + }, { + "id": "K_I", + "text": "i" + }, { + "id": "K_O", + "text": "o" + }, { + "id": "K_P", + "text": "p" + }] + }, { + "id": 2, + "key": [{ + "id": "K_A", + "text": "a", + "pad": "50" + }, { + "id": "K_S", + "text": "s" + }, { + "id": "K_D", + "text": "d" + }, { + "id": "K_F", + "text": "f" + }, { + "id": "K_G", + "text": "g" + }, { + "id": "K_H", + "text": "h" + }, { + "id": "K_J", + "text": "j" + }, { + "id": "K_K", + "text": "k" + }, { + "id": "K_L", + "text": "l" + }, { + "id": "T_new_54", + "text": "", + "width": "10", + "sp": "10" + }] + }, { + "id": 3, + "key": [{ + "id": "K_SHIFT", + "text": "*Shift*", + "sp": "1", + "nextlayer": "shift" + }, { + "id": "K_Z", + "text": "z" + }, { + "id": "K_X", + "text": "x" + }, { + "id": "K_C", + "text": "c", + "sk": [{ + "text": "\u00E7", + "id": "U_00E7" + }] + }, { + "id": "K_V", + "text": "v" + }, { + "id": "K_B", + "text": "b" + }, { + "id": "K_N", + "text": "n" + }, { + "id": "K_M", + "text": "m" + }, { + "id": "K_PERIOD", + "text": ".", + "sk": [{ + "text": ",", + "id": "K_COMMA" + }, { + "text": "!", + "id": "K_1", + "layer": "shift" + }, { + "text": "?", + "id": "K_SLASH", + "layer": "shift" + }, { + "text": "'", + "id": "K_QUOTE" + }, { + "text": "\"", + "id": "K_QUOTE", + "layer": "shift" + }, { + "text": "\\", + "id": "K_BKSLASH" + }, { + "text": ":", + "id": "K_COLON", + "layer": "shift" + }, { + "text": ";", + "id": "K_COLON" + }] + }, { + "id": "K_BKSP", + "text": "*BkSp*", + "width": "100", + "sp": "1" + }] + }, { + "id": 4, + "key": [{ + "id": "K_NUMLOCK", + "text": "*123*", + "width": "150", + "sp": "1", + "nextlayer": "numeric" + }, { + "id": "K_LOPT", + "text": "*Menu*", + "width": "120", + "sp": "1" + }, { + "id": "K_SPACE", + "text": "", + "width": "610", + "sp": "0", + "sk": [{ + // Unicode C0 Control Codes U_0000 to U_001F suppressed + "text": "00", + "id": "U_0000" + }, { + "text": "1F", + "id": "U_001F" + }, { + "text": "20", + "id": "U_0020" + }, { + "text": "7F", + "id": "U_007F" + }, { + // Unicode C1 Control Codes U_0080 to U_009F suppressed + "text": "80", + "id": "U_0080" + }, { + "text": "9F", + "id": "U_009F" + }, { + "text": "A0", + "id": "U_00A0" + }] + }, { + "id": "K_ENTER", + "text": "*Enter*", + "width": "150", + "sp": "1" + }] + }] + }, { + "id": "shift", + "row": [{ + "id": 1, + "key": [{ + "id": "K_Q", + "text": "Q" + }, { + "id": "K_W", + "text": "W" + }, { + "id": "K_E", + "text": "E" + }, { + "id": "K_R", + "text": "R" + }, { + "id": "K_T", + "text": "T" + }, { + "id": "K_Y", + "text": "Y" + }, { + "id": "K_U", + "text": "U" + }, { + "id": "K_I", + "text": "I" + }, { + "id": "K_O", + "text": "O" + }, { + "id": "K_P", + "text": "P" + }] + }, { + "id": 2, + "key": [{ + "id": "K_A", + "pad": "50", + "text": "A" + }, { + "id": "K_S", + "text": "S" + }, { + "id": "K_D", + "text": "D" + }, { + "id": "K_F", + "text": "F" + }, { + "id": "K_G", + "text": "G" + }, { + "id": "K_H", + "text": "H" + }, { + "id": "K_J", + "text": "J" + }, { + "id": "K_K", + "text": "K" + }, { + "id": "K_L", + "text": "L" + }, { + "text": "", + "width": "10", + "sp": "10" + }] + }, { + "id": 3, + "key": [{ + "id": "K_SHIFT", + "sp": "2", + "nextlayer": "default", + "text": "*Shift*" + }, { + "id": "K_Z", + "text": "Z" + }, { + "id": "K_X", + "text": "X" + }, { + "id": "K_C", + "text": "C" + }, { + "id": "K_V", + "text": "V" + }, { + "id": "K_B", + "text": "B" + }, { + "id": "K_N", + "text": "N" + }, { + "id": "K_M", + "text": "M" + }, { + "id": "K_PERIOD", + "sk": [{ + "text": ",", + "id": "K_COMMA", + "layer": "default" + }, { + "text": "!", + "id": "K_1", + "layer": "shift" + }, { + "text": "?", + "id": "K_SLASH", + "layer": "shift" + }, { + "text": "'", + "id": "K_QUOTE", + "layer": "default" + }, { + "text": "\"", + "id": "K_QUOTE", + "layer": "shift" + }, { + "text": "\\", + "id": "K_BKSLASH", + "layer": "default" + }, { + "text": ":", + "id": "K_COLON", + "layer": "shift" + }, { + "text": ";", + "id": "K_COLON", + "layer": "default" + }], + "text": "." + }, { + "id": "K_BKSP", + "text": "*BkSp*", + "sp": "1" + }] + }, { + "id": 4, + "key": [{ + "id": "K_NUMLOCK", + "text": "*123*", + "width": "150", + "sp": "1", + "nextlayer": "numeric" + }, { + "id": "K_LOPT", + "text": "*Menu*", + "width": "120", + "sp": "1" + }, { + "id": "K_SPACE", + "width": "610", + "sp": "0", + "text": "" + }, { + "id": "K_ENTER", + "text": "*Enter*", + "width": "150", + "sp": "1" + }] + }] + }, { + "id": "numeric", + "row": [{ + "id": 1, + "key": [{ + "id": "K_1", + "text": "1" + }, { + "id": "K_2", + "text": "2" + }, { + "id": "K_3", + "text": "3" + }, { + "id": "K_4", + "text": "4" + }, { + "id": "K_5", + "text": "5" + }, { + "id": "K_6", + "text": "6" + }, { + "id": "K_7", + "text": "7" + }, { + "id": "K_8", + "text": "8" + }, { + "id": "K_9", + "text": "9" + }, { + "id": "K_0", + "text": "0" + }] + }, { + "id": 2, + "key": [{ + "id": "K_4", + "layer": "shift", + "pad": "50", + "text": "$" + }, { + "id": "K_2", + "layer": "shift", + "text": "@" + }, { + "id": "K_3", + "layer": "shift", + "text": "#" + }, { + "id": "K_5", + "layer": "shift", + "text": "%" + }, { + "id": "K_6", + "layer": "shift", + "text": "&" + }, { + "id": "K_HYPHEN", + "layer": "shift", + "text": "_" + }, { + "id": "K_EQUAL", + "layer": "default", + "text": "=" + }, { + "id": "K_BKSLASH", + "layer": "shift", + "text": "|" + }, { + "id": "K_BKSLASH", + "layer": "default", + "text": "\\" + }, { + "text": "", + "width": "10", + "sp": "10" + }] + }, { + "id": 3, + "key": [{ + "id": "K_LBRKT", + "pad": "110", + "sk": [{ + "id": "U_00AB", + "text": "\u00AB" + }, { + "id": "K_COMMA", + "text": "<", + "layer": "shift" + }, { + "id": "K_LBRKT", + "text": "{", + "layer": "shift" + }], + "text": "[" + }, { + "id": "K_9", + "layer": "shift", + "text": "(" + }, { + "id": "K_0", + "layer": "shift", + "text": ")" + }, { + "id": "K_RBRKT", + "sk": [{ + "id": "U_00BB", + "text": "\u00BB" + }, { + "id": "K_PERIOD", + "text": ">", + "layer": "shift" + }, { + "id": "K_RBRKT", + "text": "}", + "layer": "shift" + }], + "text": "]" + }, { + "id": "K_EQUAL", + "layer": "shift", + "text": "+" + }, { + "id": "K_HYPHEN", + "text": "-" + }, { + "id": "K_8", + "layer": "shift", + "text": "*" + }, { + "id": "K_SLASH", + "text": "\/" + }, { + "id": "K_BKSP", + "text": "*BkSp*", + "width": "100", + "sp": "1" + }] + }, { + "id": 4, + "key": [{ + "id": "K_LOWER", + "text": "*abc*", + "width": "150", + "sp": "1", + "nextlayer": "default" + }, { + "id": "K_LOPT", + "text": "*Menu*", + "width": "120", + "sp": "1" + }, { + "id": "K_SPACE", + "width": "610", + "sp": "0", + "text": "" + }, { + "id": "K_ENTER", + "text": "*Enter*", + "width": "150", + "sp": "1" + }] + }] + }] + } + }; + this.KVER = "10.0.955.0"; + this.gs = function(t, e) { + return this.g0(t, e); + }; + this.g0 = function(t, e) { + var k = KeymanWeb, + r = 0, + m = 0; + return r; + }; +} \ No newline at end of file diff --git a/android/Tests/KeyboardHarness/readme.md b/android/Tests/KeyboardHarness/readme.md index aa04c0edc2..549d3f8b40 100644 --- a/android/Tests/KeyboardHarness/readme.md +++ b/android/Tests/KeyboardHarness/readme.md @@ -2,6 +2,14 @@ This app is is based on Samples/KMSample1 and targets keyboard functionality and reproducing bugs with keyboards rather than integration functionality. Use as system keyboard is currently not supported. +### keyboardharness package source +The path is ./app/src/main/assets/keyboardharness.kps + +and consists of these engineering keyboards: +* android/Tests/KeyboardHarness/app/src/main/assets/longpress.js +* web/testing/chirality/chirality.js +* web/testing/platform/platformtest.js + ## Version History ## ## 2017-09-26 1.0