diff --git a/common/core/web/keyboard-processor/src/text/kbdInterface.ts b/common/core/web/keyboard-processor/src/text/kbdInterface.ts index bf8dad08d7..5bb27e1841 100644 --- a/common/core/web/keyboard-processor/src/text/kbdInterface.ts +++ b/common/core/web/keyboard-processor/src/text/kbdInterface.ts @@ -882,7 +882,8 @@ namespace com.keyman.text { */ setStore(systemId: number, strValue: string, outputTarget: OutputTarget): boolean { this.resetContextCache(); - if(systemId == KeyboardInterface.TSS_LAYER) { + // Unique case: we only allow set-store ops from keyboard rules triggered by touch OSKs. + if(systemId == KeyboardInterface.TSS_LAYER && this.activeDevice.touchable) { // Denote the changed store as part of the matched rule's behavior. this.ruleBehavior.setStore[systemId] = strValue; } else {