summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/tilesdl.cc
diff options
context:
space:
mode:
authorennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-09-28 22:07:13 +0000
committerennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-09-28 22:07:13 +0000
commita4f2091a8b8b3f18b5b28e968dc3a92b46fff25c (patch)
tree5aa70b8e36bd4fb837a50e7f69ba7b17baa75921 /crawl-ref/source/tilesdl.cc
parent0a14c0089ffff79762fce9e1e3cb543af100e239 (diff)
downloadcrawl-ref-a4f2091a8b8b3f18b5b28e968dc3a92b46fff25c.tar.gz
crawl-ref-a4f2091a8b8b3f18b5b28e968dc3a92b46fff25c.zip
Adding function key support to tiles version.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7058 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/tilesdl.cc')
-rw-r--r--crawl-ref/source/tilesdl.cc37
1 files changed, 37 insertions, 0 deletions
diff --git a/crawl-ref/source/tilesdl.cc b/crawl-ref/source/tilesdl.cc
index e33cd882a9..ec394e069d 100644
--- a/crawl-ref/source/tilesdl.cc
+++ b/crawl-ref/source/tilesdl.cc
@@ -360,6 +360,13 @@ static int _translate_keysym(SDL_keysym &keysym)
else if (keysym.mod & KMOD_SHIFT)
offset = shift_offset;
+ // Match what curses returns.
+ enum function_keys
+ {
+ F1 = 265,
+ F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15
+ };
+
switch (keysym.sym)
{
case SDLK_RETURN:
@@ -370,6 +377,36 @@ static int _translate_keysym(SDL_keysym &keysym)
return CK_ESCAPE;
case SDLK_DELETE:
return CK_DELETE;
+ case SDLK_F1:
+ return F1;
+ case SDLK_F2:
+ return F2;
+ case SDLK_F3:
+ return F3;
+ case SDLK_F4:
+ return F4;
+ case SDLK_F5:
+ return F5;
+ case SDLK_F6:
+ return F6;
+ case SDLK_F7:
+ return F7;
+ case SDLK_F8:
+ return F8;
+ case SDLK_F9:
+ return F9;
+ case SDLK_F10:
+ return F10;
+ case SDLK_F11:
+ return F11;
+ case SDLK_F12:
+ return F12;
+ case SDLK_F13:
+ return F13;
+ case SDLK_F14:
+ return F14;
+ case SDLK_F15:
+ return F15;
// Hack. libw32c overloads clear with '5' too.
case SDLK_KP5: