Topic Fire a Rule on existing text?

We have two new locations for Keyman technical support:

The Tavultesoft Forums are now read only.

# Fire a Rule on existing text?   2016-02-08 08:55:53.563
br Julian Griffin OSL

    Keyman is a most impressive product. It works very well, I am managing to get all I hopped from it. Thank you.

   I’ve set it up so that when I type a letter and follow it with two of a specific key, the text is changed to what I want, eg a** is replaced with an ‘a’ with a small ‘x’ above it. This exactly what I need.

   So it seems a bit churlish of me to ask for more. But, hear I go, if I type ‘a**’ I get what I want; however, this only works if the characters are entered consecutively. ‘a**’ works, so does ‘a[Space][Backspace]**’ but ‘a[Space][Left-Arrow]** does not work,. All this means that if I wish to edit existing text I must retype the target letter(s) for the Keyman Rule to fire.
Is there a way for existing text to fire a Rule without first deleting the target and re-entering it?

   If not, it is a small price to pay for a system that solves some many of my problems. I knew I needed Keyman before I knew Keyman existed.

Julian Griffin
# RE: Fire a Rule on existing text?   2016-02-09 06:38:08.550
Marc Durdin
Tavultesoft Staff
Thank you for the compliments :) I'm really glad Keyman is working so well for you.

In terms of the question you ask, yes, this is definitely annoying. The answer is that some apps support this level of access to their text store by the input method, but not many. If you use Microsoft Word with Keyman 9, you'll see that Keyman can manipulate existing text there. The list of apps that do properly support this functionality in Windows (the technology is called Text Services Framework in Windows) is short:

  • Microsoft Word
  • Mozilla Firefox (v42 and later)
  • SIL Language Explorer (FLex)
  • Microsoft Publisher (have not tested this recently)
  • WordPad (and other apps that use the same richedit control internally)

The situation is somewhat better on other platforms:
  • Web: For KeymanWeb, this functionality is supported natively in all browsers.
  • Mac OS X: most apps seem to support this behaviour with Keyman for Mac OS X (although this is still in beta and we have not completed testing)
  • iOS: this behaviour is supported natively with Keyman for iOS
  • Android: this behaviour is supported natively with Keyman for Android
# RE: Fire a Rule on existing text?   2016-02-09 09:51:44.967
br Julian Griffin OSL
Thank you for the list apps that will work best with Keyman.

   I was using Windows Notepad to test my keyboard. In the hope that it had fewer reasons to interfere with the operations of Keyman.

   Even the safest of ground is replete with pit-falls.

   I've been it IT for more than three decades. And I have spent an unreasonable proportion of that time falling into, mapping and climbing out of pit-falls.

God Bless.
Julian Griffin
# RE: Fire a Rule on existing text?   2016-02-09 10:27:07.403
Marc Durdin
Tavultesoft Staff
Yes, I use Notepad as a baseline as well: especially because it doesn't do "weird" font stuff or text manipulation.

I do have a feature in my queue to add support for the Notepad EDIT control for full text store manipulation, because I know we can do that - just have not had the time to write the support as yet. That will actually cover a huge proportion of Windows apps that don't support TSF as well so there's hope for the future!