[maemo-developers] [maemo-developers] VirtualKeyboard service/API
From: Aaron Levinson alevinsn at aracnet.comDate: Fri Jan 20 21:40:12 EET 2006
- Previous message: [maemo-developers] VirtualKeyboard service/API
- Next message: [maemo-developers] VirtualKeyboard service/API
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I have to admit that I don't understand why you would need to use this specialized function in your case. The situation with osso-xterm is a specialized one, since the GtkIMContext object's window needs to be activated as the result of a menu action. In your case, however, you already have a GtkWidget (GtkMozEmbed), so you should be able to do the following: 1. Create a GtkIMMultiContext in the "constructor" for your object. 2. In the realize function for your class (or as a response to the "realize" signal), call gtk_im_context_set_client_window(). Also call it for unrealize. 3. Handle the "focus-in" and "focus-out" signals appropriately for the widget by calling gtk_im_context_focus_in() and gtk_im_context_focus_out(), respectively. 4. Set up key-press and key-release signal handlers for the widget and call gtk_im_context_filter_keypress() in each signal handler. Take a look at the source code for vncviewer or osso-xterm for examples. You can also examine the code for various GTK classes, such as GtkTextEntry. Also, you can refer back to some previous e-mails that I wrote to this list regarding input methods. Aaron On Fri, 20 Jan 2006, Aaron Levinson wrote: > You can use gtk_im_context_show() to force the window for a GtkIMContext > object to be displayed. This function isn't mentioned in the > documentation for the class, but it is in the include file. An example of > using this function can be found in the osso-xterm code. > > Aaron > > On Fri, 20 Jan 2006, Antonio Gomes wrote: > > > otherwise, there is no way to force it Pop UP manually ? > > > > regards > > > > > > On 1/20/06, Antonio Gomes <tonikitoo at gmail.com> wrote: > > > > > > > > > On 1/18/06, Aaron Levinson <alevinsn at aracnet.com> wrote: > > > > > > Hi Aaron, > > > > > > One possibility is to use gdk_window_foreign_new() to wrap the native > > > > window in a GdkWindow object. > > > > > > > > > Maybe I can jump this first step, once I already have a GtkWidget the > > > wraps mozilla guts the make easier called GtkMozEmbed, provided by the > > > mozilla embedding API. Make sense for you ? > > > > > > > > > > Then, after creating a GtkIMMulticontext, > > > > you could try using gtk_im_context_set_client_window() with the new > > > > GdkWindow object. You'll want to listen for key-press and key-release > > > > signals (hard to do without a GtkWidget, but you should be able to > > > > handle > > > > this by listening for these signals on the HildonApp widget), and when > > > > you > > > > get these signals you can route them to the GtkIMContext that you > > > > created > > > > earlier if appropriate. Also, look for other e-mails regarding input > > > > methods in the archives for this e-mail list. Maybe this will work, > > > > although I'm not too hopeful. You might also consider creating a > > > > special > > > > GtkWidget class that can wrap an arbitrary GdkWindow. I would have > > > > suggested the GtkPlug class, but GtkPlug widgets are top-level widgets, > > > > which won't work here. > > > > > > > > > > > > Please note that the virtual keyboard is provided in the form of a GTK > > > > input method, and you'll basically need to use the standard GTK > > > > mechanisms > > > > for working with input methods if you want to use it. > > > > > > > > > but I'm already using Vb successfully and there is no synchronising > > > between the rendered HTML forms and the Kb ... (focus in -> pop up vk / > > > focus out -> vk gets down). > > > > > > many thanks > > > > > > > > > > > Hi there, > > > > > > > > > > I'm wondering how I can get the Virtual Keyboard service to > > > > synchronize with > > > > > non GTK_Widgets (like HTML forms on mozilla-webpages) ? > > > > > > > > > > Actually, I have some methods already implemented regarding this, and > > > > I just > > > > > need communication with VK side (from APIs or whatever). Is there is > > > > any API > > > > > to use it, or GTK mask/hide it in its guts ? > > > > > > > > > > > > _______________________________________________ > maemo-developers mailing list > maemo-developers at maemo.org > https://maemo.org/mailman/listinfo/maemo-developers >
- Previous message: [maemo-developers] VirtualKeyboard service/API
- Next message: [maemo-developers] VirtualKeyboard service/API
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]