[g-a-devel]Re: keynav : ctrl + shift + 'a'



"JAYARAJ P R" <jayaraj rajappan wipro com> writes:

> Hi,
> 
> In gtktextview.c, ctrl + 'a' is mapped to the "move_cursor" signal handler.
> I'm trying to associate the same binding for ctrl + shift + 'a'.
> But this doesn't seem to work.
> 
> I'm trying to do something like,
> 
> gtk_binding_entry_add_signal (binding_set, GDK_a, GDK_CONTROL_MASK |
> GDK_SHIFT_MASK,
>                                 "move_cursor", 3,
>                                 GTK_TYPE_MOVEMENT_STEP,
> GTK_MOVEMENT_BUFFER_ENDS,
>                                 GTK_TYPE_INT, -1,
>                                 GTK_TYPE_BOOL, FALSE);
> 
> When i press ctrl + shift + 'a', the "move_cursor" handler
> (gtk_text_view_move_cursor)
> does not get called.
> 
> Any ideas/suggestions ?

I think you are running into a feature of the default input method ...
to quote gtkimcontextsimple.c:

/* In addition to the table-driven sequences, we allow Unicode hex
 * codes entered with Ctrl-Shift held down as specified in ISO
 * 14755. 14755 actually allows a different set of modifiers to be
 * used at our discretion, but for now using Ctrl-Shift as in their
 * examples. While holding Ctrl-Shift, pressing space commits the
 * character, and pressing a non-hex-digit is an error.
 */

#define ISO_14755_MOD_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK)

If I set up a binding in my ~/.gtkrc-2.0:

 binding "test-binding" 
 {
   bind "<control><shift>u" { "insert-at-cursor" ("text inserted") }
 }

 class "GtkTextView" binding "test-binding"

It works fine when I select "X Input Method" as my input method
(from the context menu), but in the default input method, intentionally
does nothing. 

(And <control><shift>a inserts a line-feed, since that is character 0xA)

Regards,
                                        Owen



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]