diff --git a/web/source/osk/oskManager.ts b/web/source/osk/oskManager.ts index 8382c0b800..dd17c932e5 100644 --- a/web/source/osk/oskManager.ts +++ b/web/source/osk/oskManager.ts @@ -54,24 +54,6 @@ namespace com.keyman.osk { this.loadCookie(); - // Predictive-text hooks. - const bannerMgr = this.bannerView; - const _this = this; - - // Register a listener for model change events so that we can hot-swap the banner as needed. - // Handled here b/c banner changes may trigger a need to re-layout the OSK. - keymanweb.core.languageProcessor.on('statechange', - function(state: text.prediction.StateChangeEnum) { - let currentType = bannerMgr.activeType; - bannerMgr.selectBanner(state); - - if(currentType != bannerMgr.activeType) { - _this.refreshLayout(); - } - - return true; - }); - // Add header element to OSK only for desktop browsers if(util.device.formFactor == 'desktop') { const layout = this.desktopLayout = new layouts.TargetedFloatLayout(); diff --git a/web/source/osk/oskView.ts b/web/source/osk/oskView.ts index 45d475513d..d35d446554 100644 --- a/web/source/osk/oskView.ts +++ b/web/source/osk/oskView.ts @@ -76,6 +76,21 @@ namespace com.keyman.osk { if(deviceSpec.touchable) { this.setBaseTouchEventListeners(); } + + // Register a listener for model change events so that we can hot-swap the banner as needed. + // Handled here b/c banner changes may trigger a need to re-layout the OSK. + const _this = this; + keymanweb.core.languageProcessor.on('statechange', + function(state: text.prediction.StateChangeEnum) { + let currentType = _this.bannerView.activeType; + _this.bannerView.selectBanner(state); + + if(currentType != _this.bannerView.activeType) { + _this.bannerView.refreshLayout(); + } + + return true; + }); } private setBaseMouseEventListeners() {