aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--filling.c1
-rw-r--r--midend.c9
-rw-r--r--solo.c4
-rw-r--r--unequal.c2
4 files changed, 12 insertions, 4 deletions
diff --git a/filling.c b/filling.c
index 3fcc3b1..896fe41 100644
--- a/filling.c
+++ b/filling.c
@@ -1097,7 +1097,6 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
case '\r':
case '\n':
case '\b':
- case '\177':
button = 0;
break;
default:
diff --git a/midend.c b/midend.c
index 323ac97..1ba0fa3 100644
--- a/midend.c
+++ b/midend.c
@@ -753,6 +753,15 @@ int midend_process_key(midend *me, int x, int y, int button)
button = CURSOR_SELECT2;
/*
+ * Normalise both backspace characters (8 and 127) to \b. Easier
+ * to do this once, here, than to require all front ends to
+ * carefully generate the same one - now each front end can
+ * generate whichever is easiest.
+ */
+ if (button == '\177')
+ button = '\b';
+
+ /*
* Now send on the event we originally received.
*/
ret = ret && midend_really_process_key(me, x, y, button);
diff --git a/solo.c b/solo.c
index 0970eda..3d3fa83 100644
--- a/solo.c
+++ b/solo.c
@@ -4551,13 +4551,13 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
((button >= '0' && button <= '9' && button - '0' <= cr) ||
(button >= 'a' && button <= 'z' && button - 'a' + 10 <= cr) ||
(button >= 'A' && button <= 'Z' && button - 'A' + 10 <= cr) ||
- button == CURSOR_SELECT2 || button == '\010' || button == '\177')) {
+ button == CURSOR_SELECT2 || button == '\b')) {
int n = button - '0';
if (button >= 'A' && button <= 'Z')
n = button - 'A' + 10;
if (button >= 'a' && button <= 'z')
n = button - 'a' + 10;
- if (button == CURSOR_SELECT2 || button == '\010' || button == '\177')
+ if (button == CURSOR_SELECT2 || button == '\b')
n = 0;
/*
diff --git a/unequal.c b/unequal.c
index 26fcd41..35837c0 100644
--- a/unequal.c
+++ b/unequal.c
@@ -392,7 +392,7 @@ static char n2c(digit n, int order) {
static int c2n(int c, int order) {
if (c < 0 || c > 0xff)
return -1;
- if (c == ' ' || c == '\010' || c == '\177')
+ if (c == ' ' || c == '\b')
return 0;
if (order < 10) {
if (c >= '1' && c <= '9')