Re: How to make a GtkButton respond to a key press
On 03/05/2015 09:31 PM, Jim Charlton wrote: I presume you have a callback function connected to the button press event. Just create code to intercept the keyboard event and go to a callback function that sees what key was pressed and then calls the same function that would have been called had the button been pressed. The first example I found from Google was http://stackoverflow.com/questions/10134956/in-simple-gtk-key-press-event-example-gdk-shift-mask-seems-to-be-ignored You can see the code you need to intercept the keyboard event. I do exactly this sort of thing in programs with the user being able to hit a select keyboard key or click the button (although I am using gtkmm3). No, this is not quite what I am asking for. Capturing keyboard events is fine, but I need the button to click visually, for feedback purposes. Just like what happens if you define the control key shortcut and press that. So the question is either, how can I get GtkButton to respond to a non-modifier hotkey, or how can I programmatically get GtkButton to visually depress and release? ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: How to make a GtkButton respond to a key press
On 15-03-06 06:52 AM, Michael Torrie wrote: On 03/05/2015 09:31 PM, Jim Charlton wrote: I presume you have a callback function connected to the button press event. Just create code to intercept the keyboard event and go to a callback function that sees what key was pressed and then calls the same function that would have been called had the button been pressed. The first example I found from Google was http://stackoverflow.com/questions/10134956/in-simple-gtk-key-press-event-example-gdk-shift-mask-seems-to-be-ignored You can see the code you need to intercept the keyboard event. I do exactly this sort of thing in programs with the user being able to hit a select keyboard key or click the button (although I am using gtkmm3). No, this is not quite what I am asking for. Capturing keyboard events is fine, but I need the button to click visually, for feedback purposes. Just like what happens if you define the control key shortcut and press that. So the question is either, how can I get GtkButton to respond to a non-modifier hotkey, or how can I programmatically get GtkButton to visually depress and release? ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list Ah. I see. Sorry that I misunderstood. In my case, I just use the button set_sensitive() method to deactivate the button until I am ready to reactivate it. This greys out the button. I suppose that you could use this with a short delay to flash the button. Or you could just flash the button background color. It seems like gtk just changes/flashes the background color of the button when you click it, but I am not sure exactly which method it uses to do that. jim... ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: How to make a GtkButton respond to a key press
On 03/06/2015 08:52 AM, Michael Torrie wrote: No, this is not quite what I am asking for. Capturing keyboard events is fine, but I need the button to click visually, for feedback purposes. Just like what happens if you define the control key shortcut and press that. So the question is either, how can I get GtkButton to respond to a non-modifier hotkey, or how can I programmatically get GtkButton to visually depress and release? You can call g_signal_emit_by_name() for the GtkButton activate signal to get the visual animation of a button press and release. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: How to make a GtkButton respond to a key press
When using Glade to design a UI, I've noticed that the Button dialog has an Activatable/Actionable section which includes an on/off Use Action Appearance selection. This suggests that you might look into GtkActionable and kin... On 2015/03/06 07:55, Jim Charlton wrote: On 15-03-06 06:52 AM, Michael Torrie wrote: On 03/05/2015 09:31 PM, Jim Charlton wrote: I presume you have a callback function connected to the button press event. Just create code to intercept the keyboard event and go to a callback function that sees what key was pressed and then calls the same function that would have been called had the button been pressed. The first example I found from Google was http://stackoverflow.com/questions/10134956/in-simple-gtk-key-press-event-example-gdk-shift-mask-seems-to-be-ignored You can see the code you need to intercept the keyboard event. I do exactly this sort of thing in programs with the user being able to hit a select keyboard key or click the button (although I am using gtkmm3). No, this is not quite what I am asking for. Capturing keyboard events is fine, but I need the button to click visually, for feedback purposes. Just like what happens if you define the control key shortcut and press that. So the question is either, how can I get GtkButton to respond to a non-modifier hotkey, or how can I programmatically get GtkButton to visually depress and release? ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list Ah. I see. Sorry that I misunderstood. In my case, I just use the button set_sensitive() method to deactivate the button until I am ready to reactivate it. This greys out the button. I suppose that you could use this with a short delay to flash the button. Or you could just flash the button background color. It seems like gtk just changes/flashes the background color of the button when you click it, but I am not sure exactly which method it uses to do that. jim... ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list -- We're not giving up. We're waiting for a better opportunity to win. -- Lois McMaster Bujold ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: How to make a GtkButton respond to a key press
On 03/06/2015 08:23 AM, Michael Cronenworth wrote: On 03/06/2015 08:52 AM, Michael Torrie wrote: No, this is not quite what I am asking for. Capturing keyboard events is fine, but I need the button to click visually, for feedback purposes. Just like what happens if you define the control key shortcut and press that. So the question is either, how can I get GtkButton to respond to a non-modifier hotkey, or how can I programmatically get GtkButton to visually depress and release? You can call g_signal_emit_by_name() for the GtkButton activate signal to get the visual animation of a button press and release. Ahh. Yes this is what I want mostly. Is there any way to get it to animate down and hold there, say when a person is holding down the key? ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
Re: How to make a GtkButton respond to a key press
On 15-03-05 07:58 PM, Michael Torrie wrote: Maybe I'm just not reading right, but I cannot figure out how to make a GtkButton respond to a single key press. For example, if I made a simple calculator like the one that comes with Gnome, how can I make it so when I press '1' on my keyboard, the 1 button presses. I know how to make shortcuts with a control key by just putting in an in the label. But not just a bare key press. Also is it possible to programmatically depress and then release a GtkButton, simulating a click? I'd like to do this to generate some user feedback when the keyboard is used, while allowing one to still click with a mouse (or finger or whatever) on the GtkButton. Pointing me at the right docs would be appreciated. Gtk3 is fine. ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list I presume you have a callback function connected to the button press event. Just create code to intercept the keyboard event and go to a callback function that sees what key was pressed and then calls the same function that would have been called had the button been pressed. The first example I found from Google was http://stackoverflow.com/questions/10134956/in-simple-gtk-key-press-event-example-gdk-shift-mask-seems-to-be-ignored You can see the code you need to intercept the keyboard event. I do exactly this sort of thing in programs with the user being able to hit a select keyboard key or click the button (although I am using gtkmm3). jim... Jim Charlton ___ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list