* Do not cull non-ascii keyboard chars at the SDL level any more, these are

handled in cl_keys.c. (This fixes ctrl-c not working).
This commit is contained in:
Tim Angus 2006-02-04 14:11:53 +00:00
parent 2e19bdfb5d
commit cb76ec0f2d

View file

@ -252,27 +252,20 @@ static const char *XLateKey(SDL_keysym *keysym, int *key)
default: break; default: break;
} }
if (*key == K_BACKSPACE) if( keysym->unicode <= 127 ) // maps to ASCII?
buf[0] = 8;
else
{ {
if (keysym->unicode <= 255 && keysym->unicode >= 20) // maps to ASCII? char ch = (char) keysym->unicode;
{ if (ch == '~')
char ch = (char) keysym->unicode; *key = '~'; // console HACK
if (ch == '~')
*key = '~'; // console HACK
// The X11 driver converts to lowercase, but apparently we shouldn't. // The X11 driver converts to lowercase, but apparently we shouldn't.
// There's possibly somewhere else where they covert back. Passing // There's possibly somewhere else where they covert back. Passing
// uppercase to the engine works fine and fixes all-lower input. // uppercase to the engine works fine and fixes all-lower input.
// (https://bugzilla.icculus.org/show_bug.cgi?id=2364) --ryan. // (https://bugzilla.icculus.org/show_bug.cgi?id=2364) --ryan.
//else if (ch >= 'A' && ch <= 'Z') //else if (ch >= 'A' && ch <= 'Z')
// ch = ch - 'A' + 'a'; // ch = ch - 'A' + 'a';
buf[0] = ch; buf[0] = ch;
}
else if(keysym->unicode == 8) // ctrl-h
buf[0] = 8;
} }
return buf; return buf;