Edit: Jak to opisano w tej odpowiedzi , nowsze wersje MacOS teraz natywne wsparcie dla ponownego wiązania Caps Locksię Escape. Dlatego nie jest już konieczne instalowanie oprogramowania innych firm, aby to osiągnąć.
Oto moja próba wyczerpującej, wizualnej odpowiedzi (wraz z linkami), jak to osiągnąć za pomocą Seila (wcześniej znanego jako PCKeyboardHack).
Najpierw przejdź do Preferencji systemowych , wybierz Klawiatura , a następnie kartę Klawiatura (pierwsza karta) i kliknij Klawisze modyfikujące :
W wyskakującym oknie dialogowym ustaw Caps Lock Key na No Action:
3) Po instalacji będziesz mieć zainstalowaną nową aplikację (Mountain Lion i nowsze), a jeśli masz starszy system operacyjny, może być konieczne sprawdzenie nowego panelu Preferencji systemowych:
4) Zaznacz pole „Zmień Caps Lock” i wpisz „53” jako kod dla klawisza Escape:
I jesteś skończony!Jeśli to nie zadziała natychmiast, może być konieczne ponowne uruchomienie komputera.
Pod wrażeniem? Chcesz więcej kontroli?
Możesz także sprawdzić KeyRemap4MacBook, który jest tak naprawdę flagowym narzędziem do mapowania klawiaturypqrs.org - jest również bezpłatny.
Jeśli podoba Ci się te narzędzia, możesz przekazać darowiznę . Nie mam z nimi żadnych powiązań, ale używam tych narzędzi od dłuższego czasu i muszę powiedzieć, że chłopaki wykonali świetną robotę, utrzymując je, dodając funkcje i naprawiając błędy.
Oto zrzut ekranu pokazujący kilka (setek) wstępnie wybranych opcji:
PQRS ma również świetne narzędzie NoEjectDelay , którego można używać w połączeniu z KeyRemap4MacBook do przeprogramowywania klucza Eject. Po drobnych poprawkach mam swój zestaw, aby przełączyć AirPort Wifi.
Te narzędzia oferują nieograniczoną elastyczność podczas mapowania klawiatury Mac. Baw się dobrze!
Chciałbym wyjaśnić, że używam PCKeyboardHack sam bez KeyRemap4Macbook od prawie 2 lat, aby zrobić dokładnie to.
rossipedia,
13
Pamiętaj, że jeśli używasz klawiatury zewnętrznej, powinieneś powtórzyć krok pierwszy (tj. Caps Lock = brak akcji) dla każdej klawiatury. Nie udało mi się wykonać tego kroku na klawiaturze zewnętrznej, w wyniku czego funkcja caps lock nie zareagowała na bardzo szybkie naciśnięcie klawisza z powodu przypadkowego zabezpieczenia klawisza caps lock. superuser.com/questions/317900/
Eliminate
11
Świetny samouczek. Mapowałem Caps Lock na Esc przez około rok. To był niesamowicie wydajny. Pewnego dnia jednak sparowałem ze starszym programistą. Powiedziałem mu, że używam Vima jako mojego głównego redaktora. Ja też, powiedział. Otworzył maszynę i zaczęliśmy działać. Kiedy nadeszła moja kolej na edycję kodu, pogrzebałem i potknąłem się, ponieważ jego Caps Lock nie został zmapowany. Próbowałem iść aż do Esc, ale co jakiś czas naciskałem Caps, a potem zmieniły się moje normalne polecenia. Nauczył mnie, że Ctrl-c również przeniesie cię z powrotem do trybu wizualnego. Zrób sobie przysługę i zacznij używać Ctrl-c.
Byłoby wspaniale, gdybyś mógł również edytować i wspomnieć na górze, że jest to natywna funkcja w systemie macOS 10.12.1 na odpowiedź @ rkusa, aby nowi użytkownicy nie musieli pobierać oprogramowania innych firm
edhurtig
309
Od MacOS 10.12.1 możliwe jest przemapować Caps Lockdo Escnatywnie (Preferencje systemowe -> Klawiatura -> Klawisze modyfikujące).
Nie byłem zadowolony z żadnej z odpowiedzi tutaj i zacząłem szukać rozwiązania dla wiersza poleceń .
W macOS Sierra 10.12 Apple wprowadził nowy sposób mapowania kluczy przez użytkowników.
Nie ma potrzeby manipulowania przy graficznym interfejsie użytkownika
Nie są wymagane żadne specjalne uprawnienia
Całkowicie konfigurowalny
Nie trzeba instalować żadnych bzdur innych firm, takich jak PCKeyboardHack / Seil / Karabiner / KeyRemap4MacBook / DoubleCommand / NoEjectDelay
Jeśli brzmi to dla ciebie dobrze, spójrz na hidutil.
Na przykład, aby ponownie przypisać Caps-Lock do ucieczki, zapoznaj się z tabelą kluczy i dowiedz się, że Caps-Lock ma kod użytkowania 0x39, a klawisz Escape ma kod użytkowania 0x29. Umieść te kody lub kod o wartości szesnastkowej 0x700000000 w źródle i dest:
Dzięki za to, +1! Dodałem kilka uwag stycznych do postu Apple, które, mam nadzieję, dodają pewną wartość naszym biednym ludziom, którzy nie chcą klawisza Esc, ale nie używają Caps Lock.
tripleee
Świetna metoda dla MacBooków, które mają problemy z wbudowaną klawiaturą. Mój powodował problemy z ustawieniami klawiatury, więc nie mogłem ponownie przypisać żadnych klawiszy.
Igor
Nie byłem w stanie sprawić, by działało to poprawnie za pomocą tej LoginHookmetody - chyba coś po uruchomieniu wybiera ustawienia lokalnej klawiatury dla skandynawskiej klawiatury? W każdym razie stackoverflow.com/a/22872222/874188 zauważa, że LoginHookjest przestarzałe i zaleca używanie launchdzamiast niego.
Przejdź do PCKeyboardHack w Preferencjach systemowych.
Włącz „Zmień Caps Lock” i ustaw kod dostępu na 53.
Rozwiązanie 2
To rozwiązanie nie wymaga łatania sterownika klawiatury, ale daje rozwiązanie specyficzne dla Vima.
OS X obsługuje mapowanie klawisza Caps Lock na całą masę kluczy, ale musisz to zrobić ręcznie, edytując pliki .plist. Proces ten opisano w tym artykule . Jako dodatek do tej wskazówki sugeruję, aby najpierw ustawić Caps-Lock na Brak w Preferencjach systemowych, a następnie wystarczy zmienić tylko jedną wartość w pliku .plist. Ponadto możesz oczywiście użyć Edytora list właściwości zamiast przejść przez etapy konwersji XML.
Sztuczka polega na zamapowaniu klawisza Caps Lock na klawisz Pomoc (kod 6), którego nie ma na większości klawiatur. Ale jeśli tak, to zostanie potraktowane jako klawisz wstawiania, którego prawdopodobnie i tak prawdopodobnie nie używasz, ponieważ pytasz o ponowne mapowanie Caps Locka, aby zapobiec rozciąganiu rąk;)
Następnie możesz zmapować Pomoc i Insertklucz na Escvim.
Działa to dla gvim (Vim.app). Nie dostałem go do pracy z vimem w Terminalu i nie testowałem go z MacVimem.
Jest to więc raczej skomplikowane, na wpół upieczone rozwiązanie lub instalacja hakera innej firmy. Twój wybór ;)
Edit: Właśnie zauważyłem rozwiązanie 3, jeśli używasz MacVim można użyć Ctrl, Optioni Commandjak Esc. W Preferencjach systemowych mapowanie Caps Lock na jeden z tych kluczy jest banalne.
Jedyne, co wiem, jak to zrobić, to zmapować Caps Lock na Control, Option lub Command. Można to zrobić za pomocą panelu Klawiatura i mysz w Preferencjach systemowych. Kliknij „Klawisze modyfikujące” w lewym dolnym rogu, a będziesz mógł zmienić przypisanie Caps Lock, Control, Option i Command do dowolnego z nich.
@Craig: Sugeruje to, że Caps Lock może być używany jako normalny - to znaczy bez przełączania - klawisz. Na moim MacBooku, ponieważ zmieniłem mapowanie Caps Lock na Control, lampka Caps Lock nigdy się nie świeci. Po prostu działa jak klawisz Control.
Używam github.com/tekezo/Karabiner-Elements (który działa na Sierra). Jak dotąd działa świetnie, choć chciałbym, żeby to zrobiło „Control_L do Control_L (+ gdy wpiszesz tylko Control_L, wyślij Escape)”
atomkirk 21.09.16
1
@atomkirk Czy mógłbyś udostępnić konfigurację Karabiner JSON, której użyłeś?
Karabiner wykonał dla mnie lewę za pomocą JSON atomkirk. Pomimo powyższego zrzutu ekranu, interfejs Maestro klawiatury jest chaotyczny i nie mogłem go skonfigurować.
Paul,
10
Po wypróbowaniu kilku z tych rozwiązań mam kilka uwag:
DoubleCommand będzie nie pozwalają, aby zamienić esc i czapki-lock.
PCKeyboardHack będzie pozwalają map CapsLock uciec,ale nie ma możliwości odwzorowania ucieczki na capslock. Najnowsze wersje umożliwiają wykonanie pełnej wymiany poprzez edycję obu klawiszy.
To może, ale nie musi być wystarczające dla twoich potrzeb (wiem, że to jest moje).
PCKeyboardHack nie pozwala odwzorować ucieczki na Capslock, ale aplikacja towarzysząca KeyRemap4MacBook tak. Pozwala zmapować „Escape to CapsLock” i „Shift + Escape to CapsLock”.
Rory O'Kane
9
Jeśli nie chcesz instalować aplikacji innych firm i naprawdę zależy ci tylko na vimie w iTerm, działają:
Zmień mapowanie CapsLock na Pomoc zgodnie z opisem tutaj .
Wersja skrócona: użyj edytora plutil lub podobnego ~/Library/Preferences/ByHost/.GlobalPreferences*.plist, powinien wyglądać podobnie do tego:
Uruchom ponownie! Proste wylogowanie i logowanie nie działało dla mnie.
W iTerm dodaj nowe mapowanie kluczy w celu uzyskania pomocy: wyślij kod szesnastkowy 0x1b, który odpowiada Escape.
Wiem, że nie było to dokładnie to, o co proszono, ale zakładam, że intencją wielu osób szukających takiego rozwiązania jest w rzeczywistości ten bardziej wyspecjalizowany wariant.
Aby faktycznie zamienić klawisz Esc na klawisz Caps Lock (nie tylko mapować jeden na drugi) za pomocą PCKeyboardHack i KeyRemap4MacBook, musisz postępować zgodnie z instrukcjami w tym wątku , mapując klawisz Caps Lock na kod nieużywany przez klawiatura, ale rozliczana przez KeyRemap4MacBook (np. 110). Następnie w PCKeyboardHack wybierz odpowiednią opcję, która odwzorowuje ten kod klucza do ucieczki (w przypadku 110 jest to „Klucz aplikacji do ucieczki”). Oto jak powinny wyglądać twoje preferencje KeyRemap4MacBook (pod warunkiem, że zaznaczyłeś pole wyboru „pokaż tylko włączone”).
I początkowo próbowała wysłać tę informację jako edycja na doskonałą odpowiedź CWD za , ale została ona odrzucona. Zachęcam każdego, kto chce iść trasą, którą opisuję, aby najpierw przeczytał jego / jej odpowiedź.
Ctrl + [
dlaesc
. Przydatne dla Vima.Odpowiedzi:
Edit: Jak to opisano w tej odpowiedzi , nowsze wersje MacOS teraz natywne wsparcie dla ponownego wiązania Caps Locksię Escape. Dlatego nie jest już konieczne instalowanie oprogramowania innych firm, aby to osiągnąć.
Oto moja próba wyczerpującej, wizualnej odpowiedzi (wraz z linkami), jak to osiągnąć za pomocą Seila (wcześniej znanego jako
PCKeyboardHack
).W wyskakującym oknie dialogowym ustaw Caps Lock Key na
No Action
:2) Teraz kliknij tutaj, aby pobrać Seil i zainstalować go:
3) Po instalacji będziesz mieć zainstalowaną nową aplikację (Mountain Lion i nowsze), a jeśli masz starszy system operacyjny, może być konieczne sprawdzenie nowego panelu Preferencji systemowych:
4) Zaznacz pole „Zmień Caps Lock” i wpisz „53” jako kod dla klawisza Escape:
I jesteś skończony!Jeśli to nie zadziała natychmiast, może być konieczne ponowne uruchomienie komputera.
Pod wrażeniem? Chcesz więcej kontroli?
Możesz także sprawdzić KeyRemap4MacBook, który jest tak naprawdę flagowym narzędziem do mapowania klawiatury
pqrs.org
- jest również bezpłatny.Jeśli podoba Ci się te narzędzia, możesz przekazać darowiznę . Nie mam z nimi żadnych powiązań, ale używam tych narzędzi od dłuższego czasu i muszę powiedzieć, że chłopaki wykonali świetną robotę, utrzymując je, dodając funkcje i naprawiając błędy.
Oto zrzut ekranu pokazujący kilka (setek) wstępnie wybranych opcji:
PQRS ma również świetne narzędzie NoEjectDelay , którego można używać w połączeniu z KeyRemap4MacBook do przeprogramowywania klucza Eject. Po drobnych poprawkach mam swój zestaw, aby przełączyć AirPort Wifi.
Te narzędzia oferują nieograniczoną elastyczność podczas mapowania klawiatury Mac. Baw się dobrze!
źródło
CTRL-[
jest właściwie odpowiednikiem ESC. stackoverflow.com/questions/5030164/…Od MacOS 10.12.1 możliwe jest przemapować Caps Lockdo Escnatywnie (Preferencje systemowe -> Klawiatura -> Klawisze modyfikujące).
źródło
Nie byłem zadowolony z żadnej z odpowiedzi tutaj i zacząłem szukać rozwiązania dla wiersza poleceń .
W macOS Sierra 10.12 Apple wprowadził nowy sposób mapowania kluczy przez użytkowników.
Jeśli brzmi to dla ciebie dobrze, spójrz na
hidutil
.Na przykład, aby ponownie przypisać Caps-Lock do ucieczki, zapoznaj się z tabelą kluczy i dowiedz się, że Caps-Lock ma kod użytkowania 0x39, a klawisz Escape ma kod użytkowania 0x29. Umieść te kody lub kod o wartości szesnastkowej 0x700000000 w źródle i dest:
Możesz dodać inne mapowania w tym samym poleceniu. Osobiście lubię mapować Caps-Lock na backspace i mapować backspace, aby usunąć:
Aby zobaczyć bieżące mapowanie:
Twoje zmiany zostaną utracone przy ponownym uruchomieniu systemu. Jeśli chcesz, aby trwały, umieść je w skrypcie i ustaw hak logowania:
źródło
LoginHook
metody - chyba coś po uruchomieniu wybiera ustawienia lokalnej klawiatury dla skandynawskiej klawiatury? W każdym razie stackoverflow.com/a/22872222/874188 zauważa, żeLoginHook
jest przestarzałe i zaleca używanielaunchd
zamiast niego.To jest możliwe.
Rozwiązanie 1
Z artykułu na stronie TrueAffection.net.
Rozwiązanie 2
To rozwiązanie nie wymaga łatania sterownika klawiatury, ale daje rozwiązanie specyficzne dla Vima.
OS X obsługuje mapowanie klawisza Caps Lock na całą masę kluczy, ale musisz to zrobić ręcznie, edytując pliki .plist. Proces ten opisano w tym artykule . Jako dodatek do tej wskazówki sugeruję, aby najpierw ustawić Caps-Lock na Brak w Preferencjach systemowych, a następnie wystarczy zmienić tylko jedną wartość w pliku .plist. Ponadto możesz oczywiście użyć Edytora list właściwości zamiast przejść przez etapy konwersji XML.
Sztuczka polega na zamapowaniu klawisza Caps Lock na klawisz Pomoc (kod 6), którego nie ma na większości klawiatur. Ale jeśli tak, to zostanie potraktowane jako klawisz wstawiania, którego prawdopodobnie i tak prawdopodobnie nie używasz, ponieważ pytasz o ponowne mapowanie Caps Locka, aby zapobiec rozciąganiu rąk;)
Następnie możesz zmapować Pomoc i Insertklucz na Escvim.
Działa to dla gvim (Vim.app). Nie dostałem go do pracy z vimem w Terminalu i nie testowałem go z MacVimem.
Jest to więc raczej skomplikowane, na wpół upieczone rozwiązanie lub instalacja hakera innej firmy. Twój wybór ;)
Edit: Właśnie zauważyłem rozwiązanie 3, jeśli używasz MacVim można użyć Ctrl, Optioni Commandjak Esc. W Preferencjach systemowych mapowanie Caps Lock na jeden z tych kluczy jest banalne.
źródło
Teraz znacznie łatwiej jest zamapować Caps Lockklucz za Escpomocą macOS Sierra.
Otwórz Preferencje systemowe → Klawiatura.
Kliknij przycisk Klawisze modyfikujące w prawym dolnym rogu.
Kliknij menu rozwijane obok klucza sprzętowego, który chcesz ponownie przypisać, i wybierz opcję Escape.
Kliknij OK i zamknij Preferencje systemowe.
https://9to5mac.com/2016/10/25/remap-escape-key-action-macbook-pro-macos-sierra-10-12-1-modifier-keys/
źródło
Jedyne, co wiem, jak to zrobić, to zmapować Caps Lock na Control, Option lub Command. Można to zrobić za pomocą panelu Klawiatura i mysz w Preferencjach systemowych. Kliknij „Klawisze modyfikujące” w lewym dolnym rogu, a będziesz mógł zmienić przypisanie Caps Lock, Control, Option i Command do dowolnego z nich.
@Craig: Sugeruje to, że Caps Lock może być używany jako normalny - to znaczy bez przełączania - klawisz. Na moim MacBooku, ponieważ zmieniłem mapowanie Caps Lock na Control, lampka Caps Lock nigdy się nie świeci. Po prostu działa jak klawisz Control.
źródło
Seil nie jest jeszcze dostępny w systemie macOS Sierra (10.12 beta). Jako taki korzystam z Keyboard Maestro z tymi ustawieniami:
Podziękowania dla tego komentarza github: https://github.com/tekezo/Seil/issues/68#issuecomment-230131664
źródło
Po wypróbowaniu kilku z tych rozwiązań mam kilka uwag:
DoubleCommand będzie nie pozwalają, aby zamienić esc i czapki-lock.
PCKeyboardHack będzie pozwalają map CapsLock uciec,
ale nie ma możliwości odwzorowania ucieczki na capslock. Najnowsze wersje umożliwiają wykonanie pełnej wymiany poprzez edycję obu klawiszy.To może, ale nie musi być wystarczające dla twoich potrzeb (wiem, że to jest moje).
źródło
Jeśli nie chcesz instalować aplikacji innych firm i naprawdę zależy ci tylko na vimie w iTerm, działają:
Zmień mapowanie CapsLock na Pomoc zgodnie z opisem tutaj .
Wersja skrócona: użyj edytora plutil lub podobnego
~/Library/Preferences/ByHost/.GlobalPreferences*.plist
, powinien wyglądać podobnie do tego:Uruchom ponownie! Proste wylogowanie i logowanie nie działało dla mnie.
W iTerm dodaj nowe mapowanie kluczy w celu uzyskania pomocy: wyślij kod szesnastkowy 0x1b, który odpowiada Escape.
Wiem, że nie było to dokładnie to, o co proszono, ale zakładam, że intencją wielu osób szukających takiego rozwiązania jest w rzeczywistości ten bardziej wyspecjalizowany wariant.
źródło
Aby faktycznie zamienić klawisz Esc na klawisz Caps Lock (nie tylko mapować jeden na drugi) za pomocą PCKeyboardHack i KeyRemap4MacBook, musisz postępować zgodnie z instrukcjami w tym wątku , mapując klawisz Caps Lock na kod nieużywany przez klawiatura, ale rozliczana przez KeyRemap4MacBook (np. 110). Następnie w PCKeyboardHack wybierz odpowiednią opcję, która odwzorowuje ten kod klucza do ucieczki (w przypadku 110 jest to „Klucz aplikacji do ucieczki”). Oto jak powinny wyglądać twoje preferencje KeyRemap4MacBook (pod warunkiem, że zaznaczyłeś pole wyboru „pokaż tylko włączone”).
I początkowo próbowała wysłać tę informację jako edycja na doskonałą odpowiedź CWD za , ale została ona odrzucona. Zachęcam każdego, kto chce iść trasą, którą opisuję, aby najpierw przeczytał jego / jej odpowiedź.
źródło
Seil jeszcze nie działa na macOS Sierra, więc używam Karabiner Elements , pobierz z https://pqrs.org/latest/karabiner-elements-latest.dmg .
Użyj GUI lub umieść w
~/.karabiner.d/configuration/karabiner.json
:źródło
Możesz również użyć DoubleCommand do ponownego przypisania tego i innych kluczy.
IIRC, zamapuje Caps Lock na Esc.
źródło
Otwórz preferencje klawiatury i kliknij klawisze modyfikatora ... możesz zmienić klawisz Caps Lock na sterowanie, opcję, klawisz ucieczki lub polecenie.
źródło
Esc
iEscape
? (poważne pytanie)Karabiner-Elements Potężny i stabilny konfigurator klawiatury dla systemu macOS. (darmowy)
https://pqrs.org/osx/karabiner/index.html
Pracowałem dla mojej Mojave, aby zmienić Caps-Lock na backspace
źródło