[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#917350: installation-reports: ibus behavior is broken when installing Debian from debian-live-9.6.0-amd64-cinnamon.iso



Package: installation-reports
Severity: normal

Dear Maintainer,

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
     ineffective)?

When I install Debian from debian-live-9.6.0-amd64-cinnamon.iso (language is
en-US), ibus or something other compornent synthesizes key events as usual and
put them into the event queue after handling original key events
asynchronously.

When I install Debian from debian-9.6.0-amd64-netinst.iso, ibus works as
expected, i.e., it synthesizes key events with IBUS_IGNORED_MASK and does not
put them into the event queue.

   * What was the outcome of this action?

Firefox behaves odd. See bug report for Firefox:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1498823
- https://bugzilla.mozilla.org/show_bug.cgi?id=1516323

   * What outcome did you expect instead?

Same as installed from debian-9.6.0-amd64-netinst.iso, ibus should synthesize
key events by itself with IBUS_IGNORED_MASK and don't put them into the event
queue.

Background of ibus:

ibus allows conversion engine to work in different process. Therefore, when it
receives a key event from application, it filters (consumes) the event
temporarily.  Then, when it does not handle the event, it synthesizes copy of
the event and send them to the application.  Then, application can handle the
event. At this time, ibus sets modifier state to IBUS_IGNORED_MASK (1 << 25).

Background of Firefox:

Firefox filters all KeyPress and KeyRelease events to detect whether coming
KeyPress event is generated by auto-repeat or not. For filtering it, Firefox
uses gdk_window_add_filter().

If ibus works as expected, the filter is never called with synthesized key
events.  However, if I install Debian from debian-
live-9.6.0-amd64-cinnamon.iso.  Therefore, synthesized events are always
decided as "repeated" key events by Firefox.

It seems that the unexpected synthesized key events come not from ibus, but I
couldn't find the synthesizer because getting stack from Firefox tells us that
unexpected synthesized key events come from the event queue.

I guess that ibus isn't setup correctly when I install Debian from debian-
live-9.6.0-amd64-cinnamon.iso.



-- System Information:
Debian Release: 9.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-8-amd64 (SMP w/6 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)


Reply to: