[input-pad] Updated input-pad-HEAD.patch for eekboard
Takao Fujiwara
fujiwara at fedoraproject.org
Fri Feb 25 04:08:05 UTC 2011
commit b0dd604fc659576d768238f2b563a7ff3c91092f
Author: Takao Fujiwara <tfujiwar at redhat.com>
Date: Fri Feb 25 13:07:51 2011 +0900
Updated input-pad-HEAD.patch for eekboard
input-pad-HEAD.patch | 192 ++++++++++++++++++++++++++++++++++++++++++++++++++
input-pad.spec | 25 +++----
2 files changed, 203 insertions(+), 14 deletions(-)
---
diff --git a/input-pad-HEAD.patch b/input-pad-HEAD.patch
index db3574d..ff00ee5 100644
--- a/input-pad-HEAD.patch
+++ b/input-pad-HEAD.patch
@@ -59,3 +59,195 @@ index 372c611..a7ec01e 100644
--
1.7.3.2
+From 5c019b23329750085fe6a0a1fb8eef576195b764 Mon Sep 17 00:00:00 2001
+From: Daiki Ueno <ueno at unixuser.org>
+Date: Tue, 25 Jan 2011 18:59:47 +0900
+Subject: [PATCH 1/2] Follow eek 0.90 API changes.
+
+---
+ configure.ac | 2 +-
+ input-pad/eek-gtk.c | 30 ++++++++++--------------------
+ 2 files changed, 11 insertions(+), 21 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7445290..d49ad9e 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -142,7 +142,7 @@ AC_MSG_RESULT($enable_eek)
+ if test x"$enable_eek" = xyes; then
+ dnl - check eek is available
+ PKG_CHECK_MODULES(EEK, [
+- eek-gtk-0.1 eek-xkl-0.1
++ eek-gtk-0.90 eek-xkl-0.90
+ ],, AC_MSG_ERROR([libeek not found]))
+ AM_CONDITIONAL(HAVE_EEK, true)
+ else
+diff --git a/input-pad/eek-gtk.c b/input-pad/eek-gtk.c
+index 53c52c8..84f22cd 100644
+--- a/input-pad/eek-gtk.c
++++ b/input-pad/eek-gtk.c
+@@ -40,7 +40,6 @@
+
+ struct _InputPadGtkKbduiEekPrivate {
+ EekKeyboard *eek_keyboard;
+- EekLayout *eek_layout;
+ };
+
+ static void create_keyboard_layout_ui_real_eek
+@@ -68,16 +67,12 @@ on_window_keyboard_changed_eek (InputPadGtkWindow *window,
+ gint group,
+ gpointer data)
+ {
+- gint prev_group, prev_level;
+ InputPadGtkKbduiEek *kbdui;
+
+ g_return_if_fail (INPUT_PAD_IS_GTK_KBDUI_EEK (data));
+
+ kbdui = INPUT_PAD_GTK_KBDUI_EEK (data);
+- eek_keyboard_get_keysym_index (kbdui->priv->eek_keyboard,
+- &prev_group, &prev_level);
+- eek_keyboard_set_keysym_index (kbdui->priv->eek_keyboard,
+- group, prev_level);
++ eek_keyboard_set_group (kbdui->priv->eek_keyboard, group);
+ }
+
+ static void
+@@ -130,8 +125,7 @@ on_eek_keyboard_key_pressed (EekKeyboard *keyboard,
+ input_pad_gtk_window_set_keyboard_state_with_keysym (window, keysym0);
+ if (keysym0 == XK_Shift_L || keysym0 == XK_Shift_R) {
+ state = input_pad_gtk_window_get_keyboard_state (window);
+- eek_keyboard_set_keysym_index (keyboard, group,
+- state & ShiftMask ? 1 : 0);
++ eek_keyboard_set_level (keyboard, state & ShiftMask ? 1 : 0);
+ }
+ }
+
+@@ -143,27 +137,24 @@ create_keyboard_layout_ui_real_eek (InputPadGtkKbdui *kbdui,
+ InputPadGtkKbduiEek *kbdui_eek;
+ EekKeyboard *keyboard;
+ EekLayout *layout;
+- EekBounds bounds;
+ GtkWidget *widget;
++ gdouble width, height;
+
+ g_return_if_fail (INPUT_PAD_IS_GTK_KBDUI_EEK (kbdui));
+
+ kbdui_eek = INPUT_PAD_GTK_KBDUI_EEK (kbdui);
+- keyboard = kbdui_eek->priv->eek_keyboard = eek_gtk_keyboard_new ();
++ layout = eek_xkl_layout_new ();
++
++ keyboard = kbdui_eek->priv->eek_keyboard = eek_keyboard_new (layout, 640, 480);
++ g_object_unref (layout);
+ g_object_ref_sink (keyboard);
+- layout = kbdui_eek->priv->eek_layout = eek_xkl_layout_new ();
+- g_object_ref_sink (layout);
+- eek_keyboard_set_layout (keyboard, layout);
+- bounds.width = 640;
+- bounds.height = 480;
+- eek_element_set_bounds (EEK_ELEMENT(keyboard), &bounds);
+- widget = eek_gtk_keyboard_get_widget (EEK_GTK_KEYBOARD(keyboard));
+- eek_element_get_bounds (EEK_ELEMENT(keyboard), &bounds);
++ widget = eek_gtk_keyboard_new (keyboard);
++ eek_keyboard_get_size (keyboard, &width, &height);
+
+ gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0);
+ gtk_box_reorder_child (GTK_BOX (vbox), widget, 0);
+ gtk_widget_show (widget);
+- gtk_widget_set_size_request (widget, bounds.width, bounds.height);
++ gtk_widget_set_size_request (widget, width, height);
+
+ g_signal_connect (G_OBJECT (window), "keyboard-changed",
+ G_CALLBACK (on_window_keyboard_changed_eek),
+@@ -191,7 +182,6 @@ destroy_prev_keyboard_layout_eek (InputPadGtkKbdui *kbdui,
+ gtk_widget_destroy (widget);
+
+ g_object_unref (kbdui_eek->priv->eek_keyboard);
+- g_object_unref (kbdui_eek->priv->eek_layout);
+ }
+
+ static void
+--
+1.7.4
+
+From 3bb2d467f1714e4d42f2e8dec4ab08770b02c4f5 Mon Sep 17 00:00:00 2001
+From: Daiki Ueno <ueno at unixuser.org>
+Date: Tue, 25 Jan 2011 18:59:47 +0900
+Subject: [PATCH 2/2] Follow eek 0.90 API changes.
+
+---
+ input-pad/eek-gtk.c | 35 +++++++++++++++++++----------------
+ 1 files changed, 19 insertions(+), 16 deletions(-)
+
+diff --git a/input-pad/eek-gtk.c b/input-pad/eek-gtk.c
+index 84f22cd..abe966f 100644
+--- a/input-pad/eek-gtk.c
++++ b/input-pad/eek-gtk.c
+@@ -83,11 +83,11 @@ on_eek_keyboard_key_pressed (EekKeyboard *keyboard,
+ InputPadGtkWindow *window;
+ char *str, *empty = "";
+ guint keycode;
+- guint keysym;
+- guint *keysyms;
+- guint keysym0;
+- gint num_groups, num_levels;
+- gint group, level;
++ EekSymbol *symbol;
++ EekSymbol *symbol0;
++ guint keysym = EEK_INVALID_KEYSYM;
++ guint keysym0 = EEK_INVALID_KEYSYM;
++ gint group;
+ guint state = 0;
+ gboolean retval = FALSE;
+
+@@ -96,14 +96,22 @@ on_eek_keyboard_key_pressed (EekKeyboard *keyboard,
+
+ window = INPUT_PAD_GTK_WINDOW (user_data);
+ keycode = eek_key_get_keycode (key);
+- keysym = eek_key_get_keysym (key);
+- str = eek_keysym_to_string (keysym);
++ symbol = eek_key_get_symbol_with_fallback (key, 0, 0);
++ if (EEK_IS_KEYSYM(symbol))
++ keysym = eek_keysym_get_xkeysym (EEK_KEYSYM(symbol));
++ str = eek_symbol_get_label (symbol);
+ if (str == NULL)
+ str = empty;
+- eek_key_get_keysyms (key, &keysyms, &num_groups, &num_levels);
+- eek_key_get_keysym_index (key, &group, &level);
++ group = eek_keyboard_get_group (keyboard);
++ symbol0 = eek_key_get_symbol_at_index (key, group, 0, 0, 0);
++ if (EEK_IS_KEYSYM(symbol0))
++ keysym0 = eek_keysym_get_xkeysym (EEK_KEYSYM(symbol0));
++
++ if (keysym0 == EEK_INVALID_KEYSYM) {
++ keysym0 = keysym;
++ }
+ state = input_pad_gtk_window_get_keyboard_state (window);
+- if (keysyms && (keysym != keysyms[group * num_levels])) {
++ if (keysym != EEK_INVALID_KEYSYM && keysym != keysym0) {
+ state |= ShiftMask;
+ }
+ state = input_pad_xkb_build_core_state (state, group);
+@@ -114,11 +122,6 @@ on_eek_keyboard_key_pressed (EekKeyboard *keyboard,
+ if (str != empty)
+ g_free (str);
+
+- if (keysyms) {
+- keysym0 = keysyms[0];
+- } else {
+- keysym0 = keysym;
+- }
+ if (keysym0 == XK_Num_Lock) {
+ keysym0 = XK_Shift_L;
+ }
+@@ -147,7 +150,7 @@ create_keyboard_layout_ui_real_eek (InputPadGtkKbdui *kbdui,
+
+ keyboard = kbdui_eek->priv->eek_keyboard = eek_keyboard_new (layout, 640, 480);
+ g_object_unref (layout);
+- g_object_ref_sink (keyboard);
++ eek_keyboard_set_modifier_behavior (keyboard, EEK_MODIFIER_BEHAVIOR_LATCH);
+ widget = eek_gtk_keyboard_new (keyboard);
+ eek_keyboard_get_size (keyboard, &width, &height);
+
+--
+1.7.4
+
diff --git a/input-pad.spec b/input-pad.spec
index 6fdf26a..f5ccf3b 100644
--- a/input-pad.spec
+++ b/input-pad.spec
@@ -12,6 +12,7 @@
%define sub_version 1.0
%define libxklavier_version 4.0
%define libxml2_version 2.0
+%define eekboard_version 0.90.1
%define libinput_paddir %{_libdir}/%{name}-%sub_version
%define moduledir %{_libdir}/%{name}-%sub_version/modules
@@ -21,7 +22,7 @@
Name: input-pad
Version: 1.0.0
-Release: 7%{?dist}
+Release: 8%{?dist}
Summary: On-screen Input Pad to Send Characters with Mouse
License: LGPLv2+
Group: System Environment/Libraries
@@ -51,7 +52,7 @@ BuildRequires: python2-devel
BuildRequires: swig
%endif
%if %have_eek_devel
-BuildRequires: eekboard-devel
+BuildRequires: eekboard-devel >= %eekboard_version
%endif
%description
@@ -90,6 +91,7 @@ The input-pad-xtest package contains XTEST extension module
Summary: Input Pad with eekboard extension
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: eekboard-libs >= %eekboard_version
%description eek
The input-pad-eek package contains eekboard extension module
@@ -100,6 +102,11 @@ The input-pad-eek package contains eekboard extension module
%patch0 -p1
%build
+# for configure.ac patch
+%if %have_eek_devel
+libtoolize -f
+autoreconf -v
+%endif
%configure \
%if ! %have_python_devel
--disable-python \
@@ -189,22 +196,12 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
-* Sun Feb 13 2011 Christopher Aillon <caillon at redhat.com> - 1.0.0-7
-- Rebuild for new libxklavier
-
-* Fri Feb 11 2011 Matthias Clasen <mclasen at redhat.com> 1.0.0-6
-- Rebuild against newer gtk
+* Fri Feb 25 2011 Takao Fujiwara <tfujiwar at redhat.com> - 1.0.0-8
+- Updated input-pad-HEAD.patch for eekboard
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
-* Wed Feb 2 2011 Matthias Clasen <mclasen at redhat.com> - 1.0.0-4
-- Rebuild
-
-* Mon Jan 17 2011 Takao Fujiwara <tfujiwar at redhat.com> - 1.0.0-3
-- Rebuild against newer gtk3
-- Added input-pad-HEAD.patch from upstream.
-
* Tue Nov 30 2010 Takao Fujiwara <tfujiwar at redhat.com> - 1.0.0-1
- Bumped to 1.0.0
More information about the scm-commits
mailing list