# 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: Aufbau der Registrydatenbank Wichtige Hinweise (Informationen zum Sichern der Registrydatenbank) Unterschiede zwischen Regedit und Regedt32 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/tip1575.htm

WinFAQ ® Version 9.01 Copyright © 1996/2016 by Frank Ullrich