[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 73e4335c58 1/2: Stop decoding GTK event strings when using native
From: |
Po Lu |
Subject: |
master 73e4335c58 1/2: Stop decoding GTK event strings when using native input |
Date: |
Tue, 11 Jan 2022 05:13:43 -0500 (EST) |
branch: master
commit 73e4335c58ad8a475381dd4e585c55f4615e4d19
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Stop decoding GTK event strings when using native input
* src/gtkutil.c (xg_widget_key_press_event_cb): Stop decoding
event strings.
---
src/gtkutil.c | 42 +++++++++---------------------------------
1 file changed, 9 insertions(+), 33 deletions(-)
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 8eab6ee723..3550a56e29 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -6123,9 +6123,6 @@ xg_widget_key_press_event_cb (GtkWidget *widget, GdkEvent
*event,
union buffered_input_event inev;
guint keysym = event->key.keyval;
unsigned int xstate;
- gunichar *cb;
- ptrdiff_t i;
- glong len;
gunichar uc;
FOR_EACH_FRAME (tail, tem)
@@ -6235,40 +6232,19 @@ xg_widget_key_press_event_cb (GtkWidget *widget,
GdkEvent *event,
goto done;
}
- if (event->key.string)
- {
- cb = g_utf8_to_ucs4_fast (event->key.string, -1, &len);
-
- for (i = 0; i < len; ++i)
- {
- inev.ie.kind = (SINGLE_BYTE_CHAR_P (cb[i])
- ? ASCII_KEYSTROKE_EVENT
- : MULTIBYTE_CHAR_KEYSTROKE_EVENT);
- inev.ie.code = cb[i];
-
- kbd_buffer_store_buffered_event (&inev, &xg_pending_quit_event);
- }
-
- g_free (cb);
+ uc = gdk_keyval_to_unicode (keysym);
- inev.ie.kind = NO_EVENT;
+ if (uc)
+ {
+ inev.ie.kind = (SINGLE_BYTE_CHAR_P (uc)
+ ? ASCII_KEYSTROKE_EVENT
+ : MULTIBYTE_CHAR_KEYSTROKE_EVENT);
+ inev.ie.code = uc;
}
else
{
- uc = gdk_keyval_to_unicode (keysym);
-
- if (uc)
- {
- inev.ie.kind = (SINGLE_BYTE_CHAR_P (uc)
- ? ASCII_KEYSTROKE_EVENT
- : MULTIBYTE_CHAR_KEYSTROKE_EVENT);
- inev.ie.code = uc;
- }
- else
- {
- inev.ie.kind = NON_ASCII_KEYSTROKE_EVENT;
- inev.ie.code = keysym;
- }
+ inev.ie.kind = NON_ASCII_KEYSTROKE_EVENT;
+ inev.ie.code = keysym;
}
done: