diff options
| author | Joakim Verona | 2011-07-23 09:34:37 +0200 |
|---|---|---|
| committer | Joakim Verona | 2011-07-23 09:34:37 +0200 |
| commit | 37d53e76fafe8ba6732cbeb1c481a23ea5ade726 (patch) | |
| tree | a604697b2525954e1a712784cf1e936a9664c1de /src/xwidget.c | |
| parent | de37acc4249c95bd02295f7c3a8c080297335a1d (diff) | |
| parent | 043604ee51e5b5e0d0f645b999a35a1609a16b24 (diff) | |
| download | emacs-37d53e76fafe8ba6732cbeb1c481a23ea5ade726.tar.gz emacs-37d53e76fafe8ba6732cbeb1c481a23ea5ade726.zip | |
experiment send key event to xwidget. this version had som bad merges from trunk so it seems unstble
Diffstat (limited to 'src/xwidget.c')
| -rw-r--r-- | src/xwidget.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/xwidget.c b/src/xwidget.c index bd007aad005..b362ca55a1f 100644 --- a/src/xwidget.c +++ b/src/xwidget.c | |||
| @@ -786,6 +786,28 @@ DEFUN("xwidget-view-info", Fxwidget_view_info , Sxwidget_view_info, 2,2,0, doc: | |||
| 786 | return info; | 786 | return info; |
| 787 | } | 787 | } |
| 788 | 788 | ||
| 789 | DEFUN ("xwidget-send-keyboard-event", Fxwidget_send_keyboard_event, Sxwidget_send_keyboard_event, 2, 2, 0, doc:/* synthesize a kbd event for a xwidget. */ | ||
| 790 | ) | ||
| 791 | (Lisp_Object xwidget, Lisp_Object keydescriptor) | ||
| 792 | { | ||
| 793 | int keyval = 0x058; //X | ||
| 794 | char *keystring = ""; | ||
| 795 | |||
| 796 | struct xwidget *xw = XXWIDGET(xwidget); | ||
| 797 | |||
| 798 | GdkEventKey* ev = (GdkEventKey*)gdk_event_new(GDK_KEY_PRESS); | ||
| 799 | ev->window = gtk_widget_get_window(xw->widget_osr); | ||
| 800 | ev->keyval = keyval; | ||
| 801 | gdk_event_put((GdkEvent*)ev); | ||
| 802 | ev->type = GDK_KEY_RELEASE; | ||
| 803 | gdk_event_put((GdkEvent*)ev); | ||
| 804 | gtk_main_do_event(ev); | ||
| 805 | gdk_event_free((GdkEvent*)ev); | ||
| 806 | |||
| 807 | return Qnil; | ||
| 808 | } | ||
| 809 | |||
| 810 | |||
| 789 | 811 | ||
| 790 | DEFUN("xwidget-delete-zombies", Fxwidget_delete_zombies , Sxwidget_delete_zombies, 0,0,0, doc: /* */) | 812 | DEFUN("xwidget-delete-zombies", Fxwidget_delete_zombies , Sxwidget_delete_zombies, 0,0,0, doc: /* */) |
| 791 | (void) | 813 | (void) |
| @@ -842,6 +864,8 @@ syms_of_xwidget (void) | |||
| 842 | defsubr (&Sxwidget_size_request ); | 864 | defsubr (&Sxwidget_size_request ); |
| 843 | defsubr (&Sxwidget_delete_zombies); | 865 | defsubr (&Sxwidget_delete_zombies); |
| 844 | defsubr (&Sxwidget_disable_plugin_for_mime); | 866 | defsubr (&Sxwidget_disable_plugin_for_mime); |
| 867 | |||
| 868 | defsubr (&Sxwidget_send_keyboard_event); | ||
| 845 | DEFSYM (Qxwidget ,"xwidget"); | 869 | DEFSYM (Qxwidget ,"xwidget"); |
| 846 | 870 | ||
| 847 | DEFSYM (Qcxwidget ,":xwidget"); | 871 | DEFSYM (Qcxwidget ,":xwidget"); |