[maemo-commits] [maemo-commits] r13919 - in projects/haf/trunk/hildon-input-method-framework: . src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Sep 19 17:15:07 EEST 2007
- Previous message: [maemo-commits] r13918 - in projects/haf/trunk/osso-gnome-vfs2/debian: . patches
- Next message: [maemo-commits] r13920 - in projects/haf/trunk/hildon-theme-layout-4: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: tjunnone Date: 2007-09-19 17:15:05 +0300 (Wed, 19 Sep 2007) New Revision: 13919 Modified: projects/haf/trunk/hildon-input-method-framework/ChangeLog projects/haf/trunk/hildon-input-method-framework/src/hildon-im-context.c Log: * src/hildon-im-context.c: - Enable sticky shift for non-printable keys. Fixes NB#70297. Modified: projects/haf/trunk/hildon-input-method-framework/ChangeLog =================================================================== --- projects/haf/trunk/hildon-input-method-framework/ChangeLog 2007-09-19 13:39:44 UTC (rev 13918) +++ projects/haf/trunk/hildon-input-method-framework/ChangeLog 2007-09-19 14:15:05 UTC (rev 13919) @@ -1,7 +1,8 @@ 2007-09-19 Tomas Junnonen <tomas.junnonen at nokia.com> - * src/hildon-im-context.c: Exclude return from changing the focus. - Fixes NB#69697. + * src/hildon-im-context.c: + - Exclude return from changing the focus. Fixes NB#69697. + - Enable sticky shift for non-printable keys. Fixes NB#70297. 2007-09-12 Tomas Junnonen <tomas.junnonen at nokia.com> Modified: projects/haf/trunk/hildon-input-method-framework/src/hildon-im-context.c =================================================================== --- projects/haf/trunk/hildon-input-method-framework/src/hildon-im-context.c 2007-09-19 13:39:44 UTC (rev 13918) +++ projects/haf/trunk/hildon-input-method-framework/src/hildon-im-context.c 2007-09-19 14:15:05 UTC (rev 13919) @@ -1529,13 +1529,30 @@ { event->keyval = gdk_keyval_to_upper(event->keyval); } - /* Sticky shift negates the case, autocap included */ else if (self->mask & HILDON_IM_SHIFT_STICKY_MASK) { - if (gdk_keyval_is_upper(event->keyval)) - event->keyval = gdk_keyval_to_lower(event->keyval); + guint lower, upper; + + gdk_keyval_convert_case(event->keyval, &lower, &upper); + /* Simulate shift key being held down in sticky state for non-printables */ + if (lower == upper) + { + gdk_keymap_translate_keyboard_state(gdk_keymap_get_default(), + event->hardware_keycode, + GDK_SHIFT_MASK, + event->group, + &event->keyval, + NULL, NULL, NULL); + } + /* For printable characters sticky shift negates the case, + including any autocapitalization changes */ else - event->keyval = gdk_keyval_to_upper(event->keyval); + { + if (gdk_keyval_is_upper(event->keyval)) + event->keyval = lower; + else + event->keyval = upper; + } } /* Sticky and lock state reset */
- Previous message: [maemo-commits] r13918 - in projects/haf/trunk/osso-gnome-vfs2/debian: . patches
- Next message: [maemo-commits] r13920 - in projects/haf/trunk/hildon-theme-layout-4: . debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]