diff options
author | Philip Balister <philip@balister.org> | 2007-09-17 19:11:18 +0000 |
---|---|---|
committer | Philip Balister <philip@balister.org> | 2007-09-17 19:11:18 +0000 |
commit | a180b8ab7fa0964df1c10ef2186b9ff6f8a105c0 (patch) | |
tree | 4a0ee333d4dfd8149fe46bc6a92660d9490d3865 /packages/matchbox-keyboard/files/matchbox-keyboard-hide-delay.patch | |
parent | 5ecf74e5769e29b43abb5217036cb0130fe62b0d (diff) | |
parent | ea1c418b23870f7d25918d46c370e9d21746a05c (diff) |
merge of '3338e7932ebf1ee7b603ad0ec86faebba093324a'
and 'aa794d08e1cb6a4c86e5d72f46667ad1f4332813'
Diffstat (limited to 'packages/matchbox-keyboard/files/matchbox-keyboard-hide-delay.patch')
-rw-r--r-- | packages/matchbox-keyboard/files/matchbox-keyboard-hide-delay.patch | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/packages/matchbox-keyboard/files/matchbox-keyboard-hide-delay.patch b/packages/matchbox-keyboard/files/matchbox-keyboard-hide-delay.patch new file mode 100644 index 0000000000..c8cb76d99e --- /dev/null +++ b/packages/matchbox-keyboard/files/matchbox-keyboard-hide-delay.patch @@ -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; + } |