Re: Keybindings



Please check references for gtk and gdk. I just did that and came with a simple example showing the 
keyBindings. Please note that it's not tested as I currently don't have gtk installed on my machine.

static gboolean keyBindings( GtkWidget *widget,
                              GdkEvent  *event,
                              gpointer   data )
{
    GtkWidget *popup;

    if (event->type != GDK_KEY_PRESS) return FALSE;
    
    // here crtl-x will popup a new window
    if (((GdkEventKey)event->keyval == GDK_x) &&
        ((GdkEventKey)event->state & GDK_CONTROL_MASK)) {
        popup = gtk_window_new(GTK_WINDOW_POPUP);
        gtk_widget_show (window);
    }
    // more keyBindings can be checked
    
    return TRUE;
}

int main( int   argc,
          char *argv[] )
{
    GtkWidget *window;

    gtk_init (&argc, &argv);

    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

    g_signal_connect (window, "key_press_event", G_CALLBACK (keyBindings), NULL);

    gtk_widget_show (window);
    gtk_main();
    return 0;
}

Dong



________________________________
From: Neil Munro <neilmunro gmail com>
To: gtk-app-devel-list gnome org
Sent: Monday, October 17, 2011 11:43 AM
Subject: Re: Keybindings





On 17 October 2011 15:54, Dong Luo <us917 yahoo com> wrote:

Hi,


I did not use gtk recently. But I figure you can just let the toplevel widget response to the signal of 
key-press-event and do what ever Keybindings you want there.


Dong


Could you show me an example as I have figured out the key-press-event is the key here, but I can't seem to 
figure it out yet. Do I set up a signal_connect from the window or something?
 



________________________________
From: Neil Munro <neilmunro gmail com>
To: gtk-app-devel-list gnome org
Sent: Sunday, October 16, 2011 6:55 AM
Subject: Keybindings


Hi all
       I want to simply press a keybinding and run a function that shows
hidden widgets is this possible and if so, how? It strikes me as something
not too difficult, but I am a self taught C programmer so I may simply not
know what such a thing would be called. I have already used an accelerator
group to work with widgets on screen, but what I want to do here has no
widget to click or whatever to show these.

Thanks,
Neil Munro
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list





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