diff --git a/android/KMEA/app/src/main/assets/keyboard.html b/android/KMEA/app/src/main/assets/keyboard.html
index 55c2641c16..413311ce40 100644
--- a/android/KMEA/app/src/main/assets/keyboard.html
+++ b/android/KMEA/app/src/main/assets/keyboard.html
@@ -1,201 +1,211 @@
-
+
-
-
-
- Keyman
-
-
+
-
-
-
-
-
-
-
+ function getOskHeight() {
+ return oskHeight;
+ }
+
+ function getOskWidth() {
+ if(oskWidth <= 0) {
+ oskWidth = window.jsInterface.getKeyboardWidth();
+ }
+ window.console.log('Keyboard width = '+oskWidth);
+ return oskWidth;
+ }
+
+ function setKeymanLanguage(keyboardName, internalName, languageName, langId, version, font, oskFont) {
+ //oskFont.files = ['NotoSansSyriacWestern-Regular.svg#NotoSansSyriacWesternRegular'];
+ //window.console.log('oskFonts = '+JSON.stringify(oskFont));
+ var kmw=window['tavultesoft']['keymanweb'];
+ // Defaults for mising arguments
+ switch (arguments.length) {
+ case 1:
+ internalName = keyboardName;
+ if (keyboardName == 'English') {
+ internalName = 'us';
+ }
+ break;
+ case 2:
+ languageName = keyboardName;
+ break;
+ case 3:
+ langId='';
+ break;
+ case 6:
+ oskFont = font;
+ break;
+ }
+
+ kmw['KRS']({KN:keyboardName,KI:'Keyboard_'+internalName,KLC:langId,KL:languageName,
+ KF:internalName+'-'+version+'.js',KFont:font,KOskFont:oskFont});
+ kmw['setActiveKeyboard']('Keyboard_'+internalName,langId);
+ kmw['osk']['show'](true);
+ }
+
+ function insertText(dn, s) {
+ window.console.log('insertText('+ dn +', ' + s +');');
+ window.jsInterface.insertText(dn, s);
+ }
+
+ function updateKMText(text) {
+ if(text == undefined) {
+ text = '';
+ }
+ var ta = document.getElementById('ta');
+ var kmw = window['tavultesoft']['keymanweb'];
+ ta.value = text;
+ kmw['setActiveElement'](ta);
+ }
+
+ function updateKMSelectionRange(start, end) {
+ var ta = document.getElementById('ta');
+ var kmw = window['tavultesoft']['keymanweb'];
+ ta.selectionStart = ta._KeymanWebSelectionStart = start;
+ ta.selectionEnd = ta._KeymanWebSelectionEnd = end;
+ kmw['setActiveElement'](ta);
+ }
+
+ var fragmentToggle = 0;
+ function oskCreateKeyPreview(x,y,w,h,t) {
+ fragmentToggle = (fragmentToggle + 1) % 100;
+ var div = document.createElement('div');
+ div.innerHTML = t;
+ var dt = div.firstChild.nodeValue;
+ window.location.hash = 'showKeyPreview-'+fragmentToggle+'+x='+x+'+y='+y+'+w='+w+'+h='+h+'+t='+toHex(dt);
+ }
+
+ function oskClearKeyPreview() {
+ fragmentToggle = (fragmentToggle + 1) % 100;
+ window.location.hash = 'dismissKeyPreview-'+fragmentToggle;
+ }
+
+ function oskCreatePopup(obj,x,y) {
+ if(obj != null) {
+ var i;
+ var s = '';
+ var shift = false;
+ var keyPos = x.toString() + ',' + y.toString();
+ for(i=0; i
+
+
+
+
+
+
+