Backspace and Delete keys now function like Space in Solo.
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 29 Aug 2005 11:12:05 +0000 (11:12 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Mon, 29 Aug 2005 11:12:05 +0000 (11:12 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/puzzles@6237 cda61777-01e9-0310-a592-d414129be87e

gtk.c
solo.c

diff --git a/gtk.c b/gtk.c
index 1cf5136..802c42e 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 ac98afd..1d4425a 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;
 
         /*