Re: newbie key binding question



Hi

Overload on_key_pressed() method and inside, handle the keypress event.
This is what I did in my project. Hope it helps.

ClassX is my class extending from Gtk::Window.

bool ClassX::on_key_pressed(GdkEventKey* event)
{
        try{
                if(!event)
                        return false;
        
                switch (event->keyval)
                {
                        case GDK_F1: {
                                action1();
                                break;
                        }
                        case GDK_F2: {
                                action2();
                                break;
                        }
                        case GDK_F3: {
                                action3();
                                break;
                        }
                        case GDK_F4: {
                                action4();
                                break;
                        }
                        default: {
                                break;
                        }
                }
        catch(exception &e) {
        }
        // Returning true would stop the event now
        return false;
}


On Mon, 2008-11-24 at 11:23 -0600, Michael Cronenworth wrote:
Hi all, I'm new to GTK+ usage, but I'm learning quickly.

I wish to set up a key (say, F4) and have it attached to a button, so 
when F4 is pressed the button's signal is emitted just like a mouse 
click. I'm familiar with setting up global accelerators (CTRL+Q, etc), 
but all I want is a single key binding on one button widget on one 
widget instance. This will not be used globally and only one time. I've 
seen the GtkBinding page and how it describes RC file usage, but I'd 
rather not use such a beefy method for just one key...

Any pointers are welcome.

Thanks,
Michael
_______________________________________________
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]