--- systems/sdl/sdlinput.orig 2006-01-06 02:46:11.000000000 +0800
+++ systems/sdl/sdlinput.c 2006-01-06 03:23:24.000000000 +0800
@@ -529,8 +529,23 @@
if (id >= DIKI_A && id <= DIKI_Z)
return (shift ? DIKS_CAPITAL_A : DIKS_SMALL_A) + id - DIKI_A;
- if (id >= DIKI_0 && id <= DIKI_9 )
+ if (id >= DIKI_0 && id <= DIKI_9 && !shift ){
return DIKS_0 + id - DIKI_0;
+ } else {
+ switch(id) {
+ case DIKI_1: return DIKS_EXCLAMATION_MARK;
+ case DIKI_2: return DIKS_AT;
+ case DIKI_3: return DIKS_NUMBER_SIGN;
+ case DIKI_4: return DIKS_DOLLAR_SIGN;
+ case DIKI_5: return DIKS_PERCENT_SIGN;
+ case DIKI_6: return DIKS_CIRCUMFLEX_ACCENT;
+ case DIKI_7: return DIKS_AMPERSAND;
+ case DIKI_8: return DIKS_ASTERISK;
+ case DIKI_9: return DIKS_PARENTHESIS_LEFT;
+ case DIKI_0: return DIKS_PARENTHESIS_RIGHT;
+ default:;
+ }
+ }
if (id >= DIKI_KP_0 && id <= DIKI_KP_9)
return DIKS_0 + id - DIKI_KP_0;
@@ -657,29 +672,73 @@
return DIKS_COMMA;
case DIKI_BACKSLASH:
- return DIKS_BACKSLASH;
+ if( shift )
+ return DIKS_VERTICAL_BAR;
+ else
+ return DIKS_BACKSLASH;
case DIKI_EQUALS_SIGN:
- return DIKS_EQUALS_SIGN;
+ if( shift )
+ return DIKS_PLUS_SIGN;
+ else
+ return DIKS_EQUALS_SIGN;
case DIKI_LESS_SIGN:
return DIKS_LESS_THAN_SIGN;
case DIKI_MINUS_SIGN:
- return DIKS_MINUS_SIGN;
+ if( shift )
+ return DIKS_UNDERSCORE;
+ else
+ return DIKS_MINUS_SIGN;
+
+ case DIKI_COMMA:
+ if( shift )
+ return DIKS_LESS_THAN_SIGN;
+ else
+ return DIKS_COMMA;
case DIKI_PERIOD:
- return DIKS_PERIOD;
+ if( shift )
+ return DIKS_GREATER_THAN_SIGN;
+ else
+ return DIKS_PERIOD;
+
+ case DIKI_BRACKET_LEFT:
+ if( shift )
+ return DIKS_CURLY_BRACKET_LEFT;
+ else
+ return DIKS_SQUARE_BRACKET_LEFT;
+
+ case DIKI_BRACKET_RIGHT:
+ if( shift )
+ return DIKS_CURLY_BRACKET_RIGHT;
+ else
+ return DIKS_SQUARE_BRACKET_RIGHT;
case DIKI_QUOTE_LEFT:
+ if( shift )
+ return DIKS_TILDE;
+ else
+ return DIKS_GRAVE_ACCENT;
+
case DIKI_QUOTE_RIGHT:
- return DIKS_QUOTATION;
+ if( shift )
+ return DIKS_QUOTATION;
+ else
+ return DIKS_APOSTROPHE;
case DIKI_SEMICOLON:
- return DIKS_SEMICOLON;
+ if( shift )
+ return DIKS_COLON;
+ else
+ return DIKS_SEMICOLON;
case DIKI_SLASH:
- return DIKS_SLASH;
+ if( shift )
+ return DIKS_QUESTION_MARK;
+ else
+ return DIKS_SLASH;
default:
;
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev