Wie Sie die Rechts-Win- und Rechts-Alt-Tastaturtasten neu zuordnen

1486
Gerold Broser

... insbesondere auf einer Unicomp Ultra Classic-Knickfedertastatur .

Ich habe kürzlich eine dieser IBM Model M-Revivals gekauft. Eine großartige Tastatur mit einem kleinen Fehler: Es gibt keine Power-, Sleep-, Wake- Tasten und einen ziemlich großen Fehler: Sie haben sich entschlossen, die Right-Win- und die Right-Alt-Taste zu tauschen, so dass es so aussieht:

  Space    Alt  Ctrl

Mit vielen Jahren der Verwendung eines anderen Layouts ist dies natürlich unbequem.

Ich habe Microsoft Keyboard Layout Creator (MSKLC) 1.4 ausprobiert, aber es funktioniert nicht richtig auf meinem Windows 7 Professional 64-Bit: Es zeigt das Layout nicht nach DateiVorhandene Tastatur laden ... an :

Leere MSKLC

Siehe auch Ideen, warum Microsoft Keyboard Layout Creator 1.4 auf meinem Windows 7 Professional 64-Bit nicht ordnungsgemäß funktioniert? .

1
Nur zu Ihrer Information: Mit dem RemapKey-Tool aus den Windows Server 2003 Resource Kit-Tools können Sie die Schlüssel neu zuordnen, ohne die Registrierung manuell zu ändern. Ich werde das tatsächlich tun, wenn mein zweiter Ultra Classic ankommt (dieses neue Layout ist so dumm ...) MFH vor 7 Jahren 0
@MFH Danke für die Info. Obwohl ich das wusste. Das eigentliche Problem hier ist, dass ich die Registrierungseinstellungen neu einstellen / zurücksetzen und jedes Mal neu starten muss, wenn ich zur internen Tastatur meines Laptops wechseln möchte und umgekehrt. Mit MSKLC konnte ich die "Sprache" und das zugewiesene Tastaturlayout schnell umschalten. Gerold Broser vor 7 Jahren 0
Ok, das ist natürlich ein Problem - aber wie kann MSKLC das beheben? Als ich es das letzte Mal ausprobiert habe, konnte WinKeys nicht neu zugeordnet werden ... MFH vor 7 Jahren 0
@MFH Ja, genau das habe ich in Kommentaren / Antworten auf Fragen dazu gelesen und ich wollte versuchen, ob das noch stimmt. Gerold Broser vor 7 Jahren 0

1 Antwort auf die Frage

1
Gerold Broser

Da Microsoft Keyboard Layout Creator (MSKLC) 1.4 nicht ordnungsgemäß funktioniert, können Sie die folgende einfache Lösung verwenden, die von Informationen zu (deutscher) WinFAQ abgeleitet wird .

Erstellen Sie die folgenden beiden .regDateien mit einem Texteditor Ihrer Wahl und führen Sie sie abwechselnd aus, um die angegebenen Schlüssel / Werte in Ihre Windows-Registry zu laden:

HKLM^SYS^CCS^CTRL^Kbd_Layout^Scancode_Map#Swap_R-Win_R-Alt.reg

Windows Registry Editor Version 5.00  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:\ 00,00,00,00,\ 00,00,00,00,\ 03,00,00,00,\ 38,e0,5c,e0,\ 5c,e0,38,e0,\ 00,00,00,00 

HKLM^SYS^CCS^CTRL^Kbd_Layout^Scancode_Map#Reset.reg

Windows Registry Editor Version 5.00  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:\ 00,00,00,00,\ 00,00,00,00,\ 01,00,00,00,\ 00,00,00,00 

Beachten Sie die umgekehrte Reihenfolge von LSB (niederwertigstes Byte) und MSB (höchstwertiges Byte) innerhalb der 2 Bytes eines Scancodes, auch Little Endian genannt . Beachten Sie auch das Backslash-Zeichen ( \) für die Zeilenfortsetzung.

Sie müssen Windows neu starten / Ihren Computer neu starten, damit eine Änderung der Zuordnungen wirksam wird.

Technische Hintergrundinformationen

Scancode Map Eintrag:

┌──────────┬──────┬─────────────┬───────────────────────────────────────────────────┐
│ Bytes | Size | Values │ Description │
├──────────┼──────┼─────────────┼───────────────────────────────────────────────────┤
│ 0 … 3 │ 4 | 00 00 00 00 │ Header: version info, always all 0 │
│ 4 … 7 │ 4 | 00 00 00 00 │ Header: flags, always all 0 │
│ 8 … 11 │ 4 | 0m 00 00 00 │ Header: mappings count[c] + 1 [for the trailer] │
│ 12 … s │ c×4 | LN¹HN²LO HO │N ew /Old scancodes in little-endian byte order │
│ t … t+3 │ 4 | 00 00 00 00 │ Trailer (t = s + 1 = 12 + c × 4) │
└──────────┴──────┴─────────────┴───────────────────────────────────────────────────┘

¹L ... niedriges Byte, niedrigstwertiges Byte (LSB)
²H ... hohes Byte, höchstwertiges Byte (MSB)

Siehe folgende Seiten / Dokumente für Scancodes:

@ barlop Ich bin nicht sicher, ob die deutsche Quelle, aus der ich das habe, hier auf englischsprachiger SE begrüßt wird. Was meinst du genau mit "wie produzierst du das"? Mit einem einfachen Texteditor? Kommas sind Trennzeichen in Wörtern. In meinem 38-jährigen Leben als Entwickler habe ich noch nie eine Programmiersprache gesehen - und ich habe ziemlich viele gesehen - mit Parameterübergabe, die eine Dateierweiterung von ".reg" enthalten. Wenn Sie sie nicht mögen, können Sie sie beim Speichern der Dateien nach Ihren Wünschen ändern. Gerold Broser vor 7 Jahren 1
Der Hauptpunkt - woher kam die Idee, dass es eine Folge von ungefähr 8 Paaren von 0 gibt, gefolgt von dem Code 38 e0 5c ..., gefolgt von einer bestimmten Anzahl von 00s. Woher wussten Sie, wie viele 00s vor dem Code und wie viele danach. Wie haben Sie den Code dazwischen kennen gelernt? Sie sagen nichts darüber aus. barlop vor 7 Jahren 0
Und zum sekundären Punkt. Wenn Sie weit in diesen riesigen Dateinamen hineinlesen, können Sie sogar sehen, dass es sich um einen Dateinamen handelt. Bis dahin sieht es so aus, als ob Parameter teilweise an ein Programm übergeben werden könnten, da Kommas selten in Dateinamen eingefügt werden. barlop vor 7 Jahren 0
@barlop [Es gibt die Quelle] (http://www.winfaq.de/faq_html/Content/tip1500/onlinefaq.php?h=tip1575.htm). SE ist eine gemeinschaftliche Website. Fühlen Sie sich frei zu bearbeiten, was Sie wollen. Auf Wiedersehen! Gerold Broser vor 7 Jahren 0