[maemo-commits] [maemo-commits] r18741 - in projects/haf/trunk/libmatchbox2: . debian matchbox/core
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Jun 16 18:14:24 EEST 2009
- Previous message: [maemo-commits] r18740 - projects/haf/trunk/hildon-thumbnail/debian
- Next message: [maemo-commits] r18742 - in projects/haf/trunk/hildon-thumbnail: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: kihamala Date: 2009-06-16 18:14:14 +0300 (Tue, 16 Jun 2009) New Revision: 18741 Modified: projects/haf/trunk/libmatchbox2/ChangeLog projects/haf/trunk/libmatchbox2/debian/changelog projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-keys.c Log: keyboard shortcut fixes from Laszlo and me. Modified: projects/haf/trunk/libmatchbox2/ChangeLog =================================================================== --- projects/haf/trunk/libmatchbox2/ChangeLog 2009-06-16 15:13:08 UTC (rev 18740) +++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-06-16 15:14:14 UTC (rev 18741) @@ -1,3 +1,14 @@ +2009-06-16 Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> + + Apply patch from Laszlo Pere for NB#121265. + * matchbox/core/mb-wm-keys.c (mb_wm_keys_press): Fix if condition for + the modifier mask. + + My own fix for keyboard shortcuts: + * matchbox/core/mb-wm-keys.c (mb_wm_keys_binding_add_with_spec): Do + not use keysym_needs_shift, it's not working as it should. + Fixes: NB#120113 + 2009-06-12 Thomas Thurman <thomas.thurman at collabora.co.uk> NB#118850 Modified: projects/haf/trunk/libmatchbox2/debian/changelog =================================================================== --- projects/haf/trunk/libmatchbox2/debian/changelog 2009-06-16 15:13:08 UTC (rev 18740) +++ projects/haf/trunk/libmatchbox2/debian/changelog 2009-06-16 15:14:14 UTC (rev 18741) @@ -1,7 +1,11 @@ matchbox-window-manager-2 (0.2.43-1~unreleased) unstable; urgency=low + Laszlo: + * Fixes: NB#121265 - fix press handler for keyboard shortcuts. + Kimmo: * Fixes: NB#121678 - Need WM support for _HILDON_WM_WINDOW_TYPE_LEGACY_MENU + * Fixes: NB#120113 - Cntl+back space does not go to task switcher screen -- Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> Mon, 8 Jun 2009 09:53:28 +0300 Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-keys.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-keys.c 2009-06-16 15:13:08 UTC (rev 18740) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-keys.c 2009-06-16 15:14:14 UTC (rev 18741) @@ -22,6 +22,7 @@ int lock_mask; }; +#if 0 static Bool keysym_needs_shift (MBWindowManager *wm, KeySym keysym) { @@ -39,6 +40,7 @@ return False; } +#endif static Bool key_binding_set_grab (MBWindowManager *wm, @@ -60,7 +62,7 @@ if (ungrab) { - MBWM_DBG("ungrabbing %i , %i", + MBWM_DBG ("ungrabbing %i , %i\n", XKeysymToKeycode(wm->xdpy, key->keysym), key->modifier_mask); @@ -75,7 +77,7 @@ mb_wm_util_trap_x_errors(); - MBWM_DBG ("grabbing keycode: %i, keysym %li, mask: %i", + MBWM_DBG ("grabbing keycode: %i, keysym %li, mask: %i\n", XKeysymToKeycode(wm->xdpy, key->keysym), key->keysym, key->modifier_mask | ignored_mask); @@ -246,7 +248,10 @@ } } + /* FIXME: keysym_needs_shift is broken somehow... if (keysym_needs_shift(wm, ks) || want_shift) + */ + if (want_shift) mask |= ShiftMask; /* If we grab keycode 0, we end up grabbing the entire keyboard.. */ @@ -276,7 +281,7 @@ if (!wm->keys) return; - MBWM_DBG ("Looking up keysym <%li>, ( mask %i )", keysym, modifier_mask); + MBWM_DBG ("Looking up keysym <%li>, (mask %i)\n", keysym, modifier_mask); iter = wm->keys->bindings; @@ -286,6 +291,10 @@ binding = (MBWMKeyBinding*)iter->data; + if (!binding->pressed || + binding->keysym != keysym) + goto next_item; + MBWM_DBG ("Checking up keysym <%li>, ( mask %i )", binding->keysym, binding->modifier_mask); @@ -299,9 +308,12 @@ continue; } - if (binding->pressed - && binding->keysym == keysym - && binding->modifier_mask | (ignored_mask == modifier_mask)) + /* + * If we are here we already know that the binding->pressed function + * pointer is not NULL and the keysym is matched, only the modifier + * mask must be checked. + */ + if (binding->modifier_mask == (modifier_mask & ~ignored_mask)) { binding->pressed(wm, binding, binding->userdata); break; @@ -310,6 +322,7 @@ ++ignored_mask; } +next_item: iter = mb_wm_util_list_next(iter); } }
- Previous message: [maemo-commits] r18740 - projects/haf/trunk/hildon-thumbnail/debian
- Next message: [maemo-commits] r18742 - in projects/haf/trunk/hildon-thumbnail: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]