Jak wyłączyć wpisywanie znaków specjalnych podczas naciskania klawisza opcji w systemie Mac OS X? [Zamknięte]
129
Teraz, kiedy naciśnę opcję-b, otrzymam ∫. Nie muszę wpisywać znaków specjalnych i muszę mapować opcję-b na skróty do określonych aplikacji. Czy jest na to sposób?
Używam IntelliJ i chciałbym zasymulować skróty klawiaturowe emacsa i zmapowałem meta do klawisza opcji. Ale kiedy naciskam, powiedzmy, opcję-b, otrzymałem oczekiwane zachowanie, ponieważ jest interpretowane jako znak specjalny.
ximyu
3
Jeśli użyję klawisza opcji jako modyfikatora, mogę zdefiniować jeszcze więcej skrótów w moim IDE, co w oczywisty sposób zwiększa moją produktywność.
Dan,
25
To po prostu śmieszne, jak trudne są takie proste czynności na komputerach Mac. Umieściłem niewłaściwą aplikację w programie uruchamiającym - powodzenia w usuwaniu jej za pomocą instrukcji SQL; chcesz wyłączyć jakiś głupi skrót - rozpocznij pobieranie i testowanie milionów rozwiązań, które nie są spójne w różnych wersjach systemu operacyjnego. Boże, dlaczego kupiłem ten okropny komputer?
W aplikacji możesz utworzyć nowy układ klawiszy za pomocą Plik -> Nowy z bieżącego źródła. Naciśnięcie Option pokaże ci w miejscu Option-b czerwony klawisz - co oznacza, że jest to martwy klawisz . Dwukrotne kliknięcie pozwoli ci zmienić go z martwego klucza na klucz wyjściowy. Gdy pojawi się monit o wyjście, możesz wpisać to samo (naciskając Option-b).
W ten sposób wyświetli ten sam znak, ale nie będzie uważany za martwy klawisz, więc Intellij może powiązać go jako skrót.
Aby włączyć nowy układ, musisz zapisać go w ~ / Library / Keyboard Layouts (pomaga, jeśli nadasz mu nową nazwę za pomocą Klawiatura -> Ustaw nazwę klawiatury), a następnie włączyć go w Preferencjach systemowych -> Język i tekst.
To dużo pracy i naprawia tylko jedną kombinację klawiszy w jednej aplikacji. Ja i przynajmniej niektórzy inni chcielibyśmy całkowicie wyłączyć opcję wprowadzania znaków specjalnych na Macu.
javadba
@javadba Po tym, jak dobrze to zrobiłem, nie było tak źle. Zobacz moją odpowiedź poniżej, aby uzyskać szczegółowe instrukcje, które powinny być szybkie do kliknięcia.
Peter Lamberg
Dodałem odpowiedź ze szczegółowymi krokami do tego, co @SebastianZaha opisuje w tej odpowiedzi. Skończyło się na tym, że trochę się zastanawiałem, aby to zrobić, więc mam nadzieję, że zaoszczędzi to komuś (a później mnie) kłopotów.
Peter Lamberg
74
Możesz utworzyć niestandardowe mapowanie klawiatury z literami opcji ustawionymi na PUSTE za pomocą narzędzia online z tej strony . Możesz utworzyć własne mapowanie za pomocą kilku kliknięć z prawie każdego układu klawiatury. Udowodniono, że działa na MacOSX 10.7+ z IntelliJ Idea, Php / WebStorm, NetBeans, Eclipse.
Wybierz w formularzu radio „Ustaw puste dla klawisza opcji” , prześlij formularz i pobierz poprawiony układ klawiatury z wyłączoną funkcją klawisza „opcja”. Udostępniam plik roboczy dla standardowego układu klawiatury w języku angielskim (USA):
Po włączeniu tego niestandardowego mapowania, jeśli wpiszesz literę z wciśniętym klawiszem „opcja”, nic nie zostanie wydrukowane na wyjściu tekstowym. Ale „naciśnięcie klawisza opcji” jest wyzwalane przez system operacyjny i wykrywane przez IDE. Dzięki temu uzyskujesz dokładnie to samo zachowanie, co w przypadku innych klawiszy poleceń!
Pobierz plik mapowania kluczy My Layout.keylayout.
Przenieś to do ~/Library/Keyboard\ Layouts/
Otwórz System Preferences->Language & Text
Idź do Input Sources-> (hit +)->Select Others
Powinieneś znaleźć My Layoutna liście i wybrać ją.
Krok 4 może się nieznacznie zmienić w wersjach MacOS. Prosimy o cierpliwość, aby znaleźć listę układów klawiatury w ustawieniach.
@javadba, poprawiłem odpowiedź. Dziękujemy za twoją opinię!! Rzeczy mogą się zmienić w nowych wersjach systemu operacyjnego.
Dan,
5
Link do skrzynki domyślnej jest teraz uszkodzony.
Andrew White,
2
Nie udało się uruchomić tego. Mogę dodać mój nowy układ klawiszy do listy, ale nie mogę usunąć domyślnego układu „US”, więc w rzeczywistości nie będzie on używał mojego nowego układu klawiszy ....
Plik -> Nowy na podstawie bieżącego źródła wejściowego (wybrałem USA)
Kliknij przycisk Modyfikatory
Wybierz każdy modyfikator z listy, która ma lewy dół lub prawy dół w kolumnie Opcja . (Mogą być takie jak W dół lub w górę , ale AFAIK, możesz je zostawić.)
Naciśnij przycisk minus dla każdego takiego
Przejdź do menu Klawiatura -> Ustaw nazwę klawiatury
Zmień w jakiś sposób nazwę, aby ułatwić identyfikację
Idź do Plik -> Zapisz jako
Zapisz do ~ / Library / Keyboard \ Layouts / z przyrostkiem .keylayout
Wyloguj się z konta Mac OS
Zaloguj się ponownie
Przejdź do Preferencje systemowe -> Klawiatura -> Źródła wprowadzania
Naciśnij przycisk + -> Inne -> Twój nowy układ powinien być dostępny
Dodaj nowy układ
Ewentualnie zostaw też oryginalny układ klawiatury i skonfiguruj fajny sposób przełączania
To jedyne rozwiązanie, które zadziałało i pozwoliło mi na ponowne przypisanie kombinacji klawiszy do poleceń w stylu Emacsa.
event_jr
@event_jr, w jaki sposób powiązałeś je z zachowaniem emacsa? Kiedy przytrzymasz opcję i klikniesz b, prosi o wyjście dla tej kombinacji. Jak powiemy, że wyjście to cofnięcie słowa?
Sahas
1
Jak skomentowałem powyżej, nie pomogło mi to również naprawić skrótów w IDEA na Yosemite. Obawiam się, że zmienili coś w nowszych wersjach i teraz nie można tego naprawić. Używam IntelliJ IDEA 14.1.2 na OS X Yosemite 10.10.3
Innokenty
1
@Innokenty Strange. Jestem na OSX 10.10.3 i IDEA 14.1.2 i moje powiązania podobne do emacsa działają. Przeniosłem konfigurację IDEA z komputera z systemem Windows i plik .keylayout został zbudowany przy użyciu starszej wersji OSX. Czy któryś z nich może być przyczyną? Oto mój plik układu.
Peter Lamberg
1
W OS X 10.10.5 nie widziałem żadnego „Lewo w dół” ani „Prawo w dół” w kolumnie „Opcja”: tylko „Albo w dół”. Usunąłem to wszystko i teraz mam skróty klawiszowe w stylu Emacsa działające w IntelliJ. Chciałbym zrozumieć, co oznaczało usunięcie tych wierszy, ale ponieważ łatwo jest zmienić metody wprowadzania, jeśli napotkam kłopoty, zamierzam to zrobić. Dzięki.
znaczniki pojedynków
12
Użyj Ctrl-Alt-<MNEMONIC>. IMHO jest o wiele łatwiejsze niż konieczność instalowania i konfigurowania osobnej aplikacji.
Dobrze wiedzieć. Jednak nie jest to całkowicie satysfakcjonujące, jeśli również kombinacje klawiszy Ctrl-Alt- mają funkcje.
Peter Lamberg,
4
Dla IDE CTRL + ALT jest już prawdopodobnie używany, więc musisz ponownie skonfigurować IDE, co jest równie trudne, jak konieczność skonfigurowania innej aplikacji.
ARKBAN
ta odpowiedź jest tym, co otrzymasz, jeśli zapytasz JetBrains
Kirby
8
Mam rozwiązanie! Umieść plik w: ~/Library/KeyBindings/DefaultKeyBinding.dictas:
Aha, tak przy okazji, jeśli przypiszesz klawisz do nieokreślonej akcji, twoja aplikacja będzie miała wyciek pamięci, a systemowi za kilka sekund skończy się pamięć. Przetestowany na el capitan, w trudny sposób.
Miałem ten sam problem na nowym Macbooku z VSCode, który działał dobrze na moim starym Macbooku. Kiedy wpisałem alt-shift-f jako format, otrzymałem zamiast tego Unicode. Zdałem sobie sprawę, że różnica polegała na tym, że mój stary Macbook miał brytyjską klawiaturę zamiast domyślnego „ABC - Extended”. Dodanie brytyjskiej klawiatury rozwiązało problem.
To stare, przestarzałe środowisko JRE (oparte na Javie 6), ale od października 2015 r. Nadal wydaje się działać najlepiej z moją instalacją JetBrains RubyMine. (Cokolwiek innego, klawisze wracają do wstawiania znaków specjalnych.)
Znalazłem przyzwoite obejście. Używam oprogramowania Karabiner, aby zmienić mój prawy klawisz Enter, aby kontrolować, gdy jest przytrzymany.
Więc to, co zrobiłem iv, to przemapowanie klawisza opcji na opcję + cmd + kontrola, ponieważ nie znam żadnych poleceń używających wszystkich trzech modyfikatorów. Teraz mogę odwzorować odpowiednie skróty bez żadnych znaków. Ale w razie potrzeby możesz również mapować na dodatkowe klucze
Dodaj to do swojego private.xml: (pomiędzy katalogiem głównym)
Odpowiedzi:
Miałem dokładnie ten sam problem, w tym samym IDE.
Rozwiązaniem tego problemu jest pobranie Ukulele stąd:
http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele
W aplikacji możesz utworzyć nowy układ klawiszy za pomocą Plik -> Nowy z bieżącego źródła. Naciśnięcie Option pokaże ci w miejscu Option-b czerwony klawisz - co oznacza, że jest to martwy klawisz . Dwukrotne kliknięcie pozwoli ci zmienić go z martwego klucza na klucz wyjściowy. Gdy pojawi się monit o wyjście, możesz wpisać to samo (naciskając Option-b).
W ten sposób wyświetli ten sam znak, ale nie będzie uważany za martwy klawisz, więc Intellij może powiązać go jako skrót.
Aby włączyć nowy układ, musisz zapisać go w ~ / Library / Keyboard Layouts (pomaga, jeśli nadasz mu nową nazwę za pomocą Klawiatura -> Ustaw nazwę klawiatury), a następnie włączyć go w Preferencjach systemowych -> Język i tekst.
źródło
Możesz utworzyć niestandardowe mapowanie klawiatury z literami opcji ustawionymi na PUSTE za pomocą narzędzia online z tej strony . Możesz utworzyć własne mapowanie za pomocą kilku kliknięć z prawie każdego układu klawiatury. Udowodniono, że działa na MacOSX 10.7+ z IntelliJ Idea, Php / WebStorm, NetBeans, Eclipse.
Wybierz w formularzu radio „Ustaw puste dla klawisza opcji” , prześlij formularz i pobierz poprawiony układ klawiatury z wyłączoną funkcją klawisza „opcja”. Udostępniam plik roboczy dla standardowego układu klawiatury w języku angielskim (USA):
Po włączeniu tego niestandardowego mapowania, jeśli wpiszesz literę z wciśniętym klawiszem „opcja”, nic nie zostanie wydrukowane na wyjściu tekstowym. Ale „naciśnięcie klawisza opcji” jest wyzwalane przez system operacyjny i wykrywane przez IDE. Dzięki temu uzyskujesz dokładnie to samo zachowanie, co w przypadku innych klawiszy poleceń!
My Layout.keylayout
.~/Library/Keyboard\ Layouts/
System Preferences
->Language & Text
Input Sources
->(hit +)
->Select Others
My Layout
na liście i wybrać ją.Krok 4 może się nieznacznie zmienić w wersjach MacOS. Prosimy o cierpliwość, aby znaleźć listę układów klawiatury w ustawieniach.
źródło
®
terazr
IntelliJ :(Oto szczegółowe kroki prowadzące do odpowiedzi Sebastiana Zahy. (Skończyło się na tym, że trochę grzebałem, zanim to zadziałało).
(Alternatywnie tutaj jest gotowy plik mojego autorstwa )
źródło
Użyj
Ctrl-Alt-<MNEMONIC>
. IMHO jest o wiele łatwiejsze niż konieczność instalowania i konfigurowania osobnej aplikacji.źródło
Mam rozwiązanie! Umieść plik w:
~/Library/KeyBindings/DefaultKeyBinding.dict
as:Ukryje oryginalne dane tekstowe. Ale nadal możesz to uzyskać, używając Ctrl-Q przed kombinacją. Na przykład Ctrl-Q Alt-f daje mi ƒ. W rzeczywistości piszę tę odpowiedź z włączoną opcją przypisania klawiszy. Możesz także dodać inne klucze, które lubisz! Oficjalne odniesienie: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html
Oto dobra lista rzeczy, z którymi możesz się powiązać: https://www.hcs.harvard.edu/~jrus/site/selectors.html
Aha, tak przy okazji, jeśli przypiszesz klawisz do nieokreślonej akcji, twoja aplikacja będzie miała wyciek pamięci, a systemowi za kilka sekund skończy się pamięć. Przetestowany na el capitan, w trudny sposób.
źródło
Miałem ten sam problem na nowym Macbooku z VSCode, który działał dobrze na moim starym Macbooku. Kiedy wpisałem alt-shift-f jako format, otrzymałem zamiast tego Unicode. Zdałem sobie sprawę, że różnica polegała na tym, że mój stary Macbook miał brytyjską klawiaturę zamiast domyślnego „ABC - Extended”. Dodanie brytyjskiej klawiatury rozwiązało problem.
źródło
W środowisku Apple JRE kombinacje klawiszy opcji będą działać jako skróty zamiast wstawiać znaki specjalne.
Link do pobrania: https://support.apple.com/kb/DL1572?locale=en_US
To stare, przestarzałe środowisko JRE (oparte na Javie 6), ale od października 2015 r. Nadal wydaje się działać najlepiej z moją instalacją JetBrains RubyMine. (Cokolwiek innego, klawisze wracają do wstawiania znaków specjalnych.)
źródło
Znalazłem przyzwoite obejście. Używam oprogramowania Karabiner, aby zmienić mój prawy klawisz Enter, aby kontrolować, gdy jest przytrzymany.
Więc to, co zrobiłem iv, to przemapowanie klawisza opcji na opcję + cmd + kontrola, ponieważ nie znam żadnych poleceń używających wszystkich trzech modyfikatorów. Teraz mogę odwzorować odpowiednie skróty bez żadnych znaków. Ale w razie potrzeby możesz również mapować na dodatkowe klucze
Dodaj to do swojego private.xml: (pomiędzy katalogiem głównym)
Następnie załaduj ponownie xml i włącz opcję u góry zakładki „Zmień klucz”
https://pqrs.org/osx/karabiner/
źródło
Użyj ABC jako metody wprowadzania zamiast ABC-Extended, wtedy opcja + [znak] będzie mogła użyć skrótu aplikacji zamiast pokazywać znak specjalny.
źródło
Po prostu użyj klawisza esc zamiast meta, na przykład meta-x mapuje do esc-x.
źródło