Incomprehensible behaviour of keyman keyboard

The Greek Tonizo keyboard converts vowels to accented vowels automatically when they are preceded by -among others- a space. For example, α preceded by space is converted to ἀ.
Sometimes this rule does not work. Up to now I have not been able to reproduce the error.
However, I just managed to do so and would like to guide you to repeat it, in order to debug. So, please do EXACTLY the following:

  1. Activate the Greek Tonizo keyboard.
  2. Go to this page and search for this string “zo, τὸ”.
  3. SELECT THE ABOVE STRING WITH THE CURSOR, not directly with ctrl-C, (this is very important because otherwise the erroneous behaviour does NOT occur! Don’t ask me why…).
  4. Copy and paste it into the utf8 field of this converter.
  5. Place your cursor after the space and hit α (it is in the same position as a). Normally you should see “ἀ”, but what you see is “α” - the keyboard does not seem to work!
  6. Backspace and repeat: the keyboard now behaves correctly and produces “ἀ”.
    Attention: if after you locate the string you copy it directly from the page with CTRL-C (w/o reselecting it with your cursor), the keyboard behaves OK. In both cases the hex values of the original string are exactly the same!

This behaviour appears quite often when writing. I think that this instance might give a clue. I run Win11. A very old version of this keyboard, offered for years with the name “keymangreek” (Marc knows about it), does not have this problem. Hope you manage to sort it out!

Thanks everybody in advance.

Welcome back to the community site @amadel,

I have followed your instruction and I still can’t produce this error.

Please remember that appear automatically when you use it after a space and other symbols such as ( or -. You can also get by typing ᾿ and α.

Thanks!

I wonder if the issue is with selecting the text which has a base character and a diacritic. When selecting with the cursor, you may end up selecting the base character but not the diacritic. Are you starting from the left-hand side of the word or the right-hand side? I wonder if you’re more likely to get the entire word if you start from the right-hand side.

A screencap video might help

Hi Marc.

I uploaded a screencap with the behaviour I described in my original message at https://tonizo.gr/ScreencapAmaryllis.mp4

The same behaviour appears not only in the example I originally sent, but in any text.

It seems that selecting a piece of text with the cursor and pasting it somehow “destroys” the greek_tonizo kbd selection, hence the utilization of the simple greek kbd. The setting seems to come back when any char is keyed.

Hope this helps.

A.

— Note: Email replies will be posted to the SIL Software Community Site —

| Marc Keyman Product Manager
April 3 |

  • | - |

A screencap video might help

I think the issue is a result of typing after the inserting the cursor in a new location. IIUC after the cursor has been moved to a new location, Keyman doesn’t know about the previous context. In this case that means it doesn’t know that there is a space before the alpha being typed, therefore the rule to put a breathing mark on the alpha is not satisfied. But @Marc can explain it more clearly!

When you backspace (to delete the space) and then type space and the alpha, the breathing mark is added correctly, because Keyman now detects the space you typed as indicating a breathing mark is necessary.

As @nyny mentioned, you can explicitly type the breathing mark. Or as you note, deleting the space and retyping it works as well.

Thank you @amadel for the screencapture and details. I can reproduce the behaviour here, and I think the key is that you are doing this in Firefox. This same behaviour does not happen in any other app that I tested with.

I immediately had the same thought as @drowe – that this related to what we now call “app compliance”, but after looking a bit deeper, I don’t think that that is the issue. This looks like a compatibility issue with Firefox – whether a bug in Firefox or Keyman, I have not yet determined. I have opened an issue for further investigation (the title of the issue may change as we investigate): bug(windows): after pasting text with Ctrl+V, Keyman appears to lose context with Firefox · Issue #13666 · keymanapp/keyman · GitHub

This is exactly what happens. It loses context. Very well defined…

Hi Marc,
I did some more trials today and I got some results for you that may help in deciphering the problem.
a. I changed to Win display language to English
b. I tried Edge in my computer.
c. I tried with the old keymangreek: this is even worse, i.e., even after backspacing, the problem persists!
No change.
Here are the screencaps:

Win11-English display language-Firefox

Win11-English display language-Edge

Win11-English display language-Firefox-old keymangreek

Hope this helps to debug in the right direction.

Regards,

— Note: Email replies will be posted to the SIL Software Community Site —

| Marc Keyman Product Manager
April 3 |

  • | - |

Thank you @amadel for the screencapture and details. I can reproduce the behaviour here, and I think the key is that you are doing this in Firefox. This same behaviour does not happen in any other app that I tested with.

I immediately had the same thought as @drowe – that this related to what we now call “app compliance”, but after looking a bit deeper, I don’t think that that is the issue. This looks like a compatibility issue with Firefox – whether a bug in Firefox or Keyman, I have not yet determined. I have opened an issue for further investigation (the title of the issue may change as we investigate): bug(windows): after pasting text with Ctrl+V, Keyman appears to lose context with Firefox · Issue #13666 · keymanapp/keyman · GitHub