So ordnen Sie die Tasten von Right-Win und Right-Alt neu zu

1

... auf einen Unicomp Ultra Classic Knickfeder Tastatur im Besonderen.

Ich habe vor kurzem eine dieser IBM Model M-Versionen gekauft. Eine tolle Tastatur mit einem kleinen Makel: Es gibt keine Leistung , Schlafen , Aufwachen Schlüssel und ein ziemlich großer Fehler: Sie haben beschlossen, die Rechts-Win- und die Rechts-Alt-Taste zu vertauschen, damit es so aussieht:

Platz Alt Strg

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

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

Empty MSKLC

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

Gerold Broser
quelle
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
@MFH Danke für die Info. Das wusste ich allerdings. Das eigentliche Problem hierbei ist, dass ich die Registrierungseinstellungen festlegen / 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 im Handumdrehen ändern.
Gerold Broser
Ok, das ist natürlich ein Problem - aber wie behebt MSKLC das? Das letzte Mal, als ich es ausprobiert habe, war es nicht möglich, WinKeys neu zuzuordnen ...
MFH
@MFH Ja, genau das habe ich in Kommentaren / Antworten zu Fragen dazu gelesen und ich wollte versuchen, ob dies immer noch zutrifft.
Gerold Broser

Antworten:

1

Schon seit Microsoft Keyboard Layout Creator (MSKLC) 1.4 funktioniert nicht richtig Sie können die folgende einfache Lösung verwenden, die sich aus Informationen über WinFAQ .

Erstellen Sie die folgenden zwei .reg Dateien mit einem Texteditor Ihrer Wahl und führen Sie sie abwechselnd aus, um die angegebenen Schlüssel / Werte in die Windows-Registrierung 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 (niederwertiges Byte) und MSB (höchstwertiges Byte) innerhalb der 2 Bytes eines Scancodes a.k.a. Little-Endian . Beachten Sie auch den Backslash ( \ ) für die Fortsetzung der Zeile.

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 / O ld scancodes in little-endian byte order │
│ t … t+3 │ 4 | 00 00 00 00 │ Trailer (t = s + 1 = 12 + c × 4) │
└──────────┴──────┴─────────────┴───────────────────────────────────────────────────┘

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

Informationen zu Scancodes finden Sie auf den folgenden Seiten / Dokumenten:

Gerold Broser
quelle
1
@barlop Ich bin mir nicht sicher, ob die deutsche Quelle, aus der ich das habe, hier in der englischsprachigen SE willkommen ist. Was genau meinst du mit " wie du das hergestellt hast "? Mit einem einfachen Texteditor? Kommas sind Trennzeichen in Wortreihen. In meinem 38-jährigen Leben als Entwickler habe ich noch nie eine Programmiersprache gesehen - und ich habe schon einige gesehen - mit Parameterübergabe, die ein enthält Dateierweiterung von .reg. Wenn Sie sie nicht mögen, können Sie sie nach Ihren Wünschen ändern, wenn Sie die Dateien speichern.
Gerold Broser
Der Hauptpunkt - woher kam die Idee, dass es eine Folge von ungefähr 8 Paaren von 0en gibt, gefolgt vom Code 38 e0 5c ... gefolgt von einer bestimmten Anzahl von 00en. Woher wusstest du, wie viele 00s vor dem Code und wie viele danach? Woher wusstest du, welcher Code dazwischen liegt? Sie sagen nichts darüber.
barlop
Und in Bezug auf den sekundären Punkt. Wenn Sie weit in diesen riesigen Dateinamen hineinlesen, können Sie sogar sehen, dass es sich um einen Dateinamen handelt. Vorher sieht es so aus, als würde es Parameter an ein Programm übergeben, zum Teil, weil es selten vorkommt, dass Kommas in einen Dateinamen gesetzt werden.
barlop
@barlop Da ist die Quelle . SE ist eine Website für die Zusammenarbeit. Fühlen Sie sich frei, um zu bearbeiten, was Sie wollen. Auf Wiedersehen!
Gerold Broser