Jak zmienić klucz Ctrl na klawisz AltGR, edytując rejestr?

3

Zmieniam Czapki klucz do Ctrl używając tego klucza rejestru:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]             
"ScancodeMap"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00

I chcę użyć oryginału Ctrl klucz jako inny modyfikator dla AutoHotkey. Więc pomyślałem alt Gr jest dobrym wyborem do użycia jako modyfikator.

Ale nie mogłem wymyślić, jak odwzorować oryginał Ctrl klucz do alt Gr . Czy ktoś wie, jak to zmienić za pomocą rejestru?

Jeśli jest lepsze rozwiązanie, pójdę po to.

Używam Windows 10.

ironsand
źródło
:: Ctrl; Wyślij {alt} {GR}; Czy tego szukasz?
ejbytes
@ejbytes Sposób, w jaki to czytam, chce zmienić Ctrl klucz do AltGr klucz w sposób, w jaki AHK nie rozpoznaje jego Caps Lock klucz jako Ctrl klucz, ponieważ edytował rejestr w celu ponownego powiązania go.
TheKB
@ejbytes Przepraszam, nie mogłem zrozumieć, jak działa kod.
ironsand
@TheKB Chcę, żeby AHK rozpoznał Caps Lock jak Ctrl i oryginalny Ctrl jak AltGr. Nie jestem pewien, czy dobrze rozumiem, co napisałeś.
ironsand
@ironsand Tak, tak napisałem.
TheKB

Odpowiedzi:

2

Metoda 1: Użyj SharpKeys


Możesz użyć SharpKeys przemapować klucze. Zmienia to rejestr i umożliwia łatwe zarządzanie mapowaniami kluczy.

  1. Kliknij Add na głównym ekranie
  2. Pod Map this key Kliknij Type Key i naciśnij Ctrl
  3. Pod To this key znajdź i kliknij AltGr
  4. Kliknij Ok
  5. Kliknij Write to Registry a następnie wyloguj się

Uwaga: Konieczne może być ponowne wykonanie kroków 1-4 dla Czapki do Ctrl
Edytować : Wygląda na to, że klucz Alt Gr nie jest obsługiwany przez SharpKeys. Jednak ta odpowiedź jest nadal ważna dla innych kluczy, więc zostawię ją w celach informacyjnych. Opisana poniżej metoda rejestrowania powiązań działa w przypadku tej zmiany klucza.
Źródło

Metoda 2: Użyj rejestru


Jeśli chcesz to zrobić za pośrednictwem rejestru, możesz to zrobić:

00 00 00 00 00 00 00 00 03 00 00 00 aa aa bb bb aa aa bb bb 00 00 00 00

To trochę skomplikowane, ale postaram się wyjaśnić. Na remap 1, aaaa to scancode klucza, który chcesz zmapować do . bbbb to scancode klucza, który chcesz zmapować z . To samo dotyczy remapu 2. To, co umieściłbyś w kluczu rejestru ScancodeMap i co SharpKeys robi dla ciebie.

Tabela przedstawiająca wartości i znaczenie DWORDÓW:

        Value:     Interpretation:                                          Entered as: 
DWORD 1 0x00000000 Header: Version. Set all to zeroes                       00 00 00 00 
DWORD 2 0x00000000 Header: Flags. Set all to zeroes                         00 00 00 00 
DWORD 3 0x00000002 Number of entries in the map, including null terminator  02 00 00 00 
DWORD 4 0x003A0000 Remove CAPS LOCK (0x3A --> 0x00)                         00 00 3A 00 
DWORD 5 0x00000000 Null Terminator                                          00 00 00 00 

W powyższej tabeli mapowanie Duże litery jest przykładem. Również dzięki @Guitar Shoe Dave za sugestię.
Źródło


W twoim przypadku wartość będzie:

00 00 00 00 00 00 00 00 00 00 00 00 1d 00 3a 00 1d 02 1d 00 00 00 00 00

Uwaga: Musisz się wylogować i wrócić ponownie, aby zobaczyć wynikające z tego zmiany.

TheKB
źródło
zainstalowałem SharpKeys, ale nie mogłem znaleźć AltGr kluczem to this key lista. Jaka jest dokładna nazwa klucza?
ironsand
@ironsand Wydaje się, że go tam nie ma. Ale ja wierzę 1d02 jest scancode dla AltGr (użyłem klawiatury ekranowej do przetestowania tego) Więc wpis rejestru byłby 00 00 00 00 00 00 00 00 03 00 00 00 1d 00 3a 00 1d 02 1d 00 00 00 00 00. Czy możesz spróbować tego i sprawdzić, czy masz poprawne wyniki?
TheKB
Proszę rozważyć dodanie dokumentacji protokołu dotyczącej skanów. Oto jeden z nich, który trochę go przełamuje. mech.utah.edu/~bamberg/resources/CapsLock/CapsLock.html Poniżej znajduje się dobre odniesienie do kodów skanów, które obejmują przyciski zarządzania długością życia (te są zabawne do zabawy) win.tue.nl/~aeb/linux/kbd/scancodes.html . Kocham twoją odpowiedź.
NotAdmin Dave