keymanapp / keyman

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

bug(mac): backspace not working as expected in Google Chrome #7526

Closed sgschantz closed 9 months ago

sgschantz commented 1 year ago

Describe the bug

When using Keyman for macOS in Google Chrome with some keyboards, the backspace key does not behave as expected. The backspace key works correctly in Apple apps, such as Pages.

First reported on the SIL Community site.

Reproduce the bug

With Greek Polytonic keyboard, the entire word is deleted with first backspace

  1. In Keyman for macOS, Install and select the keyboard 'Polytonic Greek (SIL)'
  2. Switch to Google Chrome and select the URL text field
  3. Type abc backspace backspace backspace
  4. Expected --> [empty], ἀ, ἀβ, ἀβχ, ἀβ, ἀ, [empty]
  5. Received --> [empty], ἀ, ἀβ, ἀβχ, [empty], [empty], [empty]

Expected behavior

No response

Related issues

No response

Keyman apps

Keyman version

16.0.86.alpha

Operating system

macOS 12.6 Monterey

Device

MacBook Pro

Target application

Google Chrome

Browser

No response

Keyboard name

sil_greek_polytonic, btl_kenya

Keyboard version

No response

Language name

No response

Additional context

No response

mcdurdin commented 1 year ago

5. Received --> [empty], b, b^, uû, uûg, uû, û, u, [empty]

That step 3, looks like there is something else going on apart from backspace?

sgschantz commented 1 year ago

I agree, I think I should break out the diacritic problem with Kenya BTL as a separate issue. I see similar issues with diacritics in Polytonic Greek with diacritics before I type backspace.

Also, should I always call it 'backspace' even though it says 'delete' on the mac keyboard? I think it's more standard to think of 'delete' as a key that deletes after the cursor.

mcdurdin commented 1 year ago

Also, should I always call it 'backspace' even though it says 'delete' on the mac keyboard? I think it's more standard to think of 'delete' as a key that deletes after the cursor.

For consistency across platforms, we tend to use backspace for delete-back, and delete for delete-forward. I think we should stick with that :grin:

darcywong00 commented 1 year ago

Also reported on https://community.software.sil.org/t/delete-key-on-mac-keyman-on-chrome-whatsapp-deletes-too-much/6902

mcdurdin commented 1 year ago

May be related: https://community.software.sil.org/t/yiddish-glitches-on-mac/6918/2

mcdurdin commented 1 year ago

This smells like a regression in Chrome because we are suddenly getting multiple reports of the problem where before we had none. It would be worth trying an older version of Chrome/Chromium to see if the issue arises there, and if not, then doing a bisect.

mcdurdin commented 1 year ago

Perhaps related - Google Docs behaving differently to Gmail (and wrongly both in Chrome and Safari):

PS–I just made an observation which might be helpful. I am seeing the glitch consistently when I type any consonant followed by the ayin/yud keys (which correspond to the e/y keys on the english keyboard). So, for example, if I type k-e-y, this should produce קײ,but instead it often produces קעקײ, or if I type r-e-y, I should get רײ, but instead get רערײ. I am also noticing that while this happens consistently in google docs, it is not happening when I am typing emails in gmail…

Per https://community.software.sil.org/t/yiddish-glitches-on-mac/6918/6

sgschantz commented 1 year ago

The issue with Yiddish seems similar but not exactly the same. The Yiddish output appears as expected in Google Chrome text fields, but in Google Docs I reproduced the issue with Yiddish by typing r-e-y or k-e-y.