beniza / keyboards

Open Source Keyman keyboards
3 stars 2 forks source link

Re-write keyboard to handle Firefox - TSF integration issue #25

Closed beniza closed 6 years ago

beniza commented 6 years ago

Keyman Desktop 9 and later versions integrates deeply with some applications to make text editing more reliable. These applications are said to support "Text Services Framework" and include programs such as Microsoft Word, SIL FLeX, and Mozilla Firefox. However, there are some situations where an application may have a bug that means that text editing becomes less reliable. These problems tend to manifest as characters being deleted unexpectedly, or keyboards not matching the correct characters, or text being inserted in the wrong place. Rules such as the following ones triggers this issue

+ [K_K] > 'ക്'
'്' + [K_R] > '്ര്' c <<<< This rule causes the Keyman compatibility issue
in Firefox

There is a way (https://secure.tavultesoft.com/kb/?id=94) to deactivate the the deep integration but it requires editing of the registry, something that most our users may not be able to do.

Another workaround is to re-write the code to avoid such triggers. This can be handled by changing the code to

store(cKeys) 'g'
store(cValues)  'ഗ'
+ any(cKeys) > index(cValues, 1) '്'
any(cValues) '്' + 'r' > index(cValues, 1) '്ര്' c <<<< This won't break in
FF
beniza commented 6 years ago

Fixed in release 2.0.6