diff --git a/Quake/in_sdl.c b/Quake/in_sdl.c index dd46eeb3..24f0513f 100644 --- a/Quake/in_sdl.c +++ b/Quake/in_sdl.c @@ -373,7 +373,13 @@ void IN_SendKeyEvents (void) break; /* S.A: fixes QNX weirdness */ #endif /* __QNX__ */ if ((event.key.keysym.unicode & 0xFF80) == 0) + { sym = event.key.keysym.unicode & 0x7F; + if (sym > 0 && sym < 32 && modstate & KMOD_CTRL) + if (modstate & KMOD_SHIFT) + sym += 64; + else sym += 96; + } /* else: it's an international character */ } /* printf("You pressed %s (%d) (%c)\n", SDL_GetKeyName(sym), sym, sym);*/