Closed lo48576 closed 6 years ago
Ideally, the release event should be ignored only when the corresponding key press event is consumed. But it seems very hard with the current implementation, because each state handlers expect only key press events and does not remember or log the event is consumed or unhandled...
Currently this patch let key release events pass through when dict_edit_level() == 0
, but I'm not sure if it would cause unexpected side-effect.
I think (and wish) many applications which process text input will use key press event (not key release event), so this change would be less likely to cause problem.
Some web pages and web applications requires key release events (even when focuset to input box) to work correctly.
For example, google's keyword suggestions requires up/down keys' release event to select candidates, and Mastodon's search box in web UI requires Enter key's release event to start searching. But current libskk filters out those key release events, and those web pages cannot operated with fcitx-skk.
This patch let key release events pass through, and let those applications (which requires both key release events and text inputs at same time) work correctly.