Przemapowanie klawiatury

Jak się ma nietypową klawiaturkę albo nietypowe przyzwyczajenia warto sięgnąć po
SharpKeys. Pozwala przemapować wszystkie klawisze, w tym również funkcyjne, kursory, WinKeys, Alty, itp, itd. Aplikacja przemapowuje scancody bezpośrednio w rejestrze Windowsów. Niestety, wymaga restartu systemu aby zmiany weszły w życie.

Program operuje na kluczu [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] – zmienia wartość „Scancode Map”.

Moja przydatna mapka:

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,05,00,00,00,5b,e0,38,00,38,00,5b,e0,\
  5c,e0,38,e0,38,e0,5c,e0,00,00,00,00

EDIT:

Używając M$ Keyboard Layout Creator można sobie zmontować własny layout klawiatury również obejmujący zmianę klawiszy modyfikatorów. Wymagany jest drobny „hack” – zmiana w c:\Program Files (x86)\Microsoft Keyboard Layout Creator 1.4\inc\kbd.h

Zmiany dla klawiatury Apple A1243 opisuje diff:

1089c1090
< #define T38 _EQ(                           LMENU                     )
---
> #define T38 _EQ(                           LWIN                      ) // fApple "LMENU" => "LWIN"
1175c1176
< #define X38 _EQ(                           RMENU                     )
---
> #define X38 _EQ(                           APPS                      ) // fApple "RMENU" => "APPS"
1187,1188c1188,1189
< #define X5B _EQ(                           LWIN                      )
< #define X5C _EQ(                           RWIN                      )
---
> #define X5B _EQ(                           LMENU                     ) // fApple "LWIN" => "LMENU"
> #define X5C _EQ(                           RMENU                     ) // fApple "RWIN" => "RMENU"

Działa lewy Alt jako WinKey, lewy Command jako LAlt, prawy Command jako AltGr, prawy Alt jako Apps menu – czyli wsio po bożemu.

Geetz dla Piotr Fokt, który naprowadził mnie na właściwe rozwiązanie w wątku na SODOPoGo.

Zbudowany instalator keymapy:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *