bug(mac): Key processing with text selection problems
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
### Describe the bug
The Text Selection and Key Processing spc test cases with legacy apps show some limitations.
Please have a look here for the [test cases](https://github.com/keymanapp/keyman/issues/9073) and the [Google doc](https://docs.google.com/spreadsheets/d/1NDO82y77C45pw_ZcMPcD36NZ4VUy9hQcuByieyeJVtM/edit#gid=0) for the test results.
See also: [Compatibility Testing A19S24](https://docs.google.com/document/d/1oWsE8V2or8mBqqJMju3em5D_x7l0V0N8Ry1Iq4x77IY/edit?tab=t.0)
Keyman 17.0.218
macOS 14.1.1
Google Chrome 119.0.6045.199
### Reproduce the bug
Failed tests:
---------------------------------------------------------
~1. (T02) ^⁞X the quick brown fox⁞ in doc. Typing BKSP, then Shift+A.
Expected result: Â⁞
Actual result:^A⁞
2. (T04) ^⁞X⁞ in doc. Typing Shift+A.
Expected result: Â⁞
Actual result:^A
3. (T05) ^⁞X the quick brown fox⁞ in doc. Typing Shift+A.
Expected result: Â⁞
Actual result:^A~
4. (T07) ^⁞X⁞ in doc. Typing BKSP, BKSP.
Expected result: foo⁞
Actual result: Blank
5. (T09) a⁞bc de⁞ in doc with selection starting at b. Typing BKSP.
Expected result: a⁞
Actual result: ab
6. (T15) Type X, A followed by [K_BKQUOTE] and B. Select B (Xa⁞b⁞).
Press BKSP twice.
Expected result: X⁞
Actual result: Xa
7. (T16) Type X, A followed by [K_BKQUOTE] and B. Select B (Xa⁞b⁞).
Press BKSP then O.
Expected result: Xao⁞
Actual result: Xa`o
8. T17) Type 1 followed by TAB key, then type 1.
Expected result: ፩
Actual result: After pressing the TAB key move the cursor to the bottom of the page.
### Expected behavior
_No response_
### Related issues
#10012
### Keyman apps
- [ ] Keyman for Android
- [ ] Keyman for iPhone and iPad
- [ ] Keyman for Linux
- [X] Keyman for macOS
- [ ] Keyman for Windows
- [ ] Keyman Developer
- [ ] KeymanWeb
- [ ] Other - give details at bottom of form
### Keyman version
17.0.218-alpha
### Operating system
macOS 14.1.1 Sonoma
### Device
_No response_
### Target application
_No response_
### Browser
Chrome
### Keyboard name
_No response_
### Keyboard version
_No response_
### Language name
_No response_
### Additional context
_No response_
Edit 2025-04-24: updated T02, T04, T05 because selecting the text causes us to loose the context in a non-compliant app, so the result we got is correct.
Contributor guide
Assessment
This issue has not been assessed yet.