mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-10 10:55:33 +00:00
chore(web): Merge branch 'stable-15.0' into fix/web/stable/help-doc-keyboard
This commit is contained in:
commit
20fba30524
34 changed files with 93 additions and 79 deletions
|
|
@ -1,5 +1,9 @@
|
|||
# Keyman Version History
|
||||
|
||||
## 15.0.261 stable 2022-06-18
|
||||
|
||||
* fix(web): crash on custom modifier keys (#6789)
|
||||
|
||||
## 15.0.260 stable 2022-06-15
|
||||
|
||||
* chore: Release version 15.0
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
15.0.261
|
||||
15.0.262
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/input-processor",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/input-processor",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "The core text and prediction processing engine for KeymanWeb",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
@ -18,8 +18,8 @@
|
|||
},
|
||||
"homepage": "https://github.com/keymanapp/keyman#readme",
|
||||
"devDependencies": {
|
||||
"@keymanapp/lexical-model-compiler": "^15.0.261",
|
||||
"@keymanapp/resources-gosh": "^15.0.261",
|
||||
"@keymanapp/lexical-model-compiler": "^15.0.262",
|
||||
"@keymanapp/resources-gosh": "^15.0.262",
|
||||
"@types/node": "^11.9.4",
|
||||
"chai": "^4.3.4",
|
||||
"mocha": "^8.4.0",
|
||||
|
|
@ -34,11 +34,11 @@
|
|||
"mocha": "mocha"
|
||||
},
|
||||
"dependencies": {
|
||||
"@keymanapp/keyboard-processor": "^15.0.261",
|
||||
"@keymanapp/lexical-model-layer": "^15.0.261",
|
||||
"@keymanapp/models-types": "^15.0.261",
|
||||
"@keymanapp/web-environment": "^15.0.261",
|
||||
"@keymanapp/web-utils": "^15.0.261",
|
||||
"@keymanapp/keyboard-processor": "^15.0.262",
|
||||
"@keymanapp/lexical-model-layer": "^15.0.262",
|
||||
"@keymanapp/models-types": "^15.0.262",
|
||||
"@keymanapp/web-environment": "^15.0.262",
|
||||
"@keymanapp/web-utils": "^15.0.262",
|
||||
"eventemitter3": "^4.0.0"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -141,27 +141,29 @@ namespace com.keyman.text {
|
|||
|
||||
// If it's a key that we 'optimize out' of our fat-finger correction algorithm,
|
||||
// we MUST NOT trigger it for this keystroke.
|
||||
let isOnlyLayerShift = text.Codes.isKnownOSKModifierKey(keyEvent.kName);
|
||||
let isOnlyLayerSwitchKey = text.Codes.isKnownOSKModifierKey(keyEvent.kName);
|
||||
|
||||
// Best-guess stopgap for possible custom modifier keys.
|
||||
// If a key (1) does not affect the context and (2) shifts the active layer,
|
||||
// we assume it's a modifier key. (Touch keyboards may define custom modifier keys.)
|
||||
//
|
||||
// Note: this could cause an issue in the niche scenario where:
|
||||
// Note: this will mean we won't generate alternates in the niche scenario where:
|
||||
// 1. Keypress does not alter the actual context
|
||||
// 2. It DOES emit a deadkey with an earlier processing rule.
|
||||
// 3. The FINAL processing rule does not match.
|
||||
// 4. The key ALSO signals a layer shift.
|
||||
// If any of the four above conditions aren't met - no problem!
|
||||
// So it's a pretty niche scenario.
|
||||
if((ruleBehavior.transcription?.transform as TextTransform).isNoOp() && keyEvent.kNextLayer) {
|
||||
isOnlyLayerShift = true;
|
||||
if((ruleBehavior?.transcription?.transform as TextTransform)?.isNoOp() && keyEvent.kNextLayer) {
|
||||
isOnlyLayerSwitchKey = true;
|
||||
}
|
||||
|
||||
const keepRuleBehavior = ruleBehavior != null;
|
||||
// Should we swallow any further processing of keystroke events for this keydown-keypress sequence?
|
||||
if(keepRuleBehavior && !isOnlyLayerShift) {
|
||||
let alternates = this.buildAlternates(ruleBehavior, keyEvent, preInputMock);
|
||||
if(keepRuleBehavior) {
|
||||
// alternates are our fat-finger alternate outputs. We don't build these for keys we detect as
|
||||
// layer switch keys
|
||||
let alternates = isOnlyLayerSwitchKey ? null : this.buildAlternates(ruleBehavior, keyEvent, preInputMock);
|
||||
|
||||
// Now that we've done all the keystroke processing needed, ensure any extra effects triggered
|
||||
// by the actual keystroke occur.
|
||||
|
|
@ -173,7 +175,7 @@ namespace com.keyman.text {
|
|||
if(alternates && alternates.length > 0) {
|
||||
ruleBehavior.transcription.alternates = alternates;
|
||||
}
|
||||
} else if(ruleBehavior == null) {
|
||||
} else {
|
||||
// We need a dummy RuleBehavior for keys which have no output (e.g. Shift)
|
||||
ruleBehavior = new RuleBehavior();
|
||||
ruleBehavior.transcription = outputTarget.buildTranscriptionFrom(outputTarget, null, false);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/keyboard-processor",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/keyboard-processor",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Core module for Keyman keyboard support in KeymanWeb.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
},
|
||||
"homepage": "https://github.com/keymanapp/keyman#readme",
|
||||
"devDependencies": {
|
||||
"@keymanapp/resources-gosh": "^15.0.261",
|
||||
"@keymanapp/resources-gosh": "^15.0.262",
|
||||
"chai": "^4.3.4",
|
||||
"mocha": "^8.4.0",
|
||||
"mocha-teamcity-reporter": "^4.0.0",
|
||||
|
|
@ -32,9 +32,9 @@
|
|||
"mocha": "mocha"
|
||||
},
|
||||
"dependencies": {
|
||||
"@keymanapp/models-types": "^15.0.261",
|
||||
"@keymanapp/web-environment": "^15.0.261",
|
||||
"@keymanapp/web-utils": "^15.0.261",
|
||||
"@keymanapp/models-types": "^15.0.262",
|
||||
"@keymanapp/web-environment": "^15.0.262",
|
||||
"@keymanapp/web-utils": "^15.0.262",
|
||||
"@types/node": "^11.9.4"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
common/core/web/tools/recorder/package-lock.json
generated
2
common/core/web/tools/recorder/package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/recorder-core",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/recorder-core",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Core classes used to develop KeymanWeb test cases based on keystrokes",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
|
@ -17,10 +17,10 @@
|
|||
},
|
||||
"homepage": "https://github.com/keymanapp/keyman#readme",
|
||||
"dependencies": {
|
||||
"@keymanapp/keyboard-processor": "^15.0.261",
|
||||
"@keymanapp/models-types": "^15.0.261",
|
||||
"@keymanapp/web-environment": "^15.0.261",
|
||||
"@keymanapp/web-utils": "^15.0.261",
|
||||
"@keymanapp/keyboard-processor": "^15.0.262",
|
||||
"@keymanapp/models-types": "^15.0.262",
|
||||
"@keymanapp/web-environment": "^15.0.262",
|
||||
"@keymanapp/web-utils": "^15.0.262",
|
||||
"@types/node": "^11.9.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/web-sentry-manager",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/web-sentry-manager",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Common setup for KeymanWeb's Sentry-based error reporting",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
|
|
@ -20,7 +20,7 @@
|
|||
"typescript": "^3.8.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@keymanapp/web-environment": "^15.0.261",
|
||||
"@keymanapp/web-environment": "^15.0.262",
|
||||
"@sentry/browser": "^5.27.4"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
common/core/web/utils/package-lock.json
generated
2
common/core/web/utils/package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/web-utils",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/web-utils",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Common utility functions used throughout other Keyman packages",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
|
|
@ -20,8 +20,8 @@
|
|||
},
|
||||
"homepage": "https://github.com/keymanapp/keyman#readme",
|
||||
"devDependencies": {
|
||||
"@keymanapp/resources-gosh": "^15.0.261",
|
||||
"@keymanapp/web-environment": "^15.0.261",
|
||||
"@keymanapp/resources-gosh": "^15.0.262",
|
||||
"@keymanapp/web-environment": "^15.0.262",
|
||||
"@types/node": "^14.0.5",
|
||||
"typescript": "^3.8.3"
|
||||
}
|
||||
|
|
|
|||
2
common/models/templates/package-lock.json
generated
2
common/models/templates/package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/models-templates",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/models-templates",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Backing model implementations (templates) for Keyman's modelling layer",
|
||||
"keywords": [
|
||||
"lm",
|
||||
|
|
@ -42,8 +42,8 @@
|
|||
"url": "https://github.com/keymanapp/keyman/issues"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@keymanapp/models-types": "^15.0.261",
|
||||
"@keymanapp/web-utils": "^15.0.261",
|
||||
"@keymanapp/models-types": "^15.0.262",
|
||||
"@keymanapp/web-utils": "^15.0.262",
|
||||
"@types/chai": "^4.2.11",
|
||||
"@types/mocha": "^7.0.2",
|
||||
"@types/node": "^14.0.4",
|
||||
|
|
@ -52,6 +52,6 @@
|
|||
"typescript": "^3.8.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@keymanapp/models-wordbreakers": "^15.0.261"
|
||||
"@keymanapp/models-wordbreakers": "^15.0.262"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
common/models/types/package-lock.json
generated
2
common/models/types/package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/models-types",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/models-types",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Type definitions in used in the modeling (lexical model/predictive text) component of Keyman.",
|
||||
"types": "./index.d.ts",
|
||||
"scripts": {
|
||||
|
|
|
|||
2
common/models/wordbreakers/package-lock.json
generated
2
common/models/wordbreakers/package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/models-wordbreakers",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/models-wordbreakers",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Word breakers bundled in the modeling layer",
|
||||
"keywords": [
|
||||
"lexical model",
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
"url": "https://github.com/keymanapp/keyman/issues"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@keymanapp/models-types": "^15.0.261",
|
||||
"@keymanapp/models-types": "^15.0.262",
|
||||
"@types/chai": "^4.2.11",
|
||||
"@types/mocha": "^7.0.2",
|
||||
"chai": "^4.3.4",
|
||||
|
|
|
|||
2
common/predictive-text/package-lock.json
generated
2
common/predictive-text/package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/lexical-model-layer",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/lexical-model-layer",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Keyman/Predictive Text integration layer",
|
||||
"main": "build/index.js",
|
||||
"scripts": {
|
||||
|
|
@ -21,8 +21,8 @@
|
|||
},
|
||||
"homepage": "https://github.com/keymanapp/keyman#readme",
|
||||
"devDependencies": {
|
||||
"@keymanapp/models-types": "^15.0.261",
|
||||
"@keymanapp/resources-gosh": "^15.0.261",
|
||||
"@keymanapp/models-types": "^15.0.262",
|
||||
"@keymanapp/resources-gosh": "^15.0.262",
|
||||
"@types/node": "^10.17.21",
|
||||
"chai": "^4.3.4",
|
||||
"karma": "^6.3.4",
|
||||
|
|
@ -46,10 +46,10 @@
|
|||
"typescript": "^3.8.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@keymanapp/models-templates": "^15.0.261",
|
||||
"@keymanapp/models-wordbreakers": "^15.0.261",
|
||||
"@keymanapp/web-environment": "^15.0.261",
|
||||
"@keymanapp/web-utils": "^15.0.261",
|
||||
"@keymanapp/models-templates": "^15.0.262",
|
||||
"@keymanapp/models-wordbreakers": "^15.0.262",
|
||||
"@keymanapp/web-environment": "^15.0.262",
|
||||
"@keymanapp/web-utils": "^15.0.262",
|
||||
"es6-shim": "^0.35.5",
|
||||
"string.prototype.codepointat": "^0.2.1",
|
||||
"string.prototype.startswith": "^0.2.0"
|
||||
|
|
|
|||
2
developer/js/package-lock.json
generated
2
developer/js/package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/lexical-model-compiler",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/lexical-model-compiler",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Keyman Developer lexical model compiler",
|
||||
"keywords": [
|
||||
"keyboard",
|
||||
|
|
@ -37,14 +37,14 @@
|
|||
"node": ">=12.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@keymanapp/models-types": "^15.0.261",
|
||||
"@keymanapp/models-types": "^15.0.262",
|
||||
"commander": "^3.0.0",
|
||||
"typescript": "^3.8.3",
|
||||
"xml2js": "^0.4.19"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@keymanapp/models-templates": "^15.0.261",
|
||||
"@keymanapp/models-wordbreakers": "^15.0.261",
|
||||
"@keymanapp/models-templates": "^15.0.262",
|
||||
"@keymanapp/models-wordbreakers": "^15.0.262",
|
||||
"@types/chai": "^4.1.7",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"@types/node": "^10.14.6",
|
||||
|
|
|
|||
2
developer/server/package-lock.json
generated
2
developer/server/package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/developer-server",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/developer-server",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Keyman Developer backend server",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
|
|
|
|||
|
|
@ -21,5 +21,5 @@
|
|||
"ts-node",
|
||||
"typescript"
|
||||
],
|
||||
"version": "15.0.261"
|
||||
"version": "15.0.262"
|
||||
}
|
||||
|
|
|
|||
2
resources/gosh/package-lock.json
generated
2
resources/gosh/package-lock.json
generated
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "@keymanapp/resources-gosh",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 1
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/resources-gosh",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Good Ol' Shell",
|
||||
"author": "Marc Durdin <marc@keyman.com> (https://github.com/mcdurdin)",
|
||||
"contributors": [
|
||||
|
|
|
|||
2
resources/web-environment/package-lock.json
generated
2
resources/web-environment/package-lock.json
generated
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "@keymanapp/web-environment",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 1
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@keymanapp/web-environment",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "A compilation utility for passing select environment variables into our TS builds",
|
||||
"author": "Joshua Horton <joshua_horton@sil.org> (https://github.com/jahorton)",
|
||||
"homepage": "https://github.com/keymanapp/keyman",
|
||||
|
|
@ -17,6 +17,6 @@
|
|||
"url": "https://github.com/keymanapp/keyman/issues"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@keymanapp/resources-gosh": "^15.0.261"
|
||||
"@keymanapp/resources-gosh": "^15.0.262"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
web/package-lock.json
generated
2
web/package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "keyman",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "keyman",
|
||||
"version": "15.0.261",
|
||||
"version": "15.0.262",
|
||||
"description": "Facilitates text input in any language.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
@ -18,8 +18,8 @@
|
|||
},
|
||||
"homepage": "https://github.com/keymanapp/keyman#readme",
|
||||
"devDependencies": {
|
||||
"@keymanapp/resources-gosh": "^15.0.261",
|
||||
"@keymanapp/web-sentry-manager": "^15.0.261",
|
||||
"@keymanapp/resources-gosh": "^15.0.262",
|
||||
"@keymanapp/web-sentry-manager": "^15.0.262",
|
||||
"@sentry/cli": "^1.52.3",
|
||||
"chai": "^4.3.4",
|
||||
"google-closure-compiler-java": "^20200224.0.0",
|
||||
|
|
@ -52,13 +52,13 @@
|
|||
"sentry-cli": "sentry-cli"
|
||||
},
|
||||
"dependencies": {
|
||||
"@keymanapp/input-processor": "^15.0.261",
|
||||
"@keymanapp/keyboard-processor": "^15.0.261",
|
||||
"@keymanapp/lexical-model-layer": "^15.0.261",
|
||||
"@keymanapp/models-types": "^15.0.261",
|
||||
"@keymanapp/recorder-core": "^15.0.261",
|
||||
"@keymanapp/web-environment": "^15.0.261",
|
||||
"@keymanapp/web-utils": "^15.0.261",
|
||||
"@keymanapp/input-processor": "^15.0.262",
|
||||
"@keymanapp/keyboard-processor": "^15.0.262",
|
||||
"@keymanapp/lexical-model-layer": "^15.0.262",
|
||||
"@keymanapp/models-types": "^15.0.262",
|
||||
"@keymanapp/recorder-core": "^15.0.262",
|
||||
"@keymanapp/web-environment": "^15.0.262",
|
||||
"@keymanapp/web-utils": "^15.0.262",
|
||||
"@types/node": "^11.9.4",
|
||||
"es6-shim": "^0.35.5",
|
||||
"eventemitter3": "^4.0.0"
|
||||
|
|
|
|||
|
|
@ -78,7 +78,8 @@ namespace com.keyman.osk.browser {
|
|||
let canvasWidth = xWidth + Math.ceil(xWidth * 0.3) * 2;
|
||||
let canvasHeight = Math.ceil(2.3 * xHeight) + (ySubPixelPadding); //
|
||||
|
||||
kts.top = Math.floor(y - canvasHeight) + 'px';
|
||||
kts.top = 'auto';
|
||||
kts.bottom = Math.floor(keyman.osk.computedHeight - y) + 'px';
|
||||
kts.textAlign = 'center';
|
||||
kts.overflow = 'visible';
|
||||
kts.fontFamily = util.getStyleValue(kc,'font-family');
|
||||
|
|
|
|||
|
|
@ -402,6 +402,13 @@ div.android div.kmw-keytip-tip {
|
|||
background: #999;
|
||||
}
|
||||
|
||||
div.android div.kmw-keytip-cap {
|
||||
position: absolute;
|
||||
background: #999;
|
||||
border-radius: 0 0 5px 5px;
|
||||
border-bottom: solid 1px #8a8d90
|
||||
}
|
||||
|
||||
/* Dark mode - ensure text is colored appropriately for key tips. */
|
||||
@media (prefers-color-scheme: dark) {
|
||||
div.ios div.kmw-keytip {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue