mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-29 11:47:39 +00:00
Fixes issue with not deleting matched deadkeys on touch paths.
This commit is contained in:
parent
e2d5ed4125
commit
27db3f984b
2 changed files with 452 additions and 2 deletions
|
|
@ -670,6 +670,12 @@ class KeyboardInterface {
|
|||
}
|
||||
|
||||
this.keymanweb.touchAliasing.setTextBeforeCaret(Pelem,t);
|
||||
|
||||
// Adjust deadkey positions
|
||||
this._DeadkeyDeleteMatched(); // I3318
|
||||
if(dn >= 0) {
|
||||
this._DeadkeyAdjustPos(this._SelPos(Pelem), -dn + s._kmwLength()); // I3318,I3319
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -801,8 +807,6 @@ class KeyboardInterface {
|
|||
// Aim to put the newest deadkeys first.
|
||||
this._DeadKeys=[Lc].concat(this._DeadKeys);
|
||||
// _DebugDeadKeys(Pelem, 'KDeadKeyOutput: dn='+Pdn+'; deadKey='+Pd);
|
||||
// It's possible to have deadkey-only rules.
|
||||
this._DeadkeyDeleteMatched();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -632,6 +632,452 @@
|
|||
"output": "(P)(Q)(R)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"constraint": {
|
||||
"target": "phone",
|
||||
"validOSList": null,
|
||||
"validBrowsers": null
|
||||
},
|
||||
"testSet": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
}
|
||||
],
|
||||
"output": "(a)(b)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
}
|
||||
],
|
||||
"output": "(b)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
}
|
||||
],
|
||||
"output": "(b)+(b)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
}
|
||||
],
|
||||
"output": "(b)+(a)+(b)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_C"
|
||||
}
|
||||
],
|
||||
"output": "x"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_D"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_E"
|
||||
}
|
||||
],
|
||||
"output": "(a)(d)(e)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_F"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_D"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_E"
|
||||
}
|
||||
],
|
||||
"output": "(f)-(a)-(d)-(e)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_S"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_PERIOD"
|
||||
}
|
||||
],
|
||||
"output": "(a)-(s)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_S"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_PERIOD"
|
||||
}
|
||||
],
|
||||
"output": "(s)+(a)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_M"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_PERIOD"
|
||||
}
|
||||
],
|
||||
"output": "dk(m)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_N"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_PERIOD"
|
||||
}
|
||||
],
|
||||
"output": "dk(n)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_O"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_PERIOD"
|
||||
}
|
||||
],
|
||||
"output": "dk(o)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_P"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_Q"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_R"
|
||||
}
|
||||
],
|
||||
"output": "(p)(q)(r)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_SHIFT"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "shift-K_P"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "shift-K_Q"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "shift-K_R"
|
||||
}
|
||||
],
|
||||
"output": "(P)(Q)(R)"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"constraint": {
|
||||
"target": "tablet",
|
||||
"validOSList": null,
|
||||
"validBrowsers": null
|
||||
},
|
||||
"testSet": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
}
|
||||
],
|
||||
"output": "(a)(b)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
}
|
||||
],
|
||||
"output": "(b)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
}
|
||||
],
|
||||
"output": "(b)+(b)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_B"
|
||||
}
|
||||
],
|
||||
"output": "(b)+(a)+(b)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_C"
|
||||
}
|
||||
],
|
||||
"output": "x"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_D"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_E"
|
||||
}
|
||||
],
|
||||
"output": "(a)(d)(e)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_F"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_D"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_E"
|
||||
}
|
||||
],
|
||||
"output": "(f)-(a)-(d)-(e)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_S"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_PERIOD"
|
||||
}
|
||||
],
|
||||
"output": "(a)-(s)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_S"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_A"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_PERIOD"
|
||||
}
|
||||
],
|
||||
"output": "(s)+(a)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_M"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_PERIOD"
|
||||
}
|
||||
],
|
||||
"output": "dk(m)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_N"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_PERIOD"
|
||||
}
|
||||
],
|
||||
"output": "dk(n)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_O"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_PERIOD"
|
||||
}
|
||||
],
|
||||
"output": "dk(o)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_P"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_Q"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "default-K_R"
|
||||
}
|
||||
],
|
||||
"output": "(p)(q)(r)"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "K_SHIFT"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "shift-K_P"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "shift-K_Q"
|
||||
},
|
||||
{
|
||||
"type": "osk",
|
||||
"keyID": "shift-K_R"
|
||||
}
|
||||
],
|
||||
"output": "(P)(Q)(R)"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue