Tastatur-Scancodes
Windows 2000 und XP bieten die Möglichkeit, Tasten über die Registry umzubelegen. Den Schlüssel dazu bieten die Scancodes der Tastatur, die jede einzelne Tastenfunktion identifizieren. Als Scancode ist hier nur der Make-Code angegeben, die Break-Codes sind für den Registry-Eintrag irrelevant.
Taste
Scancode (hex)
Taste
Scancode (hex)
Taste
Scancode (hex)
| <^> | 0029 | <J> | 0024 | <Zahlenblock 5> | 004C |
| <1> | 0002 | <K> | 0025 | <Zahlenblock 2> | 0050 |
| <2> | 0003 | <L> | 0026 | <Zahlenblock 0> | 0052 |
| <3> | 0004 | <Ö> | 0027 | <Zahlenblock *> | 0037 |
| <4> | 0005 | <Ä> | 0028 | <Zahlenblock 9> | 0049 |
| <5> | 0006 | <Y> | 002C | <Zahlenblock 6> | 004D |
| <6> | 0007 | <X> | 002D | <Zahlenblock 3> | 0051 |
| <7> | 0008 | <C> | 002E | <Zahlenblock .> | 0053 |
| <8> | 0009 | <V> | 002F | <Zahlenblock -> | 004A |
| <9> | 000A | <B> | 0030 | <Zahlenblock +> | 004E |
| <0> | 000B | <N> | 0031 | <Zblock Enter> | E01C |
| <ß> | 000C | <M> | 0032 | <Esc> | 0001 |
| <´> | 000D | <,> | 0033 | <F1> | 003B |
| <Q> | 0010 | <.> | 0034 | <F2> | 003C |
| <W> | 0011 | <-> | 0035 | <F3> | 003D |
| <E> | 0012 | <Enter> | 001C | <F4> | 003E |
| <R> | 0013 | <Shift (Links)> | 002A | <F5> | 003F |
| <T> | 0014 | <Shift (Rechts)> | 0036 | <F6> | 0040 |
| <Z> | 0015 | <Strg (Links)> | 001D | <F7> | 0041 |
| <U> | 0016 | <Strg (Rechts)> | E01D | <F8> | 0042 |
| <I> | 0017 | <Alt (Links)> | 0038 | <F9> | 0043 |
| <O> | 0018 | <Alt (Rechts)> | E038 | <F10> | 0044 |
| <P> | 0019 | <Leertaste> | 0039 | <F11> | 0057 |
| <Ü> | 001A | <Num Lock> | 0045 | <F12> | 0058 |
| <+> | 001B | <Backspace> | 000E | <Win Links> | E05B |
| << > | 002B | <Tabulator> | 000F | <Win Rechts> | E05C |
| <A> | 001E | <Rollen> | 0046 | <Win Kontext> | E05D |
| <S> | 001F | <Feststellen> | 003A | <Vol lauter> | E030 |
| <D> | 0020 | <Zahlenblock 7> | 0047 | <Vol leiser> | E02E |
| <F> | 0021 | <Zahlenblock 4> | 004B | <Vol mute> | E020 |
| <G> | 0022 | <Zahlenblock 1> | 004F | <Stop> | E024 |
| <H> | 0023 | <Zahlenblock 8> | 0048 | <Play/Pause> | E022 |
Um einzelne Tasten anhand Ihre Scancodes umzubelegen, ist der neue Binärwert "Scancode Map" im Registryschlüssel
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
zu erstellen. Dieser Wert enthält den Datenstring, der die Informationen zu den Tasten angibt, die Sie umbelegen möchten. Um beispielsweise die Linke Windows-Taste auf <Rollen> zu setzten und <Rollen> auf die Windows-Tasten zu verlegen, weisen Sie „Scancode Map“ diesen String zu:
0000000000000000040000005BE0460046005CE046005BE000000000
Das Format des Strings ist folgendermaßen zu lesen:
| 00 00 00 00 | Headerinformation |
| 00 00 00 00 | Flags |
| 04 00 00 00 | Anzahl der Definitionen (inklusive Null Terminator) |
| 5B E0 46 00 | Erste Definition: Linke Windows-Taste auf Rollen-Taste |
| 46 00 5C E0 | Zweite Definition: Rollen-Taste auf rechte Windows-Taste |
| 46 00 5B E0 | Dritte Definition: Rollen-Taste auf linke Windows-Taste |
| 00 00 00 00 | Null Terminator |
Bei den Anzahl der Definition ist zu beachten, dass der abschließende Null Terminator mitgezählt wird.
Die Scancodes werden in der Registry im "Little Endian"-Format angegeben. "Little Endian" (Litte End First) bedeutet, dass das kleine Ende eines Wertes zuerst kommt. Aus dem Scancode der Linken Windows-Taste “E05B“ wird also „5BE0“.





