Mercurial > dwindows
changeset 1747:f297d8a63aed
Added utf8 parameter to key press callback on GTK2/3.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 13 Jun 2012 19:23:30 +0000 |
parents | 76b24619f6fa |
children | e4fcd1e81f0d |
files | gtk/dw.c gtk3/dw.c |
diffstat | 2 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/gtk/dw.c Wed Jun 13 19:20:39 2012 +0000 +++ b/gtk/dw.c Wed Jun 13 19:23:30 2012 +0000 @@ -1403,10 +1403,14 @@ if ( dbgfp != NULL ) _dw_log("%s %d: %s\n",__FILE__,__LINE__,__func__); if(work.window) { - int (*keypressfunc)(HWND, char, int, int, void *) = work.func; + int (*keypressfunc)(HWND, char, int, int, void *, char *) = work.func; + guint32 unichar = gdk_keyval_to_unicode(event->keyval); + char utf8[7] = { 0 }; + + g_unichar_to_utf8(unichar, utf8); retval = keypressfunc(work.window, *event->string, event->keyval, - event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK), work.data); + event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK), work.data, utf8); } return retval; }
--- a/gtk3/dw.c Wed Jun 13 19:20:39 2012 +0000 +++ b/gtk3/dw.c Wed Jun 13 19:23:30 2012 +0000 @@ -1257,10 +1257,14 @@ if(work.window) { - int (*keypressfunc)(HWND, char, int, int, void *) = work.func; - + int (*keypressfunc)(HWND, char, int, int, void *, char *) = work.func; + guint32 unichar = gdk_keyval_to_unicode(event->keyval); + char utf8[7] = { 0 }; + + g_unichar_to_utf8(unichar, utf8); + retval = keypressfunc(work.window, *event->string, event->keyval, - event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK), work.data); + event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK), work.data, utf8); } return retval; }