From d72db91888c1efddd56c67eee665b0a83c9329eb Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Wed, 20 Sep 2017 16:38:31 +0100 Subject: Map Ctrl-Shift-Z to Redo. This is in addition to the existing keystrokes r, ^R and ^Y. I've become used to Ctrl-Shift-Z in other GUI games, and my fingers keep getting confused when my own puzzles don't handle it the same way. --- emcc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'emcc.c') diff --git a/emcc.c b/emcc.c index a55f0a6..23ab333 100644 --- a/emcc.c +++ b/emcc.c @@ -310,6 +310,8 @@ void key(int keycode, int charcode, const char *key, const char *chr, keyevent = MOD_NUM_KEYPAD | '7'; } else if (!strnullcmp(key, "PageUp") || keycode==33) { keyevent = MOD_NUM_KEYPAD | '9'; + } else if (shift && ctrl && (keycode & 0x1F) == 26) { + keyevent = UI_REDO; } else if (chr && chr[0] && !chr[1]) { keyevent = chr[0] & 0xFF; } else if (keycode >= 96 && keycode < 106) { @@ -323,10 +325,10 @@ void key(int keycode, int charcode, const char *key, const char *chr, } if (keyevent >= 0) { - if (shift && keyevent >= 0x100) + if (shift && (keyevent >= 0x100 && !IS_UI_FAKE_KEY(keyevent))) keyevent |= MOD_SHFT; - if (ctrl) { + if (ctrl && !IS_UI_FAKE_KEY(keyevent)) { if (keyevent >= 0x100) keyevent |= MOD_CTRL; else -- cgit v1.1