From 11a394f69b43ce36e4b0119699a4ae9461d252ee Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jonas=20K=C3=B6lker?= Date: Mon, 21 Sep 2015 18:34:53 +0200 Subject: [PATCH] Add more keyboard controls to Slant. --- puzzles.but | 5 ++++- slant.c | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/puzzles.but b/puzzles.but index d0b51de..65782af 100644 --- a/puzzles.but +++ b/puzzles.but @@ -1709,7 +1709,10 @@ the game entirely with one button if you need to.) You can also use the cursor keys to move around the grid. Pressing the return or space keys will place a \cw{\\} or a \cw{/}, respectively, -and will then cycle them as above. +and will then cycle them as above. You can also press \cw{/} or +\cw{\\} to place a \cw{/} or \cw{\\}, respectively, independent of +what is already in the cursor square. Backspace removes any line from +the cursor square. (All the actions described in \k{common-actions} are also available.) diff --git a/slant.c b/slant.c index 6210d01..a7a3792 100644 --- a/slant.c +++ b/slant.c @@ -1719,6 +1719,11 @@ static char *interpret_move(const game_state *state, game_ui *ui, move_cursor(button, &ui->cur_x, &ui->cur_y, w, h, 0); ui->cur_visible = 1; return ""; + } else if (button == '\\' || button == '\b' || button == '/') { + int x = ui->cur_x, y = ui->cur_y; + if (button == ("\\" "\b" "/")[state->soln[y*w + x] + 1]) return NULL; + sprintf(buf, "%c%d,%d", button == '\b' ? 'C' : button, x, y); + return dupstr(buf); } if (action != NONE) { -- 2.30.2