shithub: puzzles

Download patch

ref: 948c33c5a9d2bdfd3adfe816a7d4697e3b7d79e8
parent: 4d6c8c73373bf7eb1f72b1cf4fbb78a5719ade3f
author: Simon Tatham <anakin@pobox.com>
date: Mon Aug 29 07:12:05 EDT 2005

Backspace and Delete keys now function like Space in Solo.

[originally from svn r6237]

--- a/gtk.c
+++ b/gtk.c
@@ -550,6 +550,10 @@
         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
--- a/solo.c
+++ b/solo.c
@@ -2364,13 +2364,13 @@
 	((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;
 
         /*