[Gtk-sharp-list] Taking keyboard input

Walter Kempf gtk-sharp at indicium.za.net
Sun May 11 08:17:12 EDT 2008


Try using the containing Window/Dialog/Container's KeyPressEvent (in 
stead of the button's) to catch the key-press.

Alex Launi wrote:
> Hi again Gtk# list, I'm trying to figure out how to grab keyboard 
> input and use it to save a key binding. This is a snippet, I know how 
> to register the binding once I have it, and I know a lot more needs 
> added, but I'm not able to get the keyboard input at all. As it is, 
> OnAccelEntryKeyPress never gets called. How can I get the app so that 
> when the button is clicked, it takes the keyboard input? I really 
> appreciate the help, I'm trying to learn this stuff but I haven't been 
> able to find any real solid documentation for gtk-sharp (so if it's 
> out there, and you just want to send me a link, I'll be more than 
> happy with that). Thanks.
>
>
>         protected virtual void OnKeybindingBtnClicked (object sender, 
> System.EventArgs e)
>         {
>             keybinding_btn.KeyPressEvent += new KeyPressEventHandler 
> (OnAccelEntryKeyPress);
>             //keybinding_btn.Label = "KEYS??";
>         }
>        
>         void OnAccelEntryKeyPress (object sender, KeyPressEventArgs e)
>         {
>             Gdk.ModifierType mod = e.Event.State;
>             Gdk.Key key = e.Event.Key;
>            
>             string accel = "";
>            
>             if (mod.Equals ( Gdk.Key.Control_L) || mod.Equals 
> (Gdk.Key.Control_R))
>                 accel = "<Control>";
>             else if (mod.Equals ( Gdk.Key.Meta_L) || mod.Equals 
> (Gdk.Key.Meta_R))
>                 accel = "<Alt>";
>             else if (mod.Equals ( Gdk.Key.Alt_L) || mod.Equals 
> (Gdk.Key.Alt_R))
>                 accel = "<Alt>";
>             keybinding_btn.Label = accel + e.Event.Key;
>             Console.Error.WriteLine (accel + e.Event.Key);
>         }
>
> -- 
> --Alex Launi
> ------------------------------------------------------------------------
>
> _______________________________________________
> Gtk-sharp-list maillist  -  Gtk-sharp-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
>   


More information about the Gtk-sharp-list mailing list