aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2005-08-29 11:12:05 +0000
committerSimon Tatham <anakin@pobox.com>2005-08-29 11:12:05 +0000
commit948c33c5a9d2bdfd3adfe816a7d4697e3b7d79e8 (patch)
treed3e6ea47921d077d8323abe61e17fec0e8bb4882
parent4d6c8c73373bf7eb1f72b1cf4fbb78a5719ade3f (diff)
downloadpuzzles-948c33c5a9d2bdfd3adfe816a7d4697e3b7d79e8.zip
puzzles-948c33c5a9d2bdfd3adfe816a7d4697e3b7d79e8.tar.gz
puzzles-948c33c5a9d2bdfd3adfe816a7d4697e3b7d79e8.tar.bz2
puzzles-948c33c5a9d2bdfd3adfe816a7d4697e3b7d79e8.tar.xz
Backspace and Delete keys now function like Space in Solo.
[originally from svn r6237]
-rw-r--r--gtk.c4
-rw-r--r--solo.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/gtk.c b/gtk.c
index 1cf5136..802c42e 100644
--- 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
--- 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;
/*