www.wikidata.de-de.nina.az
Ein Scancode ist in der Computertechnik eine Nummer die von der Tastatur eines Rechners an diesen gesendet wird wenn eine Taste gedruckt oder losgelassen wird Inhaltsverzeichnis 1 PC XT Tastatur 2 PC AT Tastatur 3 MF2 Tastatur 3 1 Tastaturbefehle 3 2 Code Sets 4 USB Tastaturen 5 Weblinks 6 EinzelnachweisePC XT Tastatur BearbeitenIm Jahr 1981 hatte IBM zusammen mit dem ersten IBM PC eine Tastatur mit 83 Tasten eingefuhrt Da diese auch beim 1983 erschienenen IBM PC XT unverandert beibehalten wurde ist sie heute als XT Tastatur bekannt Fruhere Computertastaturen sendeten oft direkt ASCII oder Codes einer anderen Zeichensatznorm an den Rechner Um aber beim fur den Vertrieb in vielen Landern geplanten IBM PC nicht in jeder landerspezifischen Tastaturvariante andere Codes generieren zu mussen wurde jeder Taste eine Nummer zugeordnet der sog Scancode Dem Scancode wurde dann erst im Rechner vom Tastaturtreiber ein ASCII Code zugeordnet Fur den Scancode wurden die Tasten einfach nach ihrer Lage auf der Tastatur reihenweise von links nach rechts durchnummeriert im Gegensatz zum ASCII Code der der alphabetischen Anordnung folgt Ein Standard Tastaturtreiber fur die US amerikanische Belegung war bei jedem PC im BIOS integriert landerspezifische Zuordnungen erledigte ein Software Tastaturtreiber der als TSR Programm beim Systemstart nachgeladen wurde Unter MS DOS sowie den meisten dazu kompatiblen DOS heisst dieses Programm KEYB COM siehe Liste von DOS Kommandozeilenbefehlen andere Betriebssysteme verwendeten dazu meist ebenfalls ein Systemprogramm unter Linux beispielsweise loadkeys 1 oder eine Systemeinstellung Somit musste IBM bei den PC Tastaturen fur den Vertrieb in verschiedenen Landern nur unterschiedlich bedruckte Tastenkappen einbauen wahrend die Elektronik der Tastatur gleich bleiben konnte und sich am Rechner selbst uberhaupt nichts andern musste Bei der XT Tastatur gab es links einen Block von 10 Funktionstasten und rechts die alphanumerischen Tasten mit angegliedertem Zahlenblock LEDs zur Signalisierung der aktuellen Zustande und einen separaten Pfeiltastenblock gab es noch nicht Die Kommunikation geschah ausschliesslich von der Tastatur zum PC der PC konnte seinerseits also noch keine Befehle an die Tastatur schicken Der prinzipielle Aufbau der seriellen Schnittstelle ist unter PS 2 Schnittstelle beschrieben der typische Steckverbinder fur PC und AT Tastaturen war uber lange Jahre ein 5 poliger DIN Steckverbinder den man in Deutschland als Stecker fur NF Signale kannte Uberspielkabel PC AT Tastatur BearbeitenDie logische Weiterentwicklung war die 1984 mit dem IBM PC AT eingefuhrte AT Tastatur mit 84 Tasten abgesetzten Funktionstasten und 10er Block Die physikalische Schnittstelle wurde beibehalten jedoch die Signalisierung komplett neu gestaltet Die Kommunikation zwischen Rechner und Tastatur war nun bidirektional erkennbar beispielsweise daran dass der Rechner die Status LEDs programmgesteuert schalten konnte Die ubertragenen Codes waren vollig andere als beim XT Ein kleiner Ein Chip Rechner Intel 8042 auf der Hauptplatine des Computers etwas missverstandlich Keyboard BIOS genannt setzte die tatsachlich ubertragenen Codes auf kompatible Werte um Fur die Software sah eine AT Tastatur mit ihrem vorgeschalteten Keyboard BIOS einer XT Tastatur sehr ahnlich so konnte die so wichtige Kompatibilitat der Rechner erhalten bleiben Die Umsetzung der Codes war abschaltbar und IBM rechnete wohl damit dass sie normalerweise abgeschaltet sein wurde sobald ein moderneres Betriebssystem verfugbar wurde in der Praxis wurde aber weiterhin fast uberall MS DOS bzw PC DOS verwendet und die Umsetzung war praktisch immer eingeschaltet Der Umbau eines XT auf AT erforderte meist den Austausch der Tastatur es gab aber auch Tastaturen die einen Umschalter auf der Unterseite hatten oder sich automatisch passend umschalten konnten MF2 Tastatur Bearbeiten nbsp Deutsche MF2 Tastatur mit 105 Tasten die angegebenen Nummern sind Tastennummern keine ScancodesDer nachste Generationswechsel vollzog sich 1986 als IBM die 101 Tasten grosse MF2 Tastatur multi functional fur den US Markt herausbrachte Analog wurde die landerspezifische 102 Tasten grosse MF2 Tastatur definiert Letztlich basieren auf diesen beiden Tastaturbelegungen alle heute ublichen Erweiterungen wie beispielsweise die 104 105 Tasten Windows Tastatur Die MF2 Tastatur verwendete die gleiche Schnittstelle und Signalisierung wie die vorherige PC AT Tastatur Ab 1987 wurde der Stecker fur die IBM PS 2 Computer durch eine kleinere Variante ersetzt die elektrischen Signale blieben aber die gleichen Die Anordnung der Tasten wurde dahingehend geandert dass nun die Funktionstasten deren Anzahl zugleich um zwei erhoht wurde oberhalb der alphanumerischen Tasten liegen Der Zehnerblock und spezielle Tasten zur Cursorbewegung wurden optisch getrennt Grundsatzlich wird beim Drucken einer Taste der entsprechende Scancode der Taste gesendet Bei langerem Drucken wird der gleiche Scancode wiederholt gesendet und beim Loslassen wird ein sog Break Code F0 dem Scancode vorangesetzt Das Keyboard BIOS setzt diese Werte allerdings weiterhin um Nach dieser Umsetzung ist in der Regel beim make code das oberste Bit 0 beim break code aber 1 Beispiel Die Leertaste hat nach der Umsetzung den make code 39 und den break code B9 Um mit einer MF2 Tastatur kompatibel zur XT Tastatur zu sein bekamen die Tasten des neuen Cursorblocks nach der Umsetzung den gleichen Code mit einem speziellen Code E0 oder E1 zur Unterscheidung davorgesetzt Alte Software ignorierte gewohnlich den ihr unbekannten Code E0 bzw E1 und verarbeitete nur den folgenden Code der der gleiche war wie bei der jeweils entsprechenden Taste des alten kombinierten Ziffern Cursorblocks Neue Software konnte dagegen die neuen Codes bei Bedarf erkennen und wusste dann dass eine Taste des neuen Cursorblocks und nicht eine des kombinierten Ziffern Cursorblocks gedruckt worden war Die amerikanische MF2 Tastatur hat 101 Tasten die landerspezifische 102 Tasten Die zusatzliche Taste tragt auf deutschen Tastaturen die drei Zeichen lt gt und die linke Umschalttaste ist dafur verkleinert Tastaturbefehle Bearbeiten Wird die Tastatur zuruckgesetzt PC schickt Reset FF antwortet sie bei erfolgreichem Basic Assurance Test mit Bat AA Wird die Tastatur zuruckgesetzt und es gibt einen Fehlerfall klemmt beispielsweise eine Taste reagiert sie mit BatE1 FC oder BatE2 FD Der Test der Kommunikation erfolgt vom PC mit Echo EE und die Tastatur antwortet ebenfalls mit Echo EE Allgemein werden alle Kommandos zur Tastatur mit Acknowledge Ack FA von der Tastatur bestatigt Stimmt etwas nicht mit den Daten kommt ein Misunderstand Misu FE Wird die Tastatur mit Read ID F2 nach ihrem Typ gefragt antwortet eine MF2 Tastatur mit 2 Bytes ID1 AB und ID2 83 Aus Kompatibilitatsgrunden wurde das auch bei spateren Tastaturen nie geandert so dass in der Praxis der Typ nicht softwaremassig abgefragt werden kann ausser bei USB Tastaturen siehe unten Ist der Tastaturpuffer voll reagiert die Tastatur mit Full FF Der vom PC kommende Befehl Set LED ED gefolgt von einem Byte steuert die Leuchtdioden Bit 0 2 ScrlLock NumLock CapsLock Bit 3 7 0 Vom PC kommendes Set Codeset F0 gefolgt von einem Byte wahlt das Code Set 1 3 aus Vom PC kommendes Set Codeset F0 gefolgt von 0 fragt ab welches Code Set aktiv ist Vom PC kommender Befehl Set Speed F3 gefolgt von einem Byte steuert die Verzogerungszeit zwischen dem Tastendruck und dem Anspringen der automatischen Tastenwiederholung Bit 5 6 und die Wiederholungsrate Bit 0 4 Vom PC kommendes Enable F4 aktiviert den Scanvorgang und Disable F5 deaktiviert den Scanvorgang so dass keine Tastendrucke mehr erkannt werden Vom PC kommendes Set Default F6 setzt alles auf Standardwerte Vom PC kommendes Resend FE fordert die Tastatur auf den letzten Antwortcode zu wiederholen Von der Tastatur kommendes Resend FE fordert umgekehrt den Rechner zur Wiederholung auf Diese Codes werden gesendet wenn durch eine Leitungsstorung Paritatsfehler oder unvollstandige Bytes empfangen werden Code Sets Bearbeiten Die Codetabelle der PC Tastatur ist komplex innerhalb der MFM Tastatur selbst existieren drei Tabellen mit Scancodes welche durch das Senden von Befehlscodes an die Tastatur ausgewahlt werden konnen Scancode Set 1 entspricht im Wesentlichen der XT Tastatur Scancode Set 2 entspricht im Wesentlichen der AT Tastatur heutiger Standard Scancode Set 3 neues logischer aufgebautes Codeset der MF2 Tastatur das sich aber nie durchsetzen konnte Zusatzlich kann die Umwandlung von Tastaturcodes durch das im Rechnergehause befindliche Keyboard BIOS ein und ausgeschaltet werden heutiger Standard eingeschaltet damit ergeben sich aus Sicht der Firmware und Software die die Codes letztlich empfangen insgesamt sechs mogliche Codevarianten Tastaturen anderer Hersteller als IBM haben teilweise die Scancode Sets 1 und 3 nicht oder fehlerhaft umgesetzt Ebenso funktioniert die Abschaltung der Scancodeumwandlung auf manchen Mainboards nicht korrekt Auch die existierenden PC Emulatoren implementieren diese Varianten nicht Daher verwenden alle heutigen PC Betriebssysteme ausschliesslich das Scancode Set 2 mit eingeschalteter Umwandlung Der Controller im Keyboard ubertragt die Codes zum Keyboard BIOS im PC mit Scancode Set 2 und dieses setzt sie dann um auf Scancode Set 1 Die Software bekommt daher auf allen PCs gewohnlich nur die alteste Variante Set 1 zu Gesicht auf dem Ur PC und auf XTs direkt auf ATs und allen neueren PCs per Umsetzung USB Tastaturen BearbeitenUSB Tastaturen verwenden einen neuen Satz von Scancodes ohne Beziehung zu den verschiedenen alteren Systemen die entsprechenden Treiber neuer Betriebssysteme konnen diese Codes verarbeiten Fur die Verwendung mit Bootloadern und alteren Betriebssystemen werden deren Scancodes vom BIOS des Rechners softwaremassig auf die alten Scancodes abgebildet Dabei wird ebenfalls nur das Scancode Set 2 mit eingeschalteter Umwandlung emuliert Manche BIOSe fuhren diese Umwandlung unvollstandig durch so wird z B teilweise die AltGr Taste nicht von der Alt Taste unterschieden was fur deutsche Tastaturen problematisch ist Die Scancodes fur USB Tastaturen sind architekturubergreifend einheitlich USB Tastaturen fur die Apple Macintosh Serie verwenden also die gleichen Scancodes wie PC USB Tastaturen Weblinks BearbeitenScancode Sets 1 3 mit ausfuhrlichen HintergrundinformationenEinzelnachweise Bearbeiten loadkeys 1 Linux manual page Manpage In man7 org Michael Kerrisk 6 Februar 1994 abgerufen am 16 September 2023 englisch Abgerufen von https de wikipedia org w index php title Scancode amp oldid 237382327