git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7059 c06c8d41-db1a-0410-9941-cceddc491573
BQUEDF6MDX6NSTRDH7RMXZ3PTJU2BIUJGA3YGO5EB4DVVGF73KKAC offset = ctrl_offset;else if (keysym.mod & KMOD_SHIFT)offset = shift_offset;
mod |= MOD_CTRL;if (keysym.mod & KMOD_ALT)mod |= MOD_ALT;// This is arbitrary, but here's the current mappings.// 0-256: ASCII, Crawl arrow keys// 0-1k : Other SDL keys (F1, Windows keys, etc...) and modifiers// 1k-3k: Non-ASCII with modifiers other than just shift or just ctrl.// 3k+ : ASCII with the alt modifier.
// Match what curses returns.enum function_keys{F1 = 265,F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15};
int offset = mod ? 1000 + 256 * mod : 0;int numpad_offset = 0;if (mod == MOD_CTRL)numpad_offset = ctrl_offset;else if (mod == KMOD_SHIFT)numpad_offset = shift_offset;elsenumpad_offset = offset;
return F15;
case SDLK_NUMLOCK:case SDLK_CAPSLOCK:case SDLK_SCROLLOCK:case SDLK_RMETA:case SDLK_LMETA:case SDLK_LSUPER:case SDLK_RSUPER:case SDLK_MODE:case SDLK_COMPOSE:case SDLK_HELP:case SDLK_PRINT:case SDLK_SYSREQ:case SDLK_BREAK:case SDLK_MENU:case SDLK_POWER:case SDLK_EURO:case SDLK_UNDO:ASSERT(keysym.sym >= SDLK_F1 && keysym.sym <= SDLK_UNDO);return keysym.sym + (SDLK_UNDO - SDLK_F1 + 1) * mod;