diff --git a/android/KMEA/app/src/main/assets/keyboard.html b/android/KMEA/app/src/main/assets/keyboard.html index cb9f774d7f..466ef8822a 100644 --- a/android/KMEA/app/src/main/assets/keyboard.html +++ b/android/KMEA/app/src/main/assets/keyboard.html @@ -240,9 +240,13 @@ function updateKMSelectionRange(start, end) { var ta = document.getElementById('ta'); var kmw = window['keyman']; + var resetContext == (ta.selectionStart != pos || ta.selectionEnd != pos + length); ta.selectionStart = ta._KeymanWebSelectionStart = start; ta.selectionEnd = ta._KeymanWebSelectionEnd = end; kmw['setActiveElement'](ta); + if(resetContext) { + kmw.resetContext(); + } } function oskCreateKeyPreview(x,y,w,h,t) { diff --git a/ios/engine/KMEI/KeymanEngine/resources/Keyman.bundle/Contents/Resources/keyboard.html b/ios/engine/KMEI/KeymanEngine/resources/Keyman.bundle/Contents/Resources/keyboard.html index 19045e3b3a..c41aee5c28 100644 --- a/ios/engine/KMEI/KeymanEngine/resources/Keyman.bundle/Contents/Resources/keyboard.html +++ b/ios/engine/KMEI/KeymanEngine/resources/Keyman.bundle/Contents/Resources/keyboard.html @@ -262,9 +262,13 @@ function setCursorRange(pos, length) { var ta = document.getElementById('ta'); var kmw = window['keyman']; + var resetContext = (ta.selectionStart != pos || ta.selectionEnd != pos + length); ta.selectionStart = ta._KeymanWebSelectionStart = pos; ta.selectionEnd = ta._KeymanWebSelectionEnd = pos + length; kmw['setActiveElement'](ta); + if(resetContext) { + kmw.resetContext(); + } return ta.selectionEnd; }