[oe-commits] org.oe.dev matchbox-keyboard-inputmethod: Add a patch to delay mb_kbd_ui_hide.

daniel commit openembedded-commits at lists.openembedded.org
Mon Sep 17 15:50:48 UTC 2007


matchbox-keyboard-inputmethod: Add a patch to delay mb_kbd_ui_hide.
This reduces flicker (i.e. when switching tabs on openmoko-terminal2)

Author: daniel at openembedded.org
Branch: org.openembedded.dev
Revision: 4291007b4bae759bf40160260fcab53e01a106d9
ViewMTN: http://monotone.openembedded.org/revision/info/4291007b4bae759bf40160260fcab53e01a106d9
Files:
1
packages/matchbox-keyboard/files/matchbox-keyboard-hide-delay.patch
packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb
Diffs:

#
# mt diff -r20a6116adbf44e9ecc344e69da811e67a80b8076 -r4291007b4bae759bf40160260fcab53e01a106d9
#
# 
# 
# add_file "packages/matchbox-keyboard/files/matchbox-keyboard-hide-delay.patch"
#  content [d136e98d1e89f12fec85b8f247c99a11530c5a16]
# 
# patch "packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb"
#  from [c83b2518da5c8c31d03ed19d8aed54afa6d26d38]
#    to [9a0b682073222bc2809e001ffe275c358bde77ed]
# 
============================================================
--- packages/matchbox-keyboard/files/matchbox-keyboard-hide-delay.patch	d136e98d1e89f12fec85b8f247c99a11530c5a16
+++ packages/matchbox-keyboard/files/matchbox-keyboard-hide-delay.patch	d136e98d1e89f12fec85b8f247c99a11530c5a16
@@ -0,0 +1,99 @@
+Index: matchbox-keyboard/src/matchbox-keyboard.h
+===================================================================
+--- matchbox-keyboard/src/matchbox-keyboard.h	(revision 1669)
++++ matchbox-keyboard/src/matchbox-keyboard.h	(working copy)
+@@ -285,7 +285,7 @@
+ void
+ mb_kbd_remote_init (MBKeyboardUI *ui);
+ 
+-void
++int
+ mb_kbd_remote_process_xevents (MBKeyboardUI *ui, XEvent *xevent);
+ 
+ /**** Keyboard ****/
+Index: matchbox-keyboard/src/matchbox-keyboard-ui.c
+===================================================================
+--- matchbox-keyboard/src/matchbox-keyboard-ui.c	(revision 1669)
++++ matchbox-keyboard/src/matchbox-keyboard-ui.c	(working copy)
+@@ -1096,6 +1096,8 @@
+   /* Key repeat - values for standard xorg install ( xset q) */
+   int repeat_delay = 100 * 10000;
+   int repeat_rate  = 30  * 1000;
++  int hide_delay = 100 * 1000;
++  int to_hide = 0;
+ 
+   int press_x = 0, press_y = 0; 
+ 
+@@ -1182,11 +1184,42 @@
+ 	      mb_kbd_xembed_process_xevents (ui, &xev);
+ 
+ 	    if (ui->is_daemon)
+-	      mb_kbd_remote_process_xevents (ui, &xev);
+-
++      {
++	      switch (mb_kbd_remote_process_xevents (ui, &xev))
++        {
++          case 0:
++            if (to_hide == 1) {
++              mb_kbd_ui_hide(ui);
++            }
++            tvt.tv_usec = hide_delay;
++            to_hide = 1;
++            break;
++          case 1:
++            mb_kbd_ui_show(ui);
++            tvt.tv_usec = repeat_delay;
++            to_hide = 0;
++            break;
++          default:
++            if (to_hide == 1) {
++              mb_kbd_ui_hide(ui);
++              tvt.tv_usec = repeat_delay;
++              to_hide = 0;
++            }
++            break;
++        }
++      }
+ 	  }
+ 	else
+ 	  {
++      /* Hide timed out */
++      if (to_hide == 1)
++      {
++        DBG("Hide timed out, calling mb_kbd_ui_hide");
++        mb_kbd_ui_hide(ui);
++        tvt.tv_usec = repeat_delay;
++        to_hide = 0;
++      }
++
+ 	    /* Keyrepeat */
+ 	    if (mb_kbd_get_held_key(ui->kbd) != NULL)
+ 	      {
+Index: matchbox-keyboard/src/matchbox-keyboard-remote.c
+===================================================================
+--- matchbox-keyboard/src/matchbox-keyboard-remote.c	(revision 1669)
++++ matchbox-keyboard/src/matchbox-keyboard-remote.c	(working copy)
+@@ -28,7 +28,7 @@
+ 					   "_MB_IM_INVOKER_COMMAND", False);
+ }
+ 
+-void
++int
+ mb_kbd_remote_process_xevents (MBKeyboardUI *ui, XEvent *xevent)
+ {
+   DBG("got a message\n");
+@@ -42,9 +42,12 @@
+ 	  DBG("got a message of type _MB_IM_INVOKER_COMMAND, val %i\n",
+ 	      xevent->xclient.data.l[0]);
+ 	  if (xevent->xclient.data.l[0] == 1)
+-	      mb_kbd_ui_show (ui);
++    {
++        return 1;
++    }
+ 	  else
+-	      mb_kbd_ui_hide (ui);
++        return 0;
+ 	}
+     }
++  return -1;
+ }
============================================================
--- packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb	c83b2518da5c8c31d03ed19d8aed54afa6d26d38
+++ packages/matchbox-keyboard/matchbox-keyboard-inputmethod_svn.bb	9a0b682073222bc2809e001ffe275c358bde77ed
@@ -6,11 +6,12 @@ PV = "0.0+svnr${SRCREV}"
 #DEFAULT_PREFERENCE = "-1"
 SECTION = "x11"
 PV = "0.0+svnr${SRCREV}"
-PR = "r4"
+PR = "r5"
 
 SRC_URI = "svn://svn.o-hand.com/repos/matchbox/trunk;module=matchbox-keyboard;proto=http \
 	file://matchbox-keyboard-applet.patch;patch=1;pnum=0 \
-	file://80matchboxkeyboard"
+	file://80matchboxkeyboard \
+	file://matchbox-keyboard-hide-delay.patch;patch=1"
 
 SRC_URI_append_fic-gta01 = " file://fic-gta01-font-size.patch;patch=1"
 






More information about the Openembedded-commits mailing list