Jak odwzorować naciśnięcie klawisza modyfikującego solo na własną funkcję lub mapowanie w systemie Windows?

6

Dzisiaj w wiadomościach hakerów był sprytny artykuł na temat niestandardowych klawiszy skrótów .

Autor mówi o technice ponownego mapowania klawisza modyfikatora, takiego jak CTRL na ESC, jeśli CTRL zostanie naciśnięty bez modyfikatora. Jest to przydatne w vimie, ponieważ często musisz naciskać ESC.

Inną techniką, którą opisuje, jest mapowanie otwartego nawiasu, (na lewy klawisz Shift i )na prawy klawisz Shift.

Jeżeli podczas przytrzymania klawisza Shift zostanie naciśnięty inny klawisz, klawisz Shift będzie działał normalnie.

Autor opisuje oprogramowanie, którego używa w systemie OSX, ale czy istnieje sposób, aby to zrobić w systemie Windows?

Słyszałem o AutoHotKey, ale wydaje się, że uruchamia makra tylko po naciśnięciu prostych klawiszy, zamiast wymaganego przełącznika stanu warunkowego.

Conrad.Dean
źródło
AFAIK AHK powinien umożliwiać sprawdzenie, czy klawisz został naciśnięty bez jakiegokolwiek modyfikatora, a następnie wykonać różne działania w oparciu o wyniki kontroli.
Karan

Odpowiedzi:

6

AutoHotKey może to zrobić. Zdecydowanie możesz śledzić kluczowe stany, ale jest jeszcze jedna sztuczka. Aby ponownie przypisać Ctrlwciśnięty sam, Escale zachowaj Ctrlskróty oparte na innych , po prostu dodaj to do domyślnego skryptu:

Ctrl & AppsKey::Return
Ctrl::Send {Esc}

Będzie to działać dobrze, chyba że używasz Ctrl + AppsKey (klawisz, który pojawia się w menu kontekstowym), ale jest to bardzo mało prawdopodobne. Jeśli tak, zmień AppsKey na dowolny klucz, którego nigdy nie używasz Ctrl.

Sztuczka polega na tym, aby zrobić Ctrlprefiks, używając go &przynajmniej raz, a następnie zwolnić klawisz, aby wygenerować żądane naciśnięcie klawisza.

m4573r
źródło
Świetna sztuczka! Oszczędź mi dużo czasu, dziękuję bardzo!
Plynx,