diff options
| author | Simon Tatham <anakin@pobox.com> | 2017-09-20 16:38:31 +0100 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2017-09-20 18:03:44 +0100 |
| commit | d72db91888c1efddd56c67eee665b0a83c9329eb (patch) | |
| tree | ad55626ee7c32ec425099a6da0ef9338f400c3cd /emcc.c | |
| parent | e4d05c36d996c3053a66ca29cfe84e9652d501e3 (diff) | |
| download | puzzles-d72db91888c1efddd56c67eee665b0a83c9329eb.zip puzzles-d72db91888c1efddd56c67eee665b0a83c9329eb.tar.gz puzzles-d72db91888c1efddd56c67eee665b0a83c9329eb.tar.bz2 puzzles-d72db91888c1efddd56c67eee665b0a83c9329eb.tar.xz | |
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.
Diffstat (limited to 'emcc.c')
| -rw-r--r-- | emcc.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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 |