Mapowanie klawisza na czymś, czego nie ma na klawiaturze

6

Chcę zmapować Fn + F2 na <i Fn + F3 na> i pozostawić wszystkie pozostałe klucze nietknięte. Przez mapowanie mam na myśli to, że faktycznie wpisuje te klucze, a nie tylko udawanie, że wpisałem klucz oznaczony <.

Scenariusz: mam angielską klawiaturę. Ustawiłem mapę klawiatury na norweską, ale teraz nie mam możliwości wpisania <i>, ponieważ nie ma ich nigdzie w tej mapie klawiszy. Widzisz, brakuje mi jednego klucza, a potem coś musi pójść.

Dzięki hakowi rejestru używanemu przez SharpKey mogę zmienić przypisanie dowolnego klawisza na klawiaturze do dowolnego innego klawisza na klawiaturze - ale to nie pomaga. Wszystko, co robisz, to mówienie „klucz numer X będzie traktowany jak klucz numer Y” i wracasz do kwadratu pierwszego.

Za pomocą kreatora Microsoft Keyboard Layout mogę to zrobić, ale tylko przy użyciu „nietypowych” klawiszy. Nie mogę nawet ponownie przypisać Caps Lock, co faktycznie byłoby wystarczające do moich celów.

Czy istnieje sposób na osiągnięcie tego? Albo mapowanie Fn + F2 na <i Fn + F3 na> lub mapowanie Caps Lock na <i Shift + Caps Lock na> byłoby w porządku.

Christian Neverdal
źródło
+1 wygląda na to, że zbadałeś to dobrze, aby natrafić na MS KLC .. i zobacz również, że wiele programów ma ograniczenia, które tam napisałeś .. działając tak jak mówisz, przypominam sobie coś takiego, chociaż nie próbowałem z Caps Lock i MS KLC było w porządku dla moich celów (i myślę, że traktuje to jako specjalny klucz). Jednak próbowałeś tego, usnetizen.com/fix_capslock.php pochodzi z googlingu na temat zmiany mapowania Caps Lock. Nie wiem, czy sugestia na tym łączu ma takie same problemy, jak wspominasz przy zwykłych programach do mapowania, takich jak sharpkey, może to zrobić, ale może wypróbujesz
barlop

Odpowiedzi:

5

Możesz to zrobić za pomocą AutoHotkey .

Oto krótki skrypt:

Plik: Signs.ahk

#,::
Send {Asc 060}
return

#.::
Send {Asc 062}
return

Po uruchomieniu umożliwia wysyłanie <i >po prostu naciskając następujące klawisze:

  • WinKey+, ,aby wysłać<
  • WinKey+, .aby wysłać>

UWAGA : Nie musisz mapować go do WinKey, można użyć Ctrl, Altlub dowolna kombinacja tych klawiszy w nim. Dokumentację tego można znaleźć w następującym artykule KB: Send / SendRaw / SendInput / SendPlay

Po prostu utwórz plik z .ahkrozszerzeniem i uruchom go (lub kliknij prawym przyciskiem myszy -> Otwórz za pomocą ... -> AutoHotkey .

To działa (przetestowałem to, przełączając układ klawiatury na NDi testując go. Powodem tego jest to, że AutoHotkey może wysłać ASCII równoważne <i >odpowiednio do dowolnego okna, które akceptuje ten typ danych wejściowych.

Odwzorowałem je w ten sposób po prostu dlatego, że na angielskiej klawiaturze znajdują się na tych samych klawiszach, co wymienione, ale możesz przypisać je do czegokolwiek. Zauważam jednak, że F1przez F12nie będzie działać, biorąc pod uwagę, że układ klawiatury ND nie ma pojęcia, co to właściwie jest.

zackrspv
źródło
1
Pokonaj mnie do tego! Używam AutoHotkey religijnie. :)
iglvzx
TO W rzeczywistości działa!
Christian Neverdal