Search
lxdream.org :: lxdream/src/gtkui/ctrl_dlg.c :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/gtkui/ctrl_dlg.c
changeset 614:a2d239d4438a
prev608:4f588e52bce0
next616:527ab167712b
author nkeynes
date Mon Jan 28 02:38:09 2008 +0000 (16 years ago)
permissions -rw-r--r--
last change Bug #49: Joystick support work in progress
file annotate diff log raw
1.1 --- a/src/gtkui/ctrl_dlg.c Sat Jan 26 02:45:27 2008 +0000
1.2 +++ b/src/gtkui/ctrl_dlg.c Mon Jan 28 02:38:09 2008 +0000
1.3 @@ -21,7 +21,8 @@
1.4 #include <gtk/gtk.h>
1.5 #include <gdk/gdkkeysyms.h>
1.6
1.7 -#include "dream.h"
1.8 +#include "lxdream.h"
1.9 +#include "display.h"
1.10 #include "gtkui/gtkui.h"
1.11 #include "maple/maple.h"
1.12
1.13 @@ -47,12 +48,21 @@
1.14
1.15 static struct maple_slot_data maple_data[MAX_DEVICES];
1.16
1.17 +static void config_keysym_hook( void *data, const gchar *keysym )
1.18 +{
1.19 + GtkWidget *widget = (GtkWidget *)data;
1.20 + gtk_entry_set_text( GTK_ENTRY(widget), keysym );
1.21 + g_object_set_data( G_OBJECT(widget), "keypress_mode", GINT_TO_POINTER(FALSE) );
1.22 + input_set_keysym_hook(NULL, NULL);
1.23 +}
1.24 +
1.25 static gboolean config_key_buttonpress( GtkWidget *widget, GdkEventButton *event, gpointer user_data )
1.26 {
1.27 gboolean keypress_mode = GPOINTER_TO_INT(g_object_get_data( G_OBJECT(widget), "keypress_mode"));
1.28 if( !keypress_mode ) {
1.29 gtk_entry_set_text( GTK_ENTRY(widget), _("<press key>") );
1.30 g_object_set_data( G_OBJECT(widget), "keypress_mode", GINT_TO_POINTER(TRUE) );
1.31 + input_set_keysym_hook(config_keysym_hook, widget);
1.32 }
1.33 return FALSE;
1.34 }
1.35 @@ -73,6 +83,7 @@
1.36 NULL, NULL, NULL );
1.37 gtk_entry_set_text( GTK_ENTRY(widget), gdk_keyval_name(keyval) );
1.38 g_object_set_data( G_OBJECT(widget), "keypress_mode", GINT_TO_POINTER(FALSE) );
1.39 + input_set_keysym_hook(NULL, NULL);
1.40 return TRUE;
1.41 } else {
1.42 switch( event->keyval ) {
1.43 @@ -80,6 +91,7 @@
1.44 case GDK_KP_Enter:
1.45 gtk_entry_set_text( GTK_ENTRY(widget), _("<press key>") );
1.46 g_object_set_data( G_OBJECT(widget), "keypress_mode", GINT_TO_POINTER(TRUE) );
1.47 + input_set_keysym_hook(config_keysym_hook, widget);
1.48 return TRUE;
1.49 case GDK_BackSpace:
1.50 case GDK_Delete:
1.51 @@ -118,7 +130,7 @@
1.52 }
1.53 }
1.54 }
1.55 -
1.56 + input_set_keysym_hook(NULL, NULL);
1.57 }
1.58
1.59 static void controller_device_configure( maple_device_t device )
.