Tamil keyboard "Suratha Bamini" issues on macOS

@samalex asks:

About the Tamil Keyboard – “Suratha Bamini” for MacOS. The keyboard works in few applications and not in others like OmegaT. Whereas the Tamil fonts inbuilt in MacOS viz. “standard” and “Transliteration” works very well. But, they are not Professional ones. So, why this Suratha Bamini which should be platform independent is not working in some applications?

Could you provide more specific details on what issues you’re seeing with the Keyman Tamil keyboard? It will help our engineers recreate and investigate the issues.


And the details that might be helpful to our engineers are:

  1. The diagnostic report, please send it to us following the steps at http://help.keyman.com/kb/40 (in your case, ignore this because the report tool only works on Windows)
  2. Do you receive any error messages when trying to install or use Keyman?
  3. Can you describe the symptoms of what is going wrong in more detail, e.g.:
    a) Are you unable to find your language keyboard?
    b) You can find your language keyboard, but you cannot select it?
    c) You can select your language keyboard, but it types in English?
    d) You can type with your language keyboard, but it produces garbage letters?
    e) Something else?

The built-in Mac keyboards work quite differently from Keyman. It is possible for applications to serve as the “first responder” for keyboard events. In that case, if the application says it has handled the event, then it will never be passed along to Keyman at all. I’ll have a look at OmegaT and see, but I’m guessing that may be the case.

I have been able to determine that Keyman does get the keyboard events when there is typing in OmegaT. However there is indeed a compatibility problem. The Keyman engine is generating the expected characters, but there is a problem inserting them. I need to do some more research to understand exactly what is happening.

I have submitted a bug report to OmegaT to see if they are able to fix this defect in their software. If not, we may eventually be able to find a workaround. I have also noted this as a compatibility issue here: https://github.com/keymanapp/keyman/issues/458

I am using MacOS. I don’t find anything in the support menu.
I don’t get any error message but, I find English characters instead of Suratha-Bamini even though I select the font.

In Tamil there are various keyboard styles. MacOS inbuilt font styles are (a) Standard (Tamil 99) and (b) Transliteration. Both these styles are not professional ones. That is why we download keyman – Suratha-Bamini. When we use this, Suratha-Bamini, we type in Unicode fonts in Bamini style. This Unicode works in many applications like MS-office with some issues, (I’ll explain this issue later), but the font style does not work in OmegaT (Translation tool), instead, English letters appear. But the Mac inbuilt font styles (mentioned above) work well in the same application. So, the problem is with Keman – Suratha-Bamini and not with OmegaT.

Although the Suratha Bamini keyboard works in MS-Office, there is a small issue. To type Certain letters in Tamil, we need to press three characters like ”கௌ”. This is a single letter in Tamil we need to press three letters ‘nfs’. But, these kind of “three press letters” do not appear in MacOS- MS-office. This has to be rectified.
Hope, I have made it clear to you

The built-in Mac keyboards use a completely different technology, so that’s why they work in OmegaT, but Keyman keyboards do not. We have tracked the problem down. It is a bug in the JDK, which OmegaT (and also jEdit) uses to provide editing controls. Apple has a well-defined protocol for input methods that the JDK should comply with but does not. Hopefully someone will fix that issue. (Since JDK is open source, it’s possible that eventually we’ll have the capacity to try to write a fix and propose a patch, but that could take a while.)