diff -aur arnold/src/unix/keyboard_sdl.c arnold.new/src/unix/keyboard_sdl.c
--- arnold/src/unix/keyboard_sdl.c	2001-11-04 22:56:28.000000000 +0100
+++ arnold.new/src/unix/keyboard_sdl.c	2003-09-11 11:20:16.000000000 +0200
@@ -182,16 +182,16 @@
 		KeySymToCPCKey[i] = CPC_KEY_NULL;
 	}
 	
-	KeySymToCPCKey[SDLK_0] = CPC_KEY_ZERO;
-	KeySymToCPCKey[SDLK_1] = CPC_KEY_1;
-	KeySymToCPCKey[SDLK_2] = CPC_KEY_2;
-	KeySymToCPCKey[SDLK_3] = CPC_KEY_3;
-	KeySymToCPCKey[SDLK_4] = CPC_KEY_4;
-	KeySymToCPCKey[SDLK_5] = CPC_KEY_5;
+	KeySymToCPCKey[SDLK_WORLD_64] = CPC_KEY_ZERO;
+	KeySymToCPCKey[SDLK_AMPERSAND] = CPC_KEY_1;
+	KeySymToCPCKey[SDLK_WORLD_73] = CPC_KEY_2;
+	KeySymToCPCKey[SDLK_QUOTEDBL] = CPC_KEY_3;
+	KeySymToCPCKey[SDLK_QUOTE] = CPC_KEY_4;
+	KeySymToCPCKey[SDLK_LEFTPAREN] = CPC_KEY_5;
 	KeySymToCPCKey[SDLK_6] = CPC_KEY_6;
-	KeySymToCPCKey[SDLK_7] = CPC_KEY_7;
-	KeySymToCPCKey[SDLK_8] = CPC_KEY_8;
-	KeySymToCPCKey[SDLK_9] = CPC_KEY_9;
+	KeySymToCPCKey[SDLK_WORLD_72] = CPC_KEY_7;
+	KeySymToCPCKey[SDLK_UNDERSCORE] = CPC_KEY_8;
+	KeySymToCPCKey[SDLK_WORLD_71] = CPC_KEY_9;
 	KeySymToCPCKey[SDLK_a] = CPC_KEY_A;
 	KeySymToCPCKey[SDLK_b] = CPC_KEY_B;
 	KeySymToCPCKey[SDLK_c] = CPC_KEY_C;
