011
14.08.2006, 10:41 Uhr
0xdeadbeef
Gott (Operator)
|
Die Tastatur schickt sowieso keine Buchstaben in der Gegend rum, sondern scancodes. Die werden vom Betriebssystem in keycodes umgewandelt und dann interpretiert, und erst dann kann ein ASCII-Code dabei rauskommen. Wenn du shift oder so drückst, ist das allerdings immer noch nicht der Fall (Es sei denn, du lädst ein merkwürdiges keyboard layout).
Was unter Windows passiert, ist (grob), dass das keyboard beim drücken der return-taste schickt "Scancode 0xfoobar Return-Taste nach unten gedrückt", das System das umsetzt in "keycode 0xbazqux" und den interpretiert als "Ich schreib jetzt \r\n nach stdin". Unter UNIX wird entsprechend \n nach stdin geschickt und unter alten MacOS \r, aber das Prinzip dürfte grob das selbe sein (Sicher sagen kann ichs nur für UNIX, aber es sollte mich sehr wundern, wenn da jemand einen grundsätzlich anderen Mechanismus verwenden sollte). -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 14.08.2006 um 10:42 Uhr von 0xdeadbeef editiert. |