commit 0e4d6c5f5fb46a82ecb39697ee322066032d8897 Author: Daiki Ueno ueno@unixuser.org Date: Mon Sep 12 17:45:43 2011 +0900
Update to 1.0.3-4.
eekboard-fix-key-release-race-condition.patch | 2 +- eekboard-send-key-event-for-text.patch | 72 +++++++++++++++++++++---- eekboard-window-size-constraint.patch | 2 +- eekboard.spec | 5 ++- 4 files changed, 67 insertions(+), 14 deletions(-) --- diff --git a/eekboard-fix-key-release-race-condition.patch b/eekboard-fix-key-release-race-condition.patch index bd63ffd..62f9272 100644 --- a/eekboard-fix-key-release-race-condition.patch +++ b/eekboard-fix-key-release-race-condition.patch @@ -1,7 +1,7 @@ From f72e9f5293c14181b836fdc9c524b8b037296a40 Mon Sep 17 00:00:00 2001 From: Daiki Ueno ueno@unixuser.org Date: Mon, 12 Sep 2011 11:06:26 +0900 -Subject: [PATCH 2/2] Copy pressed_keys list before sending released/cancelled +Subject: [PATCH 2/5] Copy pressed_keys list before sending released/cancelled signal (RHBZ#737396).
--- diff --git a/eekboard-send-key-event-for-text.patch b/eekboard-send-key-event-for-text.patch index abe9976..d11015d 100644 --- a/eekboard-send-key-event-for-text.patch +++ b/eekboard-send-key-event-for-text.patch @@ -1,18 +1,18 @@ -From 15f7b0ecfffa0fab5b414d25e31ba5ab39bccbc5 Mon Sep 17 00:00:00 2001 +From 2dbcc02d8e2f1e884c0a023c6dd06432ffb5f751 Mon Sep 17 00:00:00 2001 From: Daiki Ueno ueno@unixuser.org Date: Mon, 12 Sep 2011 12:51:17 +0900 -Subject: [PATCH 3/4] Send fake key event for each character in EekText +Subject: [PATCH 3/5] Send fake key event for each character in EekText symbol.
--- - src/client.c | 41 +++++++++++++++++++++++++++++++++++------ - 1 files changed, 35 insertions(+), 6 deletions(-) + src/client.c | 63 +++++++++++++++++++++++++++++++++++++++++++++------------ + 1 files changed, 49 insertions(+), 14 deletions(-)
diff --git a/src/client.c b/src/client.c -index ba40905..82f1ec8 100644 +index ba40905..99d75d9 100644 --- a/src/client.c +++ b/src/client.c -@@ -901,18 +901,47 @@ send_fake_modifier_key_event (Client *client, +@@ -901,20 +901,16 @@ send_fake_modifier_key_event (Client *client, }
static void @@ -32,6 +32,38 @@ index ba40905..82f1ec8 100644
- /* Ignore special keys and modifiers */ - if (!EEK_IS_KEYSYM(symbol) || eek_symbol_is_modifier (symbol)) +- return; +- + xkeysym = eek_keysym_get_xkeysym (EEK_KEYSYM(symbol)); + g_return_if_fail (xkeysym > 0); + +@@ -927,7 +923,7 @@ send_fake_key_event (Client *client, + return; + } + } +- ++ + /* Clear level shift modifiers */ + keyboard_modifiers &= ~EEK_SHIFT_MASK; + keyboard_modifiers &= ~EEK_LOCK_MASK; +@@ -941,8 +937,7 @@ send_fake_key_event (Client *client, + send_fake_modifier_key_event (client, modifiers, is_pressed); + XSync (GDK_DISPLAY_XDISPLAY (display), False); + +- keycode = XKeysymToKeycode (GDK_DISPLAY_XDISPLAY (display), +- xkeysym); ++ keycode = XKeysymToKeycode (GDK_DISPLAY_XDISPLAY (display), xkeysym); + g_return_if_fail (keycode > 0); + + XTestFakeKeyEvent (GDK_DISPLAY_XDISPLAY (display), +@@ -956,6 +951,48 @@ send_fake_key_event (Client *client, + } + + static void ++send_fake_key_events (Client *client, ++ EekSymbol *symbol, ++ guint keyboard_modifiers) ++{ + /* Ignore modifier keys */ + if (eek_symbol_is_modifier (symbol)) + return; @@ -44,6 +76,7 @@ index ba40905..82f1ec8 100644 + gint i; + + for (i = 0; i < items_written; i++) { ++ guint xkeysym; + EekKeysym *keysym; + gchar *name; + @@ -52,10 +85,9 @@ index ba40905..82f1ec8 100644 + g_free (name); + + keysym = eek_keysym_new (xkeysym); -+ send_fake_key_event (client, -+ EEK_SYMBOL(keysym), -+ keyboard_modifiers, -+ is_pressed); ++ send_fake_key_events (client, ++ EEK_SYMBOL(keysym), ++ keyboard_modifiers); + } + g_free (ucs4); + return; @@ -63,9 +95,27 @@ index ba40905..82f1ec8 100644 + + /* Ignore special keys */ + if (!EEK_IS_KEYSYM(symbol)) ++ return; ++ ++ send_fake_key_event (client, symbol, keyboard_modifiers, TRUE); ++ send_fake_key_event (client, symbol, keyboard_modifiers, FALSE); ++} ++ ++static void + on_key_pressed (EekboardContext *context, + const gchar *keyname, + EekSymbol *symbol, +@@ -978,9 +1015,7 @@ on_key_pressed (EekboardContext *context, return; + }
- xkeysym = eek_keysym_get_xkeysym (EEK_KEYSYM(symbol)); +- +- send_fake_key_event (client, symbol, modifiers, TRUE); +- send_fake_key_event (client, symbol, modifiers, FALSE); ++ send_fake_key_events (client, symbol, modifiers); + } + + static void -- 1.7.6.2
diff --git a/eekboard-window-size-constraint.patch b/eekboard-window-size-constraint.patch index 6ac4b81..b2cf6ae 100644 --- a/eekboard-window-size-constraint.patch +++ b/eekboard-window-size-constraint.patch @@ -1,7 +1,7 @@ From 0d93f31eea1e751045030c9cbd89b2086cfba437 Mon Sep 17 00:00:00 2001 From: Daiki Ueno ueno@unixuser.org Date: Fri, 2 Sep 2011 17:12:13 +0900 -Subject: [PATCH 1/2] Add window size constraint option in gsettings. +Subject: [PATCH 1/5] Add window size constraint option in gsettings.
--- data/org.fedorahosted.eekboard.gschema.xml.in | 10 ++++ diff --git a/eekboard.spec b/eekboard.spec index f2fa730..6a09150 100644 --- a/eekboard.spec +++ b/eekboard.spec @@ -1,6 +1,6 @@ Name: eekboard Version: 1.0.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: An Easy-to-use Virtual Keyboard Toolkit
Group: Applications/System @@ -152,6 +152,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%changelog +* Mon Sep 12 2011 Daiki Ueno dueno@redhat.com - 1.0.3-4 +- fix eekboard-send-key-event-for-text.patch (#737440) + * Mon Sep 12 2011 Daiki Ueno dueno@redhat.com - 1.0.3-3 - add eekboard-send-key-event-for-text.patch
i18n-bugs@lists.fedoraproject.org