|
|
@ -882,7 +882,6 @@ bool Core::ncurses_wgetch(int in, int & out)
|
|
|
|
|
|
|
|
|
|
|
|
int Core::UnicodeAwareSym(const SDL::KeyboardEvent& ke)
|
|
|
|
int Core::UnicodeAwareSym(const SDL::KeyboardEvent& ke)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
con.print("Unicode came in as %d\n", ke.ksym.unicode);
|
|
|
|
|
|
|
|
// Assume keyboard layouts don't change the order of numbers:
|
|
|
|
// Assume keyboard layouts don't change the order of numbers:
|
|
|
|
if( '0' <= ke.ksym.sym && ke.ksym.sym <= '9') return ke.ksym.sym;
|
|
|
|
if( '0' <= ke.ksym.sym && ke.ksym.sym <= '9') return ke.ksym.sym;
|
|
|
|
|
|
|
|
|
|
|
@ -892,14 +891,12 @@ int Core::UnicodeAwareSym(const SDL::KeyboardEvent& ke)
|
|
|
|
if (unicode < ' ')
|
|
|
|
if (unicode < ' ')
|
|
|
|
{
|
|
|
|
{
|
|
|
|
unicode += 'A' - 1;
|
|
|
|
unicode += 'A' - 1;
|
|
|
|
con.print("Unicode is a control character. Adding 0x40: %d\n", unicode);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// convert A-Z to their a-z counterparts:
|
|
|
|
// convert A-Z to their a-z counterparts:
|
|
|
|
if('A' < unicode && unicode < 'Z')
|
|
|
|
if('A' < unicode && unicode < 'Z')
|
|
|
|
{
|
|
|
|
{
|
|
|
|
unicode += 'a' - 'A';
|
|
|
|
unicode += 'a' - 'A';
|
|
|
|
con.print("Unicode is a upper case. Subtracting 0x20: %d\n", unicode);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// convert various other punctuation marks:
|
|
|
|
// convert various other punctuation marks:
|
|
|
@ -914,8 +911,6 @@ int Core::UnicodeAwareSym(const SDL::KeyboardEvent& ke)
|
|
|
|
if('}' == unicode) unicode = ']';
|
|
|
|
if('}' == unicode) unicode = ']';
|
|
|
|
if('~' == unicode) unicode = '`';
|
|
|
|
if('~' == unicode) unicode = '`';
|
|
|
|
|
|
|
|
|
|
|
|
con.print("Unicode punctuation filter. Now: %d\n", unicode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return unicode;
|
|
|
|
return unicode;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -943,7 +938,6 @@ int Core::SDL_Event(SDL::Event* ev)
|
|
|
|
// user's Input Language
|
|
|
|
// user's Input Language
|
|
|
|
if((ke->ksym.unicode & 0xff80) == 0)
|
|
|
|
if((ke->ksym.unicode & 0xff80) == 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
int key = UnicodeAwareSym(*ke);
|
|
|
|
int key = UnicodeAwareSym(*ke);
|
|
|
|
SelectHotkey(key, mod);
|
|
|
|
SelectHotkey(key, mod);
|
|
|
|
}
|
|
|
|
}
|
|
|
|