Simplify handling of X11 key events that are just passed through.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28168 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2008-12-20 10:25:13 +00:00
parent 1b14e4f420
commit ca468a5f84
1 changed files with 7 additions and 97 deletions

View File

@ -582,6 +582,13 @@ static void vo_x11_putkey_ext(int keysym)
void vo_x11_putkey(int key)
{
static const char *passthrough_keys = " -+*/<>`~!@#$%^&()_{}:;\"\',.?\\|=[]";
if ((key >= 'a' && key <= 'z') ||
(key >= 'A' && key <= 'Z') ||
(key >= '0' && key <= '9') ||
(key > 0 && key < 256 && strchr(passthrough_keys, key)))
mplayer_put_key(key);
switch (key)
{
case wsLeft:
@ -596,9 +603,6 @@ void vo_x11_putkey(int key)
case wsDown:
mplayer_put_key(KEY_DOWN);
break;
case wsSpace:
mplayer_put_key(' ');
break;
case wsEscape:
mplayer_put_key(KEY_ESC);
break;
@ -665,28 +669,18 @@ void vo_x11_putkey(int key)
case wsF12:
mplayer_put_key(KEY_F + 12);
break;
case wsMinus:
case wsGrayMinus:
mplayer_put_key('-');
break;
case wsPlus:
case wsGrayPlus:
mplayer_put_key('+');
break;
case wsGrayMul:
case wsMul:
mplayer_put_key('*');
break;
case wsGrayDiv:
case wsDiv:
mplayer_put_key('/');
break;
case wsLess:
mplayer_put_key('<');
break;
case wsMore:
mplayer_put_key('>');
break;
case wsGray0:
mplayer_put_key(KEY_KP0);
break;
@ -738,90 +732,6 @@ void vo_x11_putkey(int key)
case wsGrayEnter:
mplayer_put_key(KEY_KPENTER);
break;
case wsGrave:
mplayer_put_key('`');
break;
case wsTilde:
mplayer_put_key('~');
break;
case wsExclSign:
mplayer_put_key('!');
break;
case wsAt:
mplayer_put_key('@');
break;
case wsHash:
mplayer_put_key('#');
break;
case wsDollar:
mplayer_put_key('$');
break;
case wsPercent:
mplayer_put_key('%');
break;
case wsCircumflex:
mplayer_put_key('^');
break;
case wsAmpersand:
mplayer_put_key('&');
break;
case wsobracket:
mplayer_put_key('(');
break;
case wscbracket:
mplayer_put_key(')');
break;
case wsUnder:
mplayer_put_key('_');
break;
case wsocbracket:
mplayer_put_key('{');
break;
case wsccbracket:
mplayer_put_key('}');
break;
case wsColon:
mplayer_put_key(':');
break;
case wsSemicolon:
mplayer_put_key(';');
break;
case wsDblQuote:
mplayer_put_key('\"');
break;
case wsAcute:
mplayer_put_key('\'');
break;
case wsComma:
mplayer_put_key(',');
break;
case wsPoint:
mplayer_put_key('.');
break;
case wsQuestSign:
mplayer_put_key('?');
break;
case wsBSlash:
mplayer_put_key('\\');
break;
case wsPipe:
mplayer_put_key('|');
break;
case wsEqual:
mplayer_put_key('=');
break;
case wsosbrackets:
mplayer_put_key('[');
break;
case wscsbrackets:
mplayer_put_key(']');
break;
default:
if ((key >= 'a' && key <= 'z') || (key >= 'A' && key <= 'Z') ||
(key >= '0' && key <= '9'))
mplayer_put_key(key);
}
}