From 1d3ec12172692a10cf304a90d4e69ae77da3c8f4 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 25 Jun 2018 10:48:53 +0700 Subject: [PATCH] Fixes #863. Pressing between keys gives wrong result because calculation is based on wrong element. --- web/source/kmwosk.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/web/source/kmwosk.ts b/web/source/kmwosk.ts index ab4d7e95f5..8d45c01af6 100644 --- a/web/source/kmwosk.ts +++ b/web/source/kmwosk.ts @@ -2863,8 +2863,8 @@ if(!window['keyman']['initialized']) { for(k = 0; k < t.childNodes.length; k++) { if(t.childNodes[k].firstChild.className.indexOf('key-hidden') >= 0) continue; - x1 = t.childNodes[k].firstChild.offsetLeft; - x2 = x1 + t.childNodes[k].firstChild.offsetWidth; + x1 = t.childNodes[k].offsetLeft; + x2 = x1 + t.childNodes[k].offsetWidth; dx =x1 - x; if(dx >= 0 && dx < dxMin) { @@ -2878,7 +2878,7 @@ if(!window['keyman']['initialized']) { } if(dxMin < 100000) { - t = t.childNodes[k0].firstChild; + t = t.childNodes[k0]; x1 = t.offsetLeft; x2 = x1 + t.offsetWidth; @@ -2886,7 +2886,7 @@ if(!window['keyman']['initialized']) { if(t.offsetWidth > 40) dxMax = 0.6 * t.offsetWidth; if(((x1 - x) >= 0 && (x1 - x) < dxMax) || ((x - x2) >= 0 && (x - x2) < dxMax)) - return t; + return t.firstChild; } return null; }