Fixed bug: modifier keys no longer count as char input
authorPhilip Chimento <philip.chimento@gmail.com>
Sun, 2 May 2010 20:11:17 +0000 (20:11 +0000)
committerPhilip Chimento <philip.chimento@gmail.com>
Sun, 2 May 2010 20:11:17 +0000 (20:11 +0000)
git-svn-id: http://lassie.dyndns-server.com/svn/gargoyle-gtk@261 ddfedd41-794f-dd11-ae45-00112f111e67

libchimara/input.c

index 8b6d4c27662d5296e4b7df1a0ec0caedf40c6b7e..a4511dc57306e6fc2dec661f5496d568b11c8fbf 100644 (file)
@@ -417,6 +417,11 @@ on_shutdown_key_press_event(GtkWidget *widget, GdkEventKey *event, winid_t win)
 gboolean
 on_char_input_key_press_event(GtkWidget *widget, GdkEventKey *event, winid_t win)
 {
 gboolean
 on_char_input_key_press_event(GtkWidget *widget, GdkEventKey *event, winid_t win)
 {
+       /* Ignore modifier keys, otherwise the char input will already trigger on 
+       the shift key when the user tries to type a capital letter */
+       if(event->is_modifier)
+               return FALSE; /* don't stop the event */
+       
        glui32 keycode = keyval_to_glk_keycode(event->keyval, win->input_request_type == INPUT_REQUEST_CHARACTER_UNICODE);
 
        ChimaraGlk *glk = CHIMARA_GLK(gtk_widget_get_ancestor(widget, CHIMARA_TYPE_GLK));
        glui32 keycode = keyval_to_glk_keycode(event->keyval, win->input_request_type == INPUT_REQUEST_CHARACTER_UNICODE);
 
        ChimaraGlk *glk = CHIMARA_GLK(gtk_widget_get_ancestor(widget, CHIMARA_TYPE_GLK));