Bagaimana cara menonaktifkan mengetik karakter khusus saat menekan tombol opsi di Mac OS X? [Tutup]

129

Sekarang ketika saya menekan opsi-b, saya akan mendapatkan ∫. Saya tidak perlu mengetikkan karakter khusus dan perlu memetakan opsi-b untuk pintasan ke aplikasi tertentu. Apakah ada cara untuk melakukan ini?

ximyu
sumber
26
Saya menggunakan IntelliJ dan saya ingin mensimulasikan cara pintas keyboard emacs dan saya memetakan meta ke tombol pilihan. Tetapi ketika saya menekan, katakanlah, opsi-b, saya memang mendapatkan perilaku yang diharapkan karena ditafsirkan sebagai karakter khusus.
ximyu
3
Jika saya menggunakan tombol opsi sebagai pengubah, saya dapat mendefinisikan lebih banyak pintasan di IDE saya, yang secara signifikan meningkatkan produktivitas saya.
Dan
25
Sangat konyol betapa sulitnya tindakan sederhana di Mac. Menempatkan aplikasi yang salah di peluncur - semoga berhasil menghapusnya dengan pernyataan SQL; ingin menonaktifkan beberapa pintasan bodoh - mulailah mengunduh dan menguji solusi zillion yang tidak konsisten di seluruh versi OS. Ya Tuhan, mengapa saya membeli komputer yang mengerikan ini?
Vasiliy
3
Ini berfungsi untuk saya: superuser.com/a/942256/535138
김민준
1
Untuk orang-orang yang mengalami masalah di terminal, ikuti instruksi ini -> superuser.com/questions/496090/…
A-letubby

Jawaban:

33

Saya mengalami masalah yang sama persis, dalam IDE yang sama persis.

Solusi untuk ini adalah mengunduh Ukulele dari sini:

http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=ukelele

Dalam aplikasi Anda dapat membuat keylayout baru menggunakan File -> Baru dari sumber saat ini. Menekan Opsi akan menunjukkan kepada Anda di tempat untuk Opsi-b kunci berwarna merah - yang berarti itu adalah kunci mati . Mengklik dua kali akan memungkinkan Anda untuk mengubahnya dari kunci mati ke kunci output. Ketika diminta untuk output Anda dapat memasukkan hal yang sama (dengan menekan Opsi-b).

Dengan demikian ia akan mengeluarkan karakter yang sama tetapi tidak akan dianggap sebagai kunci mati, sehingga Intellij dapat mengikatnya sebagai pintasan.

Untuk mengaktifkan tata letak baru Anda, Anda harus menyimpannya ke tata letak ~ / Library / Keyboard (membantu jika Anda memberinya nama baru dengan Keyboard -> Atur Nama Keyboard), lalu aktifkan dari System Preferences -> Bahasa & Teks.

Sebastian Zaha
sumber
15
Ini banyak pekerjaan dan hanya memperbaiki satu kombo kunci dalam satu aplikasi. Saya dan setidaknya beberapa orang lain ingin di seluruh papan menonaktifkan opt sebagai input karakter khusus pada mac.
javadba
@javadba Tidak seburuk itu setelah saya melakukannya dengan benar. Lihat jawaban saya di bawah ini untuk langkah-langkah terperinci yang harus cepat diklik.
Peter Lamberg
Saya menambahkan jawaban dengan langkah - langkah terperinci ke apa yang @SebastianZaha uraikan dalam jawaban ini. Saya akhirnya meraba-raba sedikit untuk menyelesaikannya, jadi mudah-mudahan itu akan menyelamatkan seseorang (dan kemudian saya) beberapa masalah.
Peter Lamberg
74

Anda dapat membuat pemetaan keyboard khusus dengan huruf-huruf opsi yang semua diatur ke BLANK menggunakan alat online dari halaman web ini . Anda dapat membuat pemetaan khusus dalam beberapa klik dari hampir semua tata letak keyboard. Terbukti bekerja di MacOSX 10.7+ dengan IntelliJ Idea, Php / WebStorm, NetBeans, Eclipse.

Pilih radio " Kosongkan tombol opsi" di formulir, kirim formulir, dan unduh tata letak keyboard yang ditambal dengan fitur kunci "opsi" dinonaktifkan. Saya berbagi file yang berfungsi untuk tata letak keyboard AS Inggris standar:

Setelah mengaktifkan pemetaan khusus ini, jika Anda mengetik huruf dengan tombol "opsi" yang ditekan, tidak ada yang dicetak ke output teks. Tapi, "opsi tekan tombol" dipicu oleh OS, dan terdeteksi oleh IDE Anda. Jadi Anda mendapatkan perilaku yang persis sama dengan yang Anda miliki untuk kunci perintah lainnya!

  1. Unduh file pemetaan kunci My Layout.keylayout.
  2. Pindahkan ke ~/Library/Keyboard\ Layouts/
  3. Buka System Preferences->Language & Text
  4. Buka Input Sources-> (hit +)->Select Others
  5. Anda harus menemukan My Layoutdalam daftar dan memilihnya.

Langkah 4 dapat berubah sedikit di seluruh versi MacOS. Harap bersabar untuk menemukan daftar tata letak keyboard di pengaturan.

Dan
sumber
1
@javadba, saya sudah mengoreksi jawaban saya. Terima kasih atas tanggapan Anda!! Banyak hal dapat berubah dengan versi OS baru.
Dan
5
Tautan dropbox tampaknya rusak sekarang.
Andrew White
2
Tidak dapat mengaktifkan ini. Saya dapat menambahkan tata letak kunci baru saya ke daftar, tetapi saya tidak dapat menghapus tata letak 'AS' default, sehingga tidak akan benar-benar menggunakan tata letak kunci baru saya ....
AgmLauncher
12
Ini tidak berfungsi di 10.11 lagi. Saya membuat file layout di gist.github.com/haosdent/573ea124e5ea666fc576 yang bekerja di 10.11
haosdent
1
Tidak bekerja untuk saya. Alih-alih opsi + r mengetik ®, sekarang ketik rIntelliJ :(
Navin
35

Berikut adalah langkah-langkah terperinci untuk jawaban Sebastian Zaha. (Saya akhirnya meraba-raba sedikit sebelum saya berhasil ini).

(Atau di sini adalah file siap pakai oleh saya )

  1. Unduh Ukelele
  2. Anda dapat menjalankannya langsung dari file .dmg
  3. File -> Baru Berdasarkan Sumber Input Saat Ini (Saya telah memilih AS)
  4. Klik tombol Pengubah
  5. Pilih setiap pengubah dari daftar yang memiliki Kiri Bawah atau Kanan Bawah di kolom Opsi . (Mungkin ada beberapa seperti Either Down ATAU Up juga, tetapi AFAIK Anda dapat meninggalkan mereka.)
    • Tekan tombol minus untuk masing-masing seperti ini
  6. Buka menu Keyboard -> Atur Nama Keyboard
  7. Ubah nama entah bagaimana untuk membuatnya lebih mudah untuk diidentifikasi
  8. Buka File -> Simpan sebagai
  9. Simpan ke ~ / Library / Keyboard \ Layouts / dengan akhiran .keylayout
  10. Logout dari akun Mac OS Anda
  11. Masuk kembali
  12. Pergi ke System Preferences -> Keyboard -> Sumber Input
  13. Tekan tombol + -> Lainnya -> Tata letak baru Anda harus tersedia
  14. Tambahkan tata letak baru
  15. Mungkin juga meninggalkan tata letak keyboard asli dan mengonfigurasi beberapa cara yang bagus untuk beralih
Peter Lamberg
sumber
1
Ini adalah satu-satunya solusi yang bekerja untuk saya dan memungkinkan saya untuk mengubah kombinasi tombol menjadi perintah seperti Emacs.
event_jr
@event_jr, bagaimana Anda membukanya kembali untuk perilaku emacs? Ketika Anda menahan opsi dan mengklik b, ia meminta output untuk kombinasi itu. Bagaimana kita memberi tahu bahwa output adalah mengembalikan kata?
Sahas
1
Seperti yang saya komentari di atas, ini tidak membantu saya untuk memperbaiki pintasan di IDEA di Yosemite juga. Saya khawatir mereka mengubah sesuatu dalam versi yang lebih baru dan sekarang menjadi tidak mungkin untuk memperbaikinya. Saya menjalankan IntelliJ IDEA 14.1.2 di OS X Yosemite 10.10.3
Innokenty
1
@Innokenty Strange. Saya menggunakan OSX 10.10.3 dan IDEA 14.1.2 dan binding seperti emacs saya berfungsi. Saya membawa konfigurasi IDEA dari mesin windows dan file .keylayout dibuat menggunakan beberapa versi OSX yang lebih lama. Mungkinkah ini salah satu alasannya? Ini adalah file layout saya.
Peter Lamberg
1
Di OS X 10.10.5, saya tidak melihat "Kiri Bawah" atau "Kanan Bawah" di kolom "Opsi": cukup "Either Down". Saya menghapus semua itu, dan sekarang memiliki keybindings bergaya Emacs yang bekerja di IntelliJ. Saya berharap saya mengerti apa artinya menghapus baris-baris itu, tetapi karena mudah untuk mengganti metode input jika saya mengalami masalah, saya akan melakukannya. Terima kasih.
spidol duelin
12

Gunakan Ctrl-Alt-<MNEMONIC>. IMHO jauh lebih mudah daripada harus menginstal dan mengkonfigurasi aplikasi terpisah.

Victor Tatai
sumber
2
Senang mendengarnya. Namun ini tidak sepenuhnya memuaskan jika juga kombinasi tombol Ctrl-Alt- memiliki fungsi.
Peter Lamberg
4
Untuk CTRL + ALT IDE kemungkinan sudah digunakan, jadi Anda harus mengkonfigurasi ulang IDE Anda, yang sama menyakitkannya dengan harus mengkonfigurasi beberapa aplikasi lain.
ARKBAN
jawaban ini adalah apa yang Anda dapatkan jika Anda bertanya pada JetBrains
Kirby
8

Saya punya solusi! Tempatkan file di:~/Library/KeyBindings/DefaultKeyBinding.dict sebagai:

/* ~/Library/KeyBindings/DefaultKeyBinding.dict */
 {
    /* Additional Emacs bindings */
    "~f" = "moveWordForward:";
    "~b" = "moveWordBackward:";
    "~<" = "moveToBeginningOfDocument:";
    "~>" = "moveToEndOfDocument:";
    "~v" = "pageUp:";
    "~d" = "deleteWordForward:";
    "~^h" = "deleteWordBackward:";
    "~\010" = "deleteWordBackward:";  /* Option-backspace */
    "~\177" = "deleteWordBackward:";  /* Option-delete */

    /* Escape should really be complete: */
    "\033" = "complete:";  /* Escape */        
}

Ini akan menyembunyikan input teks asli. Tetapi Anda masih bisa mendapatkannya dengan menggunakan Ctrl-Q sebelum kombinasi. Jadi Ctrl-Q Alt-f memberi saya ƒ misalnya. Bahkan, saya menulis jawaban ini dengan opsi keybindings diaktifkan. Anda juga dapat menambahkan kunci lain yang Anda suka! Referensi resmi: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html

Berikut adalah daftar hal-hal baik yang dapat Anda ikat: https://www.hcs.harvard.edu/~jrus/site/selectors.html

Oh, omong-omong, jika Anda mengikat kunci untuk tindakan yang tidak ditentukan, aplikasi Anda akan memiliki kebocoran memori dan sistem Anda akan kehabisan memori dalam beberapa detik. Diuji pada el capitan, dengan cara yang sulit.

Wung Hugh
sumber
5

Saya memiliki masalah yang sama pada Macbook baru dengan VSCode yang telah bekerja dengan baik di Macbook lama saya. Ketika saya mengetik alt-shift-f untuk format, saya mendapatkan unicode. Saya menyadari perbedaannya adalah Macbook lama saya memiliki pengaturan keyboard Inggris dan bukannya "ABC - Extended" default. Menambahkan keyboard Inggris memperbaiki masalah bagi saya.

chookie
sumber
Saya mencoba ini tetapi masih mendapat karakter yang mengganggu dengan Option + N misalnya di Intellij IDEA.
Amir Eldor
2

Menggunakan Apple JRE, kombinasi tombol Pilihan akan berfungsi sebagai pintasan alih-alih memasukkan karakter khusus.

Tautan unduhan: https://support.apple.com/kb/DL1572?locale=en_US

Ini adalah JRE lama yang sudah usang (berdasarkan Java 6) tetapi pada Oktober 2015 ini masih merupakan yang terbaik dengan instalasi JetBrains RubyMine saya. (Ada lagi, tombol kembali untuk memasukkan karakter khusus.)

MarkWPiper
sumber
0

Saya telah menemukan solusi yang layak. Saya menggunakan perangkat lunak Karabiner untuk mengubah tombol enter kanan saya untuk mengontrol ketika ditekan.

Jadi yang dilakukan iv adalah memetakan kembali kunci opsi ke opsi + cmd + kontrol, karena saya tidak mengetahui adanya perintah yang menggunakan ketiga pengubah. Sekarang saya dapat memetakan jalan pintas yang tepat tanpa karakter apa pun. Tetapi Anda juga bisa memetakan ke kunci tambahan jika diperlukan

Tambahkan ini ke private.xml Anda: (di antara root)

<item>
<name>Change option Key to cmd + control + option</name>
<identifier>private.optiontoelse</identifier>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_L, 
    KeyCode::OPTION_L, ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ 
    KeyCode::OPTION_R, 
    KeyCode::OPTION_R, ModifierFlag::CONTROL_R | ModifierFlag::COMMAND_R</autogen>
</item>

Kemudian muat ulang xml dan aktifkan opsi di bagian atas tab 'Ubah Kunci'

https://pqrs.org/osx/karabiner/

nicwhitt
sumber
-2

Gunakan ABC sebagai metode input alih-alih ABC-Extended, maka opsi + [char] akan dapat menggunakan pintasan aplikasi alih-alih menunjukkan karakter khusus.

Michael Yu
sumber
Jawaban ini membantu saya, Alih-alih ABC-Lokal atau ABC-Diperpanjang, saya menggunakan ABC
Nama Kode Jack
-3

Cukup gunakan kunci esc sebagai ganti meta, misalnya meta-x maps ke esc-x.

Zermelo
sumber