Tipp: XP Tastaturbelegung ändern

Mit der folgenden Beschreibung lassen sich unter Windows XP Tasten der Tastatur tauschen. Dies geschieht auf niedrigstem Level und betrifft anschliessend alle Benutzer. Es können nur "ganze" Tasten verändert werden. Z.B. ändert sich die 6 zusammen mit dem &. Darüber hinaus gehende Einstellungen können z.B. mit KDrive32 auf eine Funktionstaste gelegt werden. Diese F-Taste kann dann wiederum auf z.B. die rechte Ctrl- oder Windows-Taste gelegt werden. In dieser Kombination lässt sich dann z.B. der @ auf die rechte Windows-Taste legen.

Die Positionen können von deiner Tastatur geringfügig abweichen. Die Beschriftung in der Spalte "Taste" entspricht dem englischen Layout. Das ist speziell bei y und z zu berücksichtigen, da diese Tasten im deutschen Layout gegeneinander getauscht sind.

 Die Änderungen vornehmen

Die Änderungen werden in der Registry eingetragen, und zwar unter folgendem Pfad:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

WICHTIG: Es gibt auch einen Schlüssel namens "Keyboard Layouts" (Beachte das Mehrzahl-"s") unter Control, aber der Schlüssel sollte nicht verändert werden.

Im Schlüssel "Keyboard Layout" muss der Eintrag Scancode Map hinzugefügt werden. Dieser ist vom Typ REG_BINARY. Das Datenformat ist wie folgt:

Start offset (in Bytes)  Size (in Bytes)  Data

 0                       4                Header: Versions-Information
 4                       4                Header: Markierungen
 8                       4                Header: Anzahl der Einträge
12                       4                Persönliche Belegungen
Letzte 4 Bytes           4                Null Terminator (0x00000000)

Das erste und zweite DWORD speichert Header Informationen und sollte für die aktuelle Version des ScanCode Mappers komplett auf Null gesetzt werden. Das dritte DWORD enthält einen Zähler für die gesamte Anzahl der folgenden DWORDs einschliesslich des abschliessenden Null Terminators. Daher wäre der Minimalwert 1 (keine Veränderungen spezifiziert). Die persönlichen Einstellungen folgen dem Header. Jeder Eintrag ist ein DWORD lang.

Um Änderungen wirksam werden zu lassen, muss das System neu gestartet werden. Beachte dass die Änderungen der Tastaturbelegung sich nach dem Anschlag der Taste direkt nach dem Wechsel in den Benutzermodus auswirken, noch bevor ein virtueller Tastenschlüssel zugeordnet wird. Dadurch können sich bestimmte Einschränkungen ergeben. So wird die Änderung möglicherweise nicht richtig berücksichtigt, wenn Terminal-Dienste benutzt werden.

Jetzt folgt ein Beispiel. Für die Änderungen im zuvor beschriebenen Teil der Registry benutzt du den Registry Editor Regedit.exe. Die folgenden Werte sind in den persönlichen Belegungen zu speichern:

00000000 00000000 03000000 00003A00 40005CE0 00000000

Der Wert 00003A00 bewirkt, dass die Shift-Lock-Taste unwirksam wird,
der Wert 40005CE0 bewirkt, dass die rechte Windows-Taste jetzt F6 auslöst.

Um das zu verstehen, muss man wissen, dass die Einträge in den DWORDs von rechts nach links eingetragen werden. Caps-Lock hat den Scancode 3A bzw. 003A. Dies wird als 3A00 in die rechte Hälfte des DWORDs eingetragen. 0000 bedeutet "KEINE Taste" und wird in die linke Hälfte des DWORDs eingetragen. Die rechte Windows-Taste hat den Scancode E05C, der als 5CE0 in die rechte Hälfte des DWORDs eingetragen wird. Daraus soll F6 werden (Scancode 0040). Also wird 4000 in die linke Hälfte des DWORDs eingetragen. Die aktuelle Anzahl ist jetzt 3 (00000003) DWORDs, incl. Terminator. Dies wird als 03000000 in das 3. DWORD (Start Offset 8) eingetragen.

Legt man jetzt noch mit KDrive32 den @ auf die Taste F6, so kann man ihn anschliessend mit der rechten Windows-Taste auslösen.






Die mit Note 1 bezeichneten Scancodes führe ich hier mal ohne Gewähr auf:



Ohne Gewähr, weil sie intern anders behandelt werden. Sie haben intern getrennte Codes zum Ein- und Ausschalten, was sich aber an dieser Schnittstelle nicht auszuwirken scheint. Zumindest die Einfügen-Taste läßt sich bei mir problemlos auf diese Weise ausschalten. Allerdings funktioniert sie jetzt auch nicht mehr zusammen mit Shift. Man kann sie also auch nicht mehr zum Einfügen von Texten bzw. Textteilen verwenden.

Die mit Note 2 - Note 5 bezeichneten Keycodes können so nicht verändert werden. Will man diese Belegungen beeinflussen, so muss man tiefer ins Thema einsteigen. Hierzu hilft der (englische) Beitrag:

http://www.microsoft.com/whdc/device/input/Scancode.mspx#ECAA 

Nachtrag vom 30.4.2009
Hier noch ein paar Scancodes von Multimedia-Tasten:
 

Weitere Scancodes kann man mit dem Linux-Kommando xev ermitteln. Ein entsprechendes Windows-Programm habe ich leider nicht gefunden.

Dabei ist zu bedenken, dass der Scancode in Hex umzurechnen ist und bei Scancodes > x'80' um x'80' zu reduzieren ist und ersatzweise x'E0' vorangestellt wird. So wird aus 174 erst einmal x'AE', woraus dann x'E02E' wird.

Ein Programm namens Keyboardchecker habe ich getestet. In der Beschreibung steht zwar, dass es Scancodes mitteilt. In Wirklichkeit simuliert es rückwärts aus dem Zeichen den Scancode. Deshalb ist es leider nicht zu gebrauchen.



« Letzte Änderung: 22.05.12, 12:03:35 von Computerhilfen.de Team »

Antworten zu dieser Frage:

Nicht schlecht..... :o

Hier noch ein Beitrag zum Thema Druck-Taste auf eine andere Taste legen:

http://www.computerhilfen.de/hilfen/index.php?topic=84359.0

Repsekt ;-)

Der Scancode-Eintrag in der Registry kann auch nur userspezifisch, also nicht systemglobal zugewiesen werden. Hierzu benutzt man den Zweig HKEY_CURRENT_USER\Keyboard Layout. Allerdings gibt es Seiteneffekte bei der schnellen Benutzerumschaltung in XP, falls der andere Nutzer wiederum eine andere Tastaturbelegung als der erste Nutzer hat. Beim Zurückschalten auf den ersten Nutzer hat dieser seine Tastaturbelegung dann "verloren", er muß sich noch einmal richtig einloggen.

Hier übrigens noch ein Beispiel für eine oft gewünschte Tastaturumbelegung: Strg und Shift-Lock vertauschen:
-------------------------------
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,3a,00,1d,00,\
  00,00,00,00
-------------------------------

Thorsten

Thorstent

Danke! ist schon herauskopiert und als pdf in meiner Schatzsammlung verewigt.
Mit dem Hinweis cottonwood = Tatstaturspezialist.
- hast mir ja schon einmal mit der CapsLook- Taste sauber auf die Sprünge geholfen.
Jürgen

Hallo zusammen!

Ich recherchiere schon länger nach Scancodes und dem "Umbiegen" von Tasten auf der Tastatur. Vorab: Das Umstellen der Tastatur auf Englisch o.ä. löst nicht mein Problem und stellt auch keine Schwierigkeit dar.

Im Grunde genommen weiss ich alles was ich brauche. Einzig fehlt mir der passende Scancode von den Tasten, die ich ändern möchte. Ich habe ein Acer Notebook TravelMate 2480 mit Windows XP. Rechts unten befinden sich die 4 Pfeiltasten, wie bei jedem Notebook. Nur, dass die Acer Leute über den linken Pfeil eine Eurowährungssymbol-Taste angebracht haben und über dem rechten Pfeil eine, die das Dollarzeichen auf dem Bildschirm ausgibt. Ich bin gewohnt, dort jeweils PageUp und PageDown zu finden o.ä.

Meine Frage:
Wie lauten die Codes für die Euro- und Dollarzeichentaste, die ich als ScancodeMap eingeben muss, um den Tasten eine andere Funktion zu geben?

Vielen Dank für Eure Hilfe,

stroti77

Tasten haben Scancodes, Zeichen nicht. Ist alles oben beschrieben. Euro ist mit dem E auf einer Taste und hat den Scancode 12, Dollar ist mit der 4 auf einer Taste und hat den Scancode 05.

Herzerfrischend.....


Endlich mal ein gescheiter Beitrag hier [love][love]

Hallo!

Ich bin durch Zufall zu diesem Beitrag gelangt und dachte, einer von euch könnte mir vielleicht weiterhelfen.

Ich suche verzweifelt nach meiner "Control"-Taste. Auf dem Bild im ersten Beitrag ist sie ganz unten links. Das ist bei mir die "Strg"-Taste und hat wohl nicht die gleiche Funktion wie Control. Hat jede Tastatur eine Controltaste? Wenn ja, könnte sie auch anders bezeichnet sein? Wenn nein, kann ich "mir selber eine basteln" indem ich die Tastaturbelegung ändere?

Danke und liebe Grüße, Nadine

"Control" ist die englische Bezeichnung für "Steuerung".
Es ist also identisch und Du brauchst nicht extra eine Taste zu basteln.
Jürgen

Boha einfach hammer wolte ich schon immer mal haben DANKE DANKE DANKE ;D

Tolle Sache.
Ich konnte mit Hilfe Deiner Seite die Bild-up und Bild- down Tasten zu F4 und Escape umwandeln.
Dies ist für mich und für meine tägliche Arbeit mit einem CAD Programm (Allplan von Nemetschek) eine große Erleichterung.
Eine so ausführliche und für den Laien auch verständliche (ich habe nur 4 Stunden dafür gebraucht) Anleitung habe ich lange gesucht.
Besten Dank!

Dankeschön :)
Habe mir endlich ein Laptop anschaffen können, allerdings mit "spanischer.." Tatstatur. Mit diesem Beitrag - unter FAQ gelesen - hoffe ich die Belegung in dtsch. ändern zu können.
 

Hi, ich hoffe, dass ihr mir hier weiterhelfen koennt.
Ich hab Wasser verschutet, und danach funktionierte die Taste fur 1 nicht mehr. Zwischenzeitlich funktionierte sie wieder, aber jetzt ist's anscheinend entgultig aus.
Ich wurde gerne die Funktion der 1 auf die Taste fur = umlegen. Geht das?

Den obigen Beitrag hab ich gelesen, aber nix verstanden.
 


« NeustartVerbindung zwischen zwei Rechnern herstellen »