New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bug(linux): Backspacing and reordering is not working well in Firefox, Terminal #1489
Comments
I can't replicate the problem in Firefox. What are you doing in Firefox that exhibits the problem I've confirmed looking at it that the same underlying text going to Terminal and text editor (gedit/pluma). The text editor uses pango and reorders and shapes. |
For the khmer_angkor keyboard, I'll give baseline results with gedit, then Terminal and Firefox. It's important to understand that when I type
Baseline, gedit.This is what is expected (and what I consistently see in gedit).
Terminal
FirefoxOn Firefox, the replacement sometimes works -- this looks like a race condition on backspacing. I can observe failure on my VM 4 times out of 5.
* These are incorrect results |
Thanks for the fuller explanation. Can you try a virtual terminal emulator on windows and see if that is general cross-platform virtual terminal behaviour and not just a problem on linux? |
For Firefox and other apps such as Chrome/Chromium where ibus can't get the surrounding context: I can confirm that it is a race condition on backspaces. I can't find a way to do a backspace in series with the text commit so there are no guarantees about when they'll happen I don't like it at all but I can't find a way to speed up the backspace and the only way I've found to slow down the text commit enough to reliably[1] enter that text is to sleep for a realisticish keypress of 1/100s after each forward_backspace press and send a backspace key release after that. [1] saying that, there is another race problem if you start typing too soon after starting ibus or switching to a keyman keyboard, at least on a slower computer |
|
Yes, this problem arises with Mintty on Windows (BKSP on U+1798 U+17D2 deletes both). |
Good, as expected then so we can't do anything more about terminals. |
I haven't replicated it but the code path to forward the backspace is the same so I would expect it to.
I agree.
Unfortunately I can't see a way to do something similar here.
OK |
After discussion, we will postpone this to v12 given it will require significant architectural design and perhaps upstream changes to ibus. This is not ideal but the same problems are present in KMFL and other ibus-based systems so it is a known limitation. |
A similar problem with Anki (Qt-based) and EuroLatin (SIL):
The result is P.S. Notepadqq is Qt-based but has no this problem. |
See also the Firefox part in #4429. |
I was able to reproduce this problem pretty consistently in a Bionic VM. A good site to test in Firefox might be https://www.editpad.org/. |
This change requires a change in ibus as a prerequisite. Fixes #1489.
This change requires a change in ibus as a prerequisite. Fixes #1489.
This change requires a change in ibus as a prerequisite. Fixes #1489.
This change implements a commit queue which allows to control the order of the output. This ensures that any backspace we generate will be processed before the character we're adding. Requires changes in ibus (surrounding text fix (see #7072) and prefilter change) Fixes #1489, #4028, #4029, #4030, #4505, #5510, #6639
This change implements a commit queue which allows to control the order of the output. This ensures that any backspace we generate will be processed before the character we're adding. Requires changes in ibus (surrounding text fix (see #7072) and prefilter change) Fixes #1489, #4028, #4029, #4030, #4505, #5510, #6639
This change implements a commit queue which allows to control the order of the output. This ensures that any backspace we generate will be processed before the character we're adding. Requires changes in ibus (surrounding text fix (see #7072) and prefilter change) Fixes #1489, #4028, #4029, #4030, #4505, #5510, #6639
This change implements a commit queue which allows to control the order of the output. This ensures that any backspace we generate will be processed before the character we're adding. Requires changes in ibus (surrounding text fix (see #7072) and prefilter change) Fixes #1489, #4028, #4029, #4030, #4505, #5510, #6639
This change implements a commit queue which allows to control the order of the output. This ensures that any backspace we generate will be processed before the character we're adding. Requires changes in ibus (surrounding text fix (see #7072) and prefilter change) Fixes #1489, #4028, #4029, #4030, #4505, #5510, #6639
This change requires a change in ibus as a prerequisite. Fixes keymanapp#1489.
This change implements a commit queue which allows to control the order of the output. This ensures that any backspace we generate will be processed before the character we're adding. Requires changes in ibus (surrounding text fix (see #7072) and prefilter change) Fixes #1489, #4028, #4029, #4030, #4505, #5510, #6639
This change implements a commit queue which allows to control the order of the output. This ensures that any backspace we generate will be processed before the character we're adding. Requires changes in ibus (surrounding text fix (see #7072) and prefilter change) Fixes #1489, #4028, #4029, #4030, #4505, #5510, #6639
Keyman does not appear to be working correctly in Firefox, Terminal: reordering, e.g. with Khmer Angkor, xEjmr is not producing ខ្មែរ (normally typed xjmEr).
The text was updated successfully, but these errors were encountered: