Tasten mittels ScanCode umbelegen
Gültig für: Windows NT | Windows 2000 | Windows XP | Server 2003 | Windows Vista | Server 2008 | Windows 7 | Windows 8 | Windows 10
Wenn Sie unter Windows eine Taste drücken, wird ein Abtastcode erzeugt. Dieser Code wird als Nachricht in Windows gesendet.
Wenn Sie jetzt bestimmte Tasten deaktivieren wollen oder Ihnen eine neue Funktion zuweisen möchten, müssen Sie diese Nachricht abfangen und entsprechend verarbeiten.
MS hat unter Windows dafür einen Key "Scancode Map" eingeführt. Wenn es diesen Eintrag in der Registry gibt, vergleicht Windows den Abtastcode einer Taste mit den hier abgelegten Codes. Wird dieser Code hier gefunden, wird erst die Anweisung ausgeführt, bevor der Tastendruck wieder von Windows weiterverarbeitet wird.
Den Eintrag finden Sie unter:
Starten Sie den Registryeditor und ändern Sie in der Registry die Einträge wie beschrieben ab. Beachten Sie dazu bitte folgende Punkte:
Aufrufen von REGEDIT.EXE (alle Betriebssysteme) oder REGEDT32.EXE (nur Windows NT/2000)
Wenn der Pfad zum Schlüssel nicht vorhanden ist, müssen Sie die nötigen Schlüssel selber hinzufügen. Rechtsklick auf den letzten Schlüssel (links im Tree) aus dem Kontextmenü "Neu" -> "Schlüssel" auswählen, und die fehlenden Schlüssel mit den angegebenen Namen anlegen. |
HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Keyboard Layout
Wenn der Wert nicht vorhanden ist, erstellen Sie einen neuen Eintrag mit dem Namen "Scancode Map" als Datentyp REG_BINARY.
Der ScanCode hat folgenden Aufbau:
Offset Byte | Größe in Bytes | Wert | Beschreibung |
---|---|---|---|
0 |
4 |
00 00 00 00 |
Header: Versionsinfo |
4 |
4 |
00 00 00 00 |
Header: Flags |
8 |
4 |
01 00 00 00 |
Header: Anzahl der Mappings, muss mindestens 01 enthalten, wenn kein ScanCode mitgeben wird, ansonsten jeweils um die Anzahl der ScanCodes erhöhen |
12 |
4 |
Siehe Tabelle |
Mappings |
Ende 4 |
4 |
00 00 00 00 |
Markierung des Endes |
Die ersten beiden Einträge (bis Offset 8) sind zur Zeit immer auf 0 gesetzt und sollten zum gegenwärtigen Zeitpunkt auch nicht anders belegt werden.
Der dritte Eintrag enthält die nachfolge Anzahl von Scancodes + die der aktuellen Ende-Markierung.
Wird also 1 Scancode (Tastenänderung) mitgegeben, muss dieser Wert auf 2 gesetzt werden, da die Ende-Markierung noch dazukommt.
Ab Offset 12 wird nun der ScanCode mitgegeben. Sie können hier beliebig viele Einträge vornehmen. Bedenken Sie aber, für jeden Eintrag die Anzahl der Mappings anzupassen. Dabei entspricht jeder Eintrag immer einer Taste:
Neue Belegung |
Taste |
00 00 |
00 00 |
Der ScanCode besteht aus 4 Stellen und wird von hinten gelesen. Die ersten beiden Stellen stehen für die zu überwachenden Abtastcodes, die zweiten beiden Stellen für die neue Funktion. Wenn Sie für die neue Funktion „00 00“ eingeben, wird die Taste deaktiviert. Den ScanCode für alle Tasten finden Sie hier: ScanCode der Tasten
Beispiele:
Windows Menü Taste deaktivieren
Header |
Header |
Anzahl |
ScanCode |
Abschluss (Ende) |
00000000 |
00000000 |
02000000 |
00005DE0 |
00000000 |
Windows Menü Taste und F10 deaktivieren
Header |
Header |
Anzahl |
ScanCode |
ScanCode |
Abschluss (Ende) |
00000000 |
00000000 |
03000000 |
00005DE0 |
00004400 |
00000000 |
Linke Windows Taste auf die Rollen-Task legen (Tastatur ohne Windows Taste)
Header |
Header |
Anzahl |
ScanCode |
Abschluss (Ende) |
00000000 |
00000000 |
02000000 |
5BE04600 |
00000000 |
So können Sie sich jetzt beliebige ScanCode zusammenstellen und in die Registry eintragen. Sie können den Code auch recht einfach mit einer REG-Datei übertragen, dazu erstellen Sie folgende Datei, in der Sie dann einfach Ihren neuen Code hereinkopieren. Hier müssen Sie jedes Offset (immer zwei Stellen) durch ein Komma trennen:
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex: 00,00,00,00,00,00,00,00,03,00,00,00,00,00,5b,E0,00,00,44,00,00,00,00,00
Tools zum Thema ScanCode
Hier ein paar Links zum Tabellen und Tools für das Bearbeiten von ScanCode-Einstellungen.
- Microsoft bietet ein Tool "Microsoft Keyboard Layout Creator" an,mit dem sich die entsprechenden Einträge erzeugen lassen <Download>.
- Scancode Tabellen von Microsoft zum Download: http://www.microsoft.com/whdc/archive/Scancode.mspx
Die ScanCodes der Tasten finden Sie unter: ScanCodes der Tasten
Tipps die diese Funktion nutzen:
Dezimalpunkt statt Komma im Zehnertastaturfeld
Windows Tasten deaktivieren.
Weitere Infos: http://www.microsoft.com/whdc/device/input/w2kscan-map.mspx
WinFAQ: Startseite | WinFAQ: HTMLMenü | WinFAQ: Java Version
Der Tipp enthält einen Fehler oder Sie haben noch eine Ergänzung dafür? Schreiben Sie uns über die Feedback-Seite an: Feedback-Formular
URL: http://www.winfaq.de/faq_html/Content/tip1500/onlinefaq.php?h=tip1575.htm
WinFAQ ® Version 9.01 Copyright © 1996/2016 by Frank Ullrich