diff options
| -rw-r--r-- | filling.c | 1 | ||||
| -rw-r--r-- | midend.c | 9 | ||||
| -rw-r--r-- | solo.c | 4 | ||||
| -rw-r--r-- | unequal.c | 2 |
4 files changed, 12 insertions, 4 deletions
@@ -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: @@ -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); @@ -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; /* @@ -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') |