From 8f7ce4f8f20b45e6f3d58d33084597ff54d1305a Mon Sep 17 00:00:00 2001
From: deuce <>
Date: Wed, 20 Aug 2008 04:59:47 +0000
Subject: [PATCH] Fix interaction of Caps Lock and ALT keys.

---
 src/conio/sdl_con.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c
index 8f8511c114..dc577f7b0e 100644
--- a/src/conio/sdl_con.c
+++ b/src/conio/sdl_con.c
@@ -1221,10 +1221,18 @@ unsigned int sdl_get_char_code(unsigned int keysym, unsigned int mod, unsigned i
 
 				if(mod & KMOD_CTRL)
 					expect=sdl_keyval[i].ctrl;
-				else if(mod & KMOD_SHIFT)
-					expect=sdl_keyval[i].shift;
-				else
-					expect=sdl_keyval[i].key;
+				else if(mod & KMOD_SHIFT) {
+					if(mod & KMOD_CAPS)
+						expect=sdl_keyval[i].key;
+					else
+						expect=sdl_keyval[i].shift;
+				}
+				else {
+					if(mod & KMOD_CAPS)
+						expect=sdl_keyval[i].shift;
+					else
+						expect=sdl_keyval[i].key;
+				}
 
 				/*
 				 * Now handle the ALT case so that expect will
-- 
GitLab