diff --git a/web/src/app/browser/src/keymanEngine.ts b/web/src/app/browser/src/keymanEngine.ts index 388e709648..f506c918be 100644 --- a/web/src/app/browser/src/keymanEngine.ts +++ b/web/src/app/browser/src/keymanEngine.ts @@ -633,8 +633,12 @@ export default class KeymanEngine extends KeymanEngineBase void = function(this: FloatingOSKView, keepDefaultPosition?: boolean) { + public restorePosition: (keepDefaultPosition?: boolean) => void = function(this: FloatingOSKView, keepDefaultPosition?: boolean) { let isVisible = this._Visible; let dragPromise = new ManagedPromise(); @@ -362,8 +364,10 @@ export default class FloatingOSKView extends OSKView { * and (optionally) override user repositioning or sizing * * @param {Object.} p Array object with position and size of OSK container + * + * See https://help.keyman.com/developer/engine/web/17.0/reference/osk/setRect **/ - ['setRect'](p: OSKRect) { + public setRect(p: OSKRect) { if(this._Box == null || this.targetDevice.formFactor != 'desktop') { return; } @@ -451,9 +455,11 @@ export default class FloatingOSKView extends OSKView { * Function setPos * Scope Private * @param {Object.} p Array object with OSK left, top - * Description Set position of OSK window, but limit to screen, and ignore if a touch input device + * Description Set position of OSK window, but limit to screen + * + * See https://help.keyman.com/developer/engine/web/17.0/reference/osk/setPos */ - ['setPos'](p: OSKPos) { + public setPos(p: OSKPos) { if(typeof(this._Box) == 'undefined') { return; // I3363 (Build 301) } @@ -581,8 +587,10 @@ export default class FloatingOSKView extends OSKView { * Scope Public * @return {(boolean|number)} true if user located * Description Test if OSK window has been repositioned by user + * + * See https://help.keyman.com/developer/engine/web/17.0/reference/osk/userLocated */ - ['userLocated']() { + public userLocated() { return this.userPositioned; } diff --git a/web/src/engine/osk/src/views/oskView.ts b/web/src/engine/osk/src/views/oskView.ts index fe7d9fbe70..fddd489439 100644 --- a/web/src/engine/osk/src/views/oskView.ts +++ b/web/src/engine/osk/src/views/oskView.ts @@ -1132,8 +1132,10 @@ export default abstract class OSKView extends EventEmitter implements * Scope Public * @return {Object.} Array object with position and size of OSK container * Description Get rectangle containing KMW Virtual Keyboard + * + * See https://help.keyman.com/developer/engine/web/17.0/reference/osk/getRect */ - ['getRect'](): OSKRect { // I2405 + public getRect(): OSKRect { // I2405 var p: OSKRect = {}; // Always return these based upon _Box; using this.vkbd will fail to account for banner and/or @@ -1165,8 +1167,10 @@ export default abstract class OSKView extends EventEmitter implements * Scope Public * @return {boolean|number} True if KMW OSK enabled * Description Test if KMW OSK is enabled + * + * See https://help.keyman.com/developer/engine/web/17.0/reference/osk/isEnabled */ - ['isEnabled'](): boolean { + public isEnabled(): boolean { return this.displayIfActive; } @@ -1176,8 +1180,10 @@ export default abstract class OSKView extends EventEmitter implements * @return {boolean|number} True if KMW OSK visible * Description Test if KMW OSK is actually visible * Note that this will usually return false after any UI event that results in (temporary) loss of input focus + * + * https://help.keyman.com/developer/engine/web/17.0/reference/osk/isVisible */ - ['isVisible'](): boolean { + public isVisible(): boolean { return this._Visible; } @@ -1185,8 +1191,10 @@ export default abstract class OSKView extends EventEmitter implements * Function hide * Scope Public * Description Prevent display of OSK window on focus + * + * See https://help.keyman.com/developer/engine/web/17.0/reference/osk/hide */ - ['hide']() { + public hide() { this.activationModel.enabled = false; this.startHide(true); } @@ -1196,8 +1204,10 @@ export default abstract class OSKView extends EventEmitter implements * Function show * Scope Public * @param {(boolean|number)=} bShow True to display, False to hide, omitted to toggle + * + * See https://help.keyman.com/developer/engine/web/17.0/reference/osk/show */ - ['show'](bShow?: boolean) { + public show(bShow?: boolean) { if(arguments.length > 0) { this.activationModel.enabled = bShow; } else { @@ -1238,17 +1248,27 @@ export default abstract class OSKView extends EventEmitter implements * Scope Public * @param {string} event event name * @param {function(Object)} func event handler - * @return {boolean} * Description Wrapper function to add and identify OSK-specific event handlers + * + * See https://help.keyman.com/developer/engine/web/17.0/reference/osk/addEventListener */ - addEventListener( + public addEventListener( event: T, fn: EventListener ): void { this.legacyEvents.addEventListener(event, fn); } - removeEventListener( + /** + * Function removeEventListener + * Scope Public + * @param {string} event event name + * @param {function(Object)} func event handler + * Description Wrapper function to remove previously-added OSK-specific event handlers + * + * See https://help.keyman.com/developer/engine/web/17.0/reference/osk/removeEventListener + */ + public removeEventListener( event: T, fn: EventListener ): void {