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 /windows.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 'windows.c')
| -rw-r--r-- | windows.c | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -3405,8 +3405,18 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, } break; case WM_CHAR: - if (!midend_process_key(fe->me, 0, 0, (unsigned char)wParam)) - PostQuitMessage(0); + { + int key = (unsigned char)wParam; + if (key == '\x1A') { + BYTE keystate[256]; + if (GetKeyboardState(keystate) && + (keystate[VK_SHIFT] & 0x80) && + (keystate[VK_CONTROL] & 0x80)) + key = UI_REDO; + } + if (!midend_process_key(fe->me, 0, 0, key)) + PostQuitMessage(0); + } return 0; case WM_TIMER: if (fe->timer) { |