[Gtk-sharp-list] sending characters onto the active window

Christian Hoff christian_hoff at gmx.net
Fri Apr 3 06:47:41 EDT 2009

Maybe that snippet helps:

foreach (Gtk.Window wnd in Gtk.Window.ListToplevels ()) {
                if (wnd.HasToplevelFocus) {
                    Gtk.Widget FocusedWidget = wnd.Focus;
                    if (FocusedWidget != null && FocusedWidget is 
Gtk.Entry) {
                        int pos = (FocusedWidget as Gtk.Editable).Position;
                        (FocusedWidget as Gtk.Entry).InsertText (code, 
ref pos);
                        System.Console.WriteLine ("Inserted text in entry");

I wrote that piece of code to insert characters scanned by a barcode 
scanner into the active entry/text widget. It should not be difficult to 
revamp it to work with TextView/TextBuffer, too. Inserting unicode 
should not be a problem as both System.String and the GLib string type 
store their data in unicode format.

l333t wrote:
> Adam Tauno Williams wrote:
>> On Thu, 2009-04-02 at 09:24 -0700, l333t wrote:
>>> I need to know if it's possible to send characters(Unicodes in
>>> particular)
>>> onto the active window using Mono in linux. Though I don't know much
>>> about
>>> it, I know that it's possible in microsoft windows. Is it possible to
>>> achieve the same thing in linux?
>>> I am using java for my development and it's not possible to send
>>> characters
>>> onto active window using java. Sending characters is possible using
>>> Xlib..
>>> but its not possible to send unicodes using Xlib.. 
> Active window means the topmost window. The window that has focus. I'm doing
> a transliteration software which translates english to other scripts. So far
> that, i need to send unicodes of the languages to which I want to convert,
> onto the active/focus window.

More information about the Gtk-sharp-list mailing list