keymanapp / keyman

Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
https://keyman.com/
Other
377 stars 104 forks source link

bug(mac): not replacing on Texstudio (QT6) for Amharic #9506

Open DesBw opened 10 months ago

DesBw commented 10 months ago

Describe the bug

Typed: selam Received: ስሰልላም Expected: ሰላም

Reproduce the bug

  1. Open the latest version of Texstudio
  2. Start up a new document (CMD+N)
  3. Change your input to Keyman Amharic
  4. Type "selam"

Expected behavior

Keyman is supposted to replace the texts to write the correct forms. Typing s and e is supposed to type ሰ; not ስ ሰ.

Related issues

No response

Keyman apps

Keyman version

16

Operating system

Mac Ventura; Windows 11

Device

MacBook & Windows Pc

Target application

Texstudio

Browser

No response

Keyboard name

No response

Keyboard version

No response

Language name

Amharic

Additional context

No response

sgschantz commented 10 months ago

I was able to reproduce with TeXstudio but got the correct output for TextEdit and Safari. This will be a good app to test for legacy app support on the Mac with Keyman Core (and possibly add to the legacy default list).

DesBw commented 10 months ago

Yes, Keyman works fine with almost all other applications. So far, I find only Texstudio to cause issues with Keyman. Since texstudio is built with QT6, I was wondering if the issue is with the general framework (of the QT). The consistency of the issue across the Mac and Windows versions of the app suggests that. But, I an unable to confirm because I know no other app that runs on QT6.

rc-swag commented 9 months ago

From the comments so far this sounded like a cluster issue with QT6. However, my testing on Windows 10 and Windows 11 did not reproduce the problem. The expected output was produced. Windows Version: 22H2 OS build: 22621.2134 Keyman Version: 16.0.141 TeXstudio Version: 4.6.3 @Dellu do you know if there is any other setting I may need try to reproduce the issue?

I did find this editor that possibly could be used to verify QT6 on Windows and Linux. https://github.com/zurg3/notepad Note: The already built version seemed to use QT5.

DesBw commented 9 months ago

Dear @rc-swag

I am surprised that you are getting the correct outputs in Windows 11. I was having the same issue on it; as I did on the Mac. Currently, I am running Texstudio on Ubuntu. The behavior is the same: Trying to write ሰላም by hitting selam is producing ስሰልላም on Texstudio as well as the browser I am using right now (Brave).

The source code of the NotePad app you liked above also uses QT5. I was trying to build it on Ubuntu. I get the error: Target "notepad" links to target "Qt5::PrintSupport" but the target was not found.

The issue is much more widespread on Ubuntu. Here are some popular apps I am trying right now that write ስሰልላም for selam

Apps generating the right output:

I am getting conflicting information if the QT is the cause of the issue; because in one hand, Brave seems to use QT, while Sublime doesn't seem to use QT (https://forum.sublimetext.com/t/is-qt-framwork-is-use-used-in-sublime/38489/5)

rc-swag commented 9 months ago

Hello @Dellu, Thank you for the information on Linux we can check that also. Can you please confirm the Amharic keyboard you are using?

The keyboard I have been using is gff_amharic.

@ermshiperete can you please see if you can reproduce this on issue on Linux.

ermshiperete commented 9 months ago

Tested with Ubuntu 22.04, Keyman 17.0.173, ibus 1.5.28-3sil1~jammy, gff_amharic keyboard, and texstudio 4.2.1+ds-1 (installed with sudo apt install texstudio):

with that I can reproduce the problem: typing selam results in ስሰልላም.

@Dellu What version of Keyman and Ubuntu do you use? Please note that you'll need the patched ibus version from https://launchpad.net/~keymanapp/+archive/ubuntu/keyman and Keyman 16+. Full support for Wayland is only available in Keyman 17 (currently in alpha). Also note that apps installed as snap or flatpak packages won't completely work with Keyman (because they're missing the patched ibus) - hopefully this will change eventually if our ibus pull request gets accepted.

ermshiperete commented 9 months ago

Regarding the other apps in Ubuntu you mentioned:

All these apps don't support surrounding text, so Keyman has to simulate pressing the backspace key to delete the previous character.

DesBw commented 9 months ago

Dear @ermshiperete Thank you for looking into the issue.

I didn't know about the beta version of keyman. I am using version 16. Another good news is: both sublime and the Gnome terminal are working flawlessly after I upgraded to Ubuntu version 23.04 (I upgraded this morning, for other reasons). As for the Brave, the workaround is not helping on my side. But, I don't worry much about it. What is rather worrisome is that of Obsidian. It is very useful application to write notes. But, the Keyman input is not working on it in Ubuntu 23.

Thank you.

mcdurdin commented 8 months ago

As Texstudio seems to be working correctly on Linux and Windows, reclassifying this issue for macOS only at this point.

As for the Brave, the workaround is not helping on my side. But, I don't worry much about it. What is rather worrisome is that of Obsidian. It is very useful application to write notes. But, the Keyman input is not working on it in Ubuntu 23.

If there are compatibility issues with other apps, then please open these as separate issues, linking to this one as appropriate.

sgschantz commented 6 months ago

Thought this was addressed by #10066, but issue still happens sporadically. It appears that some stale state is introduced when switching apps or keyboards that breaks key processing. Notes from the failed user test: https://github.com/keymanapp/keyman/pull/10066#issuecomment-1847060293

sgschantz commented 4 months ago

@bharanidharanj: this works as expected for me with version 17.0.262-alpha. It was probably fixed with the recent changes to Keyman for Mac to use Core. Can you take another look at it with the current version of 17?

sgschantz commented 4 months ago

Bharani and I met and tested this with the latest version፡ Keyman 17.0.271-beta All worked as expected running Texstudio on my Intel Macbook Pro running macOS Monterey, but we both had issues typing 'selam' on a Mac mini with an Apple processor and running macOS Sonoma.

I did a fresh install of Texstudio and had not installed Rosetta before, so I received this alert when I did the install: image

We have not tested on an Intel processor Mac running Sonoma, or an Apple silicon Mac running an earlier OS, but I think I can come up with one or both of those combinations later. My guess is that the hardware is not the issue, so I'll see if I can test something at home that will further isolate the issue.

mcdurdin commented 4 months ago

That smells like a race condition -- changes in behaviour relating to processor performance!

sgschantz commented 4 months ago

That smells like a race condition -- changes in behaviour relating to processor performance!

Good point -- I wasn't thinking in terms of just performance.

sgschantz commented 4 months ago

Works as expected on an Intel MacBook Pro running Sonoma.

In summaryː

Intel MacBook Pro, Monterey good Intel MacBook Pro, Sonomaː good Mac Mini M1, Sonoma: bad Mac Mini M2, Sonoma: bad MacBook Pro, M1 Pro, Sonomaː bad

So, Apple silicon appears to be the common factor.