keymanapp / keymanapp/keyman

bug(windows): after pasting text with Ctrl+V, Keyman appears to lose context with Firefox

Open
#13,666 6 comments 0 reactions 1 assignee Assigned to @rc-swag View on GitHub
bug compatibility windows/
Dominant language
Pascal
Stars
534
Forks
143
Avg merge
2d 10h
Merged PRs (30d)
113

Description

Reported by @tonizo2025 at https://community.software.sil.org/t/incomprehensible-behaviour-of-keyman-keyboard/9987. It looks like there may be an issue when pasting text into a Firefox text field. Firefox is a compliant app, with full TSF support. But I cannot reproduce this behaviour in any other compliant application; a non-compliant application is not really relevant, as Keyman would be treating the insert position as start-of-text due to the mouse click.

Note that the behaviour I am observing is not strictly identical to what @tonizo2025 observes in her post above. I see a Latin script `a` inserted, whereas she sees a Greek `α`. However, that may be a helpful pointer -- could it be dropping through to default Windows keyboard behaviour for that first keystroke -- with her computer setup for Greek, whereas mine is setup for English?

## First trace, Ctrl+V for paste
Here is the sequence I typed:

123        select "UTF8 to hexade", press Ctrl+C, click at end of text, press Ctrl+V, click after "to " (after space), press a a, and we see `UTF8 to aαhexade` instead of expected `UTF8 to ἀαhexade`.

https://github.com/user-attachments/assets/7d7c8cf5-54f2-413e-ad71-d4a9fc73e646

* Keyman trace: [ctrl-v-paste.zip](https://github.com/user-attachments/files/19595823/first-trace.zip)

-----------

## Second trace, menu for paste

If I match those steps precisely but instead of Ctrl+V, use right-click paste, then Keyman correctly reads context. This looks like it might be a bug in Firefox's clipboard/context management?

123        select "UTF8 to hexade", press Ctrl+C, click at end of text, right-click paste, click after "to " (after space), press a a, and we see expected `UTF8 to ἀαhexade`.

https://github.com/user-attachments/assets/152ef640-141d-4690-92c5-76283e8fde79

* Keyman trace: [menu-mouse-paste.zip](https://github.com/user-attachments/files/19595846/menu-mouse-paste.zip)

-----

Note: KB118 coming soon to describe compliant vs non-compliant apps (see keymanapp/help.keyman.com#1953)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.