https://bugzilla.redhat.com/show_bug.cgi?id=1133127
--- Comment #16 from Mike FABIAN <mfabian(a)redhat.com> ---
If I apply a patch like this:
diff --git a/engine/table.py b/engine/table.py
index 10cf763..0a380d9 100644
--- a/engine/table.py
+++ b/engine/table.py
@@ -1841,6 +1841,7 @@ class tabengine (IBus.Engine):
Key Events include Key Press and Key Release,
modifier means Key Pressed
'''
+ time.sleep(1)
sys.stderr.write("mike do_process_key_event()\n")
if self._has_input_purpose and self._input_purpose in
[IBus.InputPurpose.PASSWORD, IBus.InputPurpose.PIN]:
return False
lines 1-12/12 (END)
I.e. add a sleep in the key event processing function:
def do_process_key_event(self, keyval, keycode, state):
'''Process Key Events
Key Events include Key Press and Key Release,
modifier means Key Pressed
'''
time.sleep(1)
Then I get a similar behaviour as you are reporting.
When pressing the “a” key and keeping it pressed, I get something like:
фффффaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaффффф
The idea of the sleep(1) is to make the key event processing
artificially slow, just as if there is a very high system load. I was
guessing that maybe your system is much slower than mine and xine is
enough to load your system so much that the key event processing in
ibus-table cannot keep up with your speed of typing any more.
If that happens, one gets the
фффффaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaффффф
When holding the ”a” key.
*But*, I *cannot* find
_table_mode_process_key_event() repr(key)=Shift_L 0x00000000
in the log, so I am not sure whether this is the same effect or not.
The “a” characters in
фффффaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaфaaaaaaaaaaaaaaффффф
do not even reach the event processing function in ibus-table in that
case (I can check that with the help of the log, only the “a”
characters which have been correctly converted to “ф” have been
handled in ibus-table’s key event processing function, the
unconverted “a” characters “bypassed” ibus-table’s key event
processing function). Some input buffer outside of ibus-table
(in ibus or gtk?) seems to overflow. When that buffer overflows, the
additional “a” characters typed go directly into the application
and are not handled by ibus-table anymore.
*But*, not only I cannot see the
_table_mode_process_key_event() repr(key)=Shift_L 0x00000000
in the log in that case nor can I see the mode changing from “Р
(Left Shift)” to “Direct input (Left Shift)” in the properties menu
you get from the gnome-panel.
So I am not sure whether I am on the right track here.
--
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug
https://bugzilla.redhat.com/token.cgi?t=swbYrbGtui&a=cc_unsubscribe