PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lokalisierte Tasten (SHIFT + 2 = @ oder ")



mattn
30-07-2006, 19:27
Hi, weiß jemand evtl. wie man rausbekommt, welcher Tastaturtreiber eingestellt ist. Ich benutzt die Quake2 Engine, die initialisiert ein paar array auf folgende Weise



keyshift['1'] = '!';
keyshift['2'] = '@';
keyshift['3'] = '#';
keyshift['4'] = '$';
keyshift['5'] = '%';
keyshift['6'] = '^';
keyshift['7'] = '&';
keyshift['8'] = '*';
keyshift['9'] = '(';
keyshift['0'] = ')';
keyshift['-'] = '_';
keyshift['='] = '+';
keyshift[','] = '<';
keyshift['.'] = '>';
keyshift['/'] = '?';
keyshift[';'] = ':';
keyshift['\''] = '"';
keyshift['['] = '{';
keyshift[']'] = '}';
keyshift['`'] = '~';
keyshift['\\'] = '|';


diese Tasten werden dann quasi übersetzt, wenn man Shift drückt. Nun nervt es aber gewaltig auf einer deutschen, französischen oder was auch immer Tastatur nach den entsprechenden englischen Tasten zu suchen. Weiß da jemand Abhilfe? Die Input Funktion von X mappt a und A sowie 1 und ! unterschiedlich - daher gibts damit keine Probleme - aber Windows fällt aus dem Rahmen - und auch SDL hat nur a und 1. Wie komme ich also allgemeingültig auf die transformation von 1 (+shift taste) = ! (in diesem fall deutsch)

gruß
martin