From 012a7d61a713b0e200c4f81558df4d3bababf2fe Mon Sep 17 00:00:00 2001 From: StapleButter Date: Tue, 3 Oct 2017 02:52:30 +0200 Subject: actually make uiKeyName() work --- src/libui_sdl/libui/unix/area.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/libui_sdl/libui/unix') diff --git a/src/libui_sdl/libui/unix/area.c b/src/libui_sdl/libui/unix/area.c index fd45371..035675d 100644 --- a/src/libui_sdl/libui/unix/area.c +++ b/src/libui_sdl/libui/unix/area.c @@ -509,7 +509,18 @@ static gboolean areaWidget_key_release_event(GtkWidget *w, GdkEventKey *e) char* uiKeyName(int scancode) { - return "TODO"; + scancode = scancode_normal2unix(scancode); + + guint* keyvals; int num; + GdkKeymap* keymap = gdk_keymap_get_default(); + gdk_keymap_get_entries_for_keycode(keymap, scancode, NULL, &keyvals, &num); + + // TODO: pick smarter?? + int keyval = keyvals[0]; + + g_free(keyvals); + + return uiUnixStrdupText(gdk_keyval_name(keyval)); } enum { -- cgit v1.2.3