Takashi Iwai
d9591a26ae
Fix dead keys with non-English keyboard in some applications (MAME, Wine) (boo#1218135) OBS-URL: https://build.opensuse.org/request/show/1145090 OBS-URL: https://build.opensuse.org/package/show/M17N/ibus?expand=0&rev=285
72 lines
2.4 KiB
Diff
72 lines
2.4 KiB
Diff
From: fujiwarat <takao.fujiwara1@gmail.com>
|
|
Date: Tue, 5 Dec 2023 23:13:25 +0900
|
|
Subject: src: Complete preedit signals for PostProcessKeyEvent
|
|
Git-commit: 719792d300579c1bfdf43251a83c6ed4e5594c07
|
|
Patch-mainline: yes
|
|
References: boo#1218135
|
|
|
|
I forgot to implement show-preedit-text and hide-preedit-text signals
|
|
with PostProcessKeyEvent D-Bus signal in the client side.
|
|
|
|
Fixes: https://github.com/ibus/ibus/commit/e059536
|
|
|
|
BUG=https://github.com/ibus/ibus/issues/2585
|
|
---
|
|
src/ibusinputcontext.c | 33 ++++++++++++++++++++++++++-------
|
|
1 file changed, 26 insertions(+), 7 deletions(-)
|
|
|
|
--- ibus-1.5.29-rc2.orig/src/ibusinputcontext.c
|
|
+++ ibus-1.5.29-rc2/src/ibusinputcontext.c
|
|
@@ -1464,6 +1464,22 @@ ibus_input_context_fwd_text_to_delete_su
|
|
|
|
|
|
static void
|
|
+ibus_input_context_fwd_text_to_hide_preedit (IBusInputContext *context,
|
|
+ IBusText *text)
|
|
+{
|
|
+ g_signal_emit (context, context_signals[HIDE_PREEDIT_TEXT], 0, text);
|
|
+}
|
|
+
|
|
+
|
|
+static void
|
|
+ibus_input_context_fwd_text_to_show_preedit (IBusInputContext *context,
|
|
+ IBusText *text)
|
|
+{
|
|
+ g_signal_emit (context, context_signals[SHOW_PREEDIT_TEXT], 0, text);
|
|
+}
|
|
+
|
|
+
|
|
+static void
|
|
ibus_input_context_fwd_text_to_update_preedit (IBusInputContext *context,
|
|
IBusText *text,
|
|
IBusText *position,
|
|
@@ -1558,18 +1574,21 @@ ibus_input_context_post_process_key_even
|
|
case 'c':
|
|
ibus_input_context_fwd_text_to_commit (context, text);
|
|
break;
|
|
- case 'f': {
|
|
+ case 'd':
|
|
+ ibus_input_context_fwd_text_to_delete_surrounding (context, text);
|
|
+ break;
|
|
+ case 'f':
|
|
ibus_input_context_fwd_text_to_forward_key_event (context, text);
|
|
break;
|
|
- }
|
|
- case 'r': {
|
|
+ case 'h':
|
|
+ ibus_input_context_fwd_text_to_hide_preedit (context, text);
|
|
+ break;
|
|
+ case 'r':
|
|
ibus_input_context_fwd_text_to_require_surrounding (context, text);
|
|
break;
|
|
- }
|
|
- case 'd': {
|
|
- ibus_input_context_fwd_text_to_delete_surrounding (context, text);
|
|
+ case 's':
|
|
+ ibus_input_context_fwd_text_to_show_preedit (context, text);
|
|
break;
|
|
- }
|
|
case 'u':
|
|
case 'm': {
|
|
IBusText *position;
|