chiark / gitweb /
Backspace and Delete keys now function like Space in Solo.
authorSimon Tatham <anakin@pobox.com>
Mon, 29 Aug 2005 11:12:05 +0000 (11:12 +0000)
committerSimon Tatham <anakin@pobox.com>
Mon, 29 Aug 2005 11:12:05 +0000 (11:12 +0000)
[originally from svn r6237]

gtk.c
solo.c

diff --git a/gtk.c b/gtk.c
index 1cf5136043cf1fe6574e2830beaae13061a76915..802c42ea605c1c051eba79a2badc406608b74086 100644 (file)
--- a/gtk.c
+++ b/gtk.c
@@ -550,6 +550,10 @@ static gint key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
         keyval = MOD_NUM_KEYPAD | '0';
     else if (event->keyval == GDK_KP_Begin || event->keyval == GDK_KP_5)
         keyval = MOD_NUM_KEYPAD | '5';
+    else if (event->keyval == GDK_BackSpace ||
+            event->keyval == GDK_Delete ||
+            event->keyval == GDK_KP_Delete)
+        keyval = '\177';
     else if (event->string[0] && !event->string[1])
         keyval = (unsigned char)event->string[0];
     else
diff --git a/solo.c b/solo.c
index ac98afd281953bc0b8b15bcf54319097123d85f6..1d4425ae94289a2bc5379c16e07fbe782e3095ad 100644 (file)
--- a/solo.c
+++ b/solo.c
@@ -2364,13 +2364,13 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
        ((button >= '1' && button <= '9' && button - '0' <= cr) ||
         (button >= 'a' && button <= 'z' && button - 'a' + 10 <= cr) ||
         (button >= 'A' && button <= 'Z' && button - 'A' + 10 <= cr) ||
-        button == ' ')) {
+        button == ' ' || button == '\010' || button == '\177')) {
        int n = button - '0';
        if (button >= 'A' && button <= 'Z')
            n = button - 'A' + 10;
        if (button >= 'a' && button <= 'z')
            n = button - 'a' + 10;
-       if (button == ' ')
+       if (button == ' ' || button == '\010' || button == '\177')
            n = 0;
 
         /*