Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 1162 by anergy.25110321: ibus emits GdkEventKey.state with unused
bits.
http://code.google.com/p/ibus/issues/detail?id=1162
What version of the product are you using? On what operating system?
OS (Linux distributions, UNIX or ...): Linux
Architecture (i386, x86_64):x86_64
IBus version:1.3.8 or later
Input method name and version:ibus-anthy 1.2.5
Python version:2.7.1
dbus version:1.4.0
dbus-python version:0.83
gtk version (if bug is about gtk applications):2.22.1
qt version (if bug is about qt applications):
What steps will reproduce the problem?
1.Running vimprobable:http://www.vimprobable.org/ with running ibus.
$ ibus-daemon --xim &
$ vimprobable
2.Open certain website. For default, vimprobable opens its website.
3.Press 'j' key for example.
What is the expected output? What do you see instead?
'j' key is assigned for scrolling down the viewing webpage.
But it does not respond at all.
Please provide any additional information below.
I tried vimprobable without ibus, which works well.
I also tried vimprobable with another input-method(uim), which works well.
I tried another version of ibus, 1.3.7, which works well.
I modified vimprobable code to output keyboard event, and which said that
GdkEventKey.state has a bit 1<<25, which is defined as
unused:http://library.gnome.org/devel/gdk/stable/gdk-Windows.html#GdkModifierType
Moreover, vimprobable does not care of 25bit is used or not(it doesn't mask
25bit of GdkEventKey.state) but uses state for key assignment definition.
So I searched ibus codes for giving keyevent with 1<<25 state and found
src/ibusinputcontext.c seems to do it (with the great help of Mr.Fujiwara
on IRC. Thanks.) because of not re-process key events which has already
handled by ibus.
With the both of condition (ibus giving key event with unused bits & gtk
application using key event without mask for unused bits), this issue will
occur.
--
You received this message because you are subscribed to the Google
Groups "ibus-devel" group.
iBus project web page: http://code.google.com/p/ibus/
iBus dev group: http://groups.google.com/group/ibus-devel?hl=en