Mapowanie Caps Lock na Escape i Control w Windows 7
23
Chcę mieć możliwość mapowania klawisza Caps Lock na Escape, jeśli nie zostanie naciśnięty z żadnym innym klawiszem, i kontrolowanie, jeśli tak jest. Jak mogę to zrobić w systemie Windows 7?
Ponownie zamienia Caps Lock w Ctrl i wysyła Escape po zwolnieniu klawisza. Zajęło mi trochę czasu przyzwyczajenie się do naciskania klawisza Escape za każdym razem, gdy puszczam klawisz Caps Lock. Jest to jednak prawie bezużyteczne w obszarach tekstowych witryny, ponieważ naciśnięcie klawisza Escape traci skupienie na obszarach tekstowych.
Szukam rozwiązania tego. W razie potrzeby mógłbym napisać coś w rodzaju haka ze sterownikami / klawiaturami w C, haha.
Irytacje specyficzne dla Vima: uniemożliwia pisanie cyfr za pomocą kombinacji Ctrl-K i ogólnie jest denerwujące, zanim się przyzwyczaisz. Działa to jednak dla mnie dobrze, ponieważ zrobiłbym wszystko, aby w jak największym stopniu uniknąć klawiszy Esc i Ctrl.
To nie jest moja praca, ale zacząłem go używać i działa dokładnie tak, jak opisano, bez prawdziwych zastrzeżeń, a ponieważ nie próbuje mapować żadnych wyjątków (ponieważ są niepotrzebne), działa całkiem ładnie w Chrome (naprawdę chciałem dla Vimium).
Używam tego skryptu i działa dla mnie. Używam tego do ponownego wiązania Caps Lock do Control / Escape dla vim.
Brandon,
1
Pracuje! Dla wyjaśnienia jest to skrypt AutoHotKey. Zacznij tutaj: autohotkey.com
Michael Fox,
Z korzyścią dla czytelników, którzy nie kliknęli i nie widzieli komentarzy w mojej treści, wydaje się, że to rozwiązanie działa tylko wtedy, gdy naciśniesz Caps Lockprzed naciśnięciem Shift. Caps+Shift+Xdziała, ale Shift+Caps+Xnie działa.
Rich
4
Używam do tego następującego skryptu AutoHotkey , dostosowanego do tego, który znalazłem na Wiki Vim Tips . Implementacja jest nieco zaraźliwa, ale „działa dla mnie”. (I w przeciwieństwie do innych odpowiedzi na tej stronie z 19.09.2016, rozwiązuje on w pełni problem bez żadnych ostrzeżeń, o których wiem.)
Oryginalny programista zauważył:
Skrypt próbuje także wykryć i uniknąć „fałszywych alarmów”, gdy naciskasz Control i inny klawisz i zwalniasz oba zbyt szybko, tj. Przed upływem limitu czasu.
Koniecznie dostosuj wartość 250 ms w zależności od tego, jak dobra lub zła jest twoja klawiatura oraz od twojego czasu reakcji. Prawdopodobnie jest to coś, co można eksperymentalnie dostosować do własnych upodobań.
Oto wpis rejestru odwzorowujący klawisz Caps Escape na Windows 7.
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,3a,00,46,00,01,00,3a,00,00,00,00,00
Zapisz powyższe w pliku z rozszerzeniem .reg (np. MapCapLocks.reg) i zaimportuj / uruchom go na swoim komputerze.
Podaj zasadnicze części odpowiedzi z linków referencyjnych, ponieważ odpowiedź może stać się nieważna, jeśli połączona strona (strony) ulegną zmianie. Obecnie 404, więc ta odpowiedź jest bezużyteczna.
DavidPostill
Doskonałe punkty. Zaktualizuję odpowiedź
Stryker
Spowoduje to również mapowanie klawisza ScrollLock na CapsLock. Jeśli nie tego chcesz, użyj wartości hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00. Przydatnym edytorem tej mapy jest ScancodeMapping z PlexData .
Jabłkowy
2
Właściwie myślę, że zbudowałem tutaj idealne rozwiązanie:
Jako użytkownik Vima jest to dla mnie koniecznością i od dawna używam go z powodzeniem w systemie Windows. Po prostu tworzę wpis HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runz regedit, aby wskazać plik wykonywalny i to po prostu działa.
Aby skompilować i zainstalować zależności, sprawdź repozytorium README i główną stronę internetową pod kątem przechwytywania.
Rozpakuj zip w wybranej lokalizacji (przechowuję narzędzia takie jak te w C:\Users\%username%\util\)
Otwórz następujący katalog: C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\i przeciągnij tam plik dual-key-remap.exe, przytrzymując klawisz ALT, aby utworzyć skrót. (Lub kliknij prawym przyciskiem myszy i wybierz „utwórz skrót” i przenieś skrót do katalogu startowego).
Zaloguj się i wyloguj. Kilka sekund po zalogowaniu klucze zostaną ponownie powiązane.
unikaj używania linków jako odpowiedzi. zamiast tego spróbuj wyjaśnić jak najlepiej treść linków i dopiero wtedy użyj ich jako odniesienia. jeśli link kiedykolwiek zostanie zerwany, cała twoja odpowiedź również.
Lorenzo Von Matterhorn
0
Nie mam wystarczającej reputacji, aby skomentować odpowiedź, która zadziałała dla mnie. Nadal jednak to głosowałem.
Klawisz Caps Lock zachowuje się jak klawisz Escape, jeśli zostanie naciśnięty samodzielnie. I zachowuje się jak klawisz Ctrl w połączeniu z innymi. Mam też ten sam przypadek użycia. Wigor.
Instrukcja w linku, który podał, jest wystarczająco prosta do naśladowania.
Jeśli nie masz nic przeciwko samodzielnemu skompilowaniu krótkiego kodu źródłowego, możesz użyć kodu poniżej. Musisz go skompilować jako aplikację konsoli Windows. Np. W wierszu polecenia Visual C ++ można go skompilować
Ponowne mapowanie klucza działa podczas działania aplikacji. Nie trzeba ponownie uruchamiać komputera, wylogowywać się / logować itp. Jeśli konieczne jest ponowne mapowanie, aby aplikacje działały z prawami administratora, należy również uruchomić aplikację remapper jako administrator. Używam go już od kilku dni (w systemie Windows 10), na razie jak na razie.
Odpowiedzi:
Możesz zmienić przypisanie do Escape za pomocą SharpKeys
Nie znam jednak realistycznego sposobu wykonywania mapowania warunkowego innego niż pisanie sterownika klawiatury.
źródło
Nie jest to dokładnie to, czego chcesz, ale bardzo blisko, jeśli możesz żyć z pewnymi wadami. Oto skrypt AutoHotKey :
Ponownie zamienia Caps Lock w Ctrl i wysyła Escape po zwolnieniu klawisza. Zajęło mi trochę czasu przyzwyczajenie się do naciskania klawisza Escape za każdym razem, gdy puszczam klawisz Caps Lock. Jest to jednak prawie bezużyteczne w obszarach tekstowych witryny, ponieważ naciśnięcie klawisza Escape traci skupienie na obszarach tekstowych.
Szukam rozwiązania tego. W razie potrzeby mógłbym napisać coś w rodzaju haka ze sterownikami / klawiaturami w C, haha.
Irytacje specyficzne dla Vima: uniemożliwia pisanie cyfr za pomocą kombinacji Ctrl-K i ogólnie jest denerwujące, zanim się przyzwyczaisz. Działa to jednak dla mnie dobrze, ponieważ zrobiłbym wszystko, aby w jak największym stopniu uniknąć klawiszy Esc i Ctrl.
źródło
$CapsLock::Escape
a następnie natychmiastreturn
.Mogło to pojawić się na wcześniej wspomnianej stronie wiki vim po powyższym rozwiązaniu Richa.
To nie jest moja praca, ale zacząłem go używać i działa dokładnie tak, jak opisano, bez prawdziwych zastrzeżeń, a ponieważ nie próbuje mapować żadnych wyjątków (ponieważ są niepotrzebne), działa całkiem ładnie w Chrome (naprawdę chciałem dla Vimium).
źródło
Caps Lock
przed naciśnięciemShift
.Caps+Shift+X
działa, aleShift+Caps+X
nie działa.Używam do tego następującego skryptu AutoHotkey , dostosowanego do tego, który znalazłem na Wiki Vim Tips . Implementacja jest nieco zaraźliwa, ale „działa dla mnie”. (I w przeciwieństwie do innych odpowiedzi na tej stronie z 19.09.2016, rozwiązuje on w pełni problem bez żadnych ostrzeżeń, o których wiem.)
Oryginalny programista zauważył:
CapsLockCtrlEscape.ahk gist :
źródło
Oto wpis rejestru odwzorowujący klawisz Caps Escape na Windows 7.
Zapisz powyższe w pliku z rozszerzeniem .reg (np. MapCapLocks.reg) i zaimportuj / uruchom go na swoim komputerze.
źródło
hex:00,00,00,00,00,00,00,00,02,00,00,00,01,00,3a,00,00,00,00,00
. Przydatnym edytorem tej mapy jest ScancodeMapping z PlexData .Właściwie myślę, że zbudowałem tutaj idealne rozwiązanie:
Jako użytkownik Vima jest to dla mnie koniecznością i od dawna używam go z powodzeniem w systemie Windows. Po prostu tworzę wpis
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
z regedit, aby wskazać plik wykonywalny i to po prostu działa.Aby skompilować i zainstalować zależności, sprawdź repozytorium README i główną stronę internetową pod kątem przechwytywania.
Stworzyłem również tę samą wersję systemu Linux:
źródło
Szukałem czegoś podobnego do tego, ale niestety skrypty AHK z odpowiedzi tutaj nie działały dla mnie dobrze.
Znalazłem jednak rozwiązanie, które rozwiązało to dla mnie na wiki wiki .
C:\Users\%username%\util\
)C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
i przeciągnij tam plik dual-key-remap.exe, przytrzymując klawisz ALT, aby utworzyć skrót. (Lub kliknij prawym przyciskiem myszy i wybierz „utwórz skrót” i przenieś skrót do katalogu startowego).źródło
Program remapkey.exe zawarty w narzędziach Windows Server 2003 Resource Kit wymienionych w tym artykule działa dobrze w systemie Windows 7.
źródło
Nie mam wystarczającej reputacji, aby skomentować odpowiedź, która zadziałała dla mnie. Nadal jednak to głosowałem.
Odpowiedź pepper-chico zadziałała dla mnie.
Klawisz Caps Lock zachowuje się jak klawisz Escape, jeśli zostanie naciśnięty samodzielnie. I zachowuje się jak klawisz Ctrl w połączeniu z innymi. Mam też ten sam przypadek użycia. Wigor.
Instrukcja w linku, który podał, jest wystarczająco prosta do naśladowania.
źródło
Jeśli nie masz nic przeciwko samodzielnemu skompilowaniu krótkiego kodu źródłowego, możesz użyć kodu poniżej. Musisz go skompilować jako aplikację konsoli Windows. Np. W wierszu polecenia Visual C ++ można go skompilować
Ponowne mapowanie klucza działa podczas działania aplikacji. Nie trzeba ponownie uruchamiać komputera, wylogowywać się / logować itp. Jeśli konieczne jest ponowne mapowanie, aby aplikacje działały z prawami administratora, należy również uruchomić aplikację remapper jako administrator. Używam go już od kilku dni (w systemie Windows 10), na razie jak na razie.
źródło