Catatan Teknis Apple TN2450 menjelaskan cara memetakan kembali kunci. Menjalankan perintah berikut akan memetakan Alt Kanan menjadi Kontrol Kanan.
hidutil property --set '{"UserKeyMapping":
[{"HIDKeyboardModifierMappingSrc":0x7000000e6,
"HIDKeyboardModifierMappingDst":0x7000000e4}]
}'
Perhatikan bahwa perintah di atas tidak mengalihkan Alt Kanan dan Kontrol Kanan. Keduanya akan menjadi Kontrol Benar. Jika Anda memiliki MacBook, Anda tidak akan melihat ini sampai mencolokkan keyboard eksternal. Jika Anda ingin mengganti Alt Kanan dan Kontrol Kanan, Anda perlu menambahkan perintah sakelar kedua, seperti berikut ini.
hidutil property --set '{"UserKeyMapping":
[{"HIDKeyboardModifierMappingSrc":0x7000000e4,
"HIDKeyboardModifierMappingDst":0x7000000e6},
{"HIDKeyboardModifierMappingSrc":0x7000000e6,
"HIDKeyboardModifierMappingDst":0x7000000e4}]
}'
Tabel di bagian bawah Catatan Teknis memiliki daftar nilai hex untuk setiap kunci. Untuk menggeneralisasi jawaban di atas untuk beralih tombol apa saja, Anda harus or
nilai hex dari daftar itu bersama 0x700000000
. Kode Python berikut menunjukkan satu cara untuk melakukan ini.
In [1]: def convert(val):
...: int_val = int(val, 16)
...: int_ref = 0x700000000
...:
...: return hex(int_ref | int_val)
...:
In [2]: r_alt = '0xE6'
In [3]: print(convert(r_alt))
0x7000000e6
Src
danDst
.\
di keyboard saya adalahShift+Option+7
yang ingin saya ganti dengan sesuatu yang lebih sederhana sepertiOption+.
yang jarang saya gunakan. Bagaimana aku melakukan itu? Terima kasih atas bantuan Anda.Pendekatan yang lebih umum dan ramah pengguna adalah menggunakan Karabiner-Elements , yang merupakan versi Karabiner yang bekerja di Sierra.
sumber
Ini merupakan tambahan untuk jawaban Steven C. Howell.
Saya memiliki MacBook Pro baru dengan keyboard Skandinavia. Model baru ini tidak lagi memiliki kunci Esc, yang merupakan cacat signifikan bagi saya.
Saya menemukan bahwa yang berikut ini akan menerjemahkan kunci § (kiri atas, kiri 1 dan tombol tab di atas) - yang saya pikir saya belum pernah gunakan untuk apa pun sebelum hari ini - untuk menghasilkan Esc.
Dalam dokumentasi Apple (ditautkan dari jawaban Steven) ini dilabeli sebagai "Keyboard Non-US \ dan |" (0x64).
Beberapa tombol "non-AS" sulit ditemukan karena biasanya merujuk pada tombol yang memiliki label berbeda pada keyboard yang Anda gunakan. (Saya juga menemukan bahwa "Aksen dan tilde Grave" mengacu pada tombol antara shift kiri dan z, yang diproduksi keyboard saya
<
. Saya tidak dapat menetapkan kunci mana yang sesuai dengan "Non-AS#
dan~
" dan tidak bereksperimen lebih jauh setelah saya menemukan kunci saya.) Jika Anda ingin bereksperimen, coba jalankan skrip di terminal sampai Anda menemukan kunci yang Anda butuhkan:Ini loop atas kode kunci dan perubahan satu per satu, dengan harapan bahwa Anda dapat menemukan melalui trial and error kunci yang tidak terlalu berguna bagi Anda. Coba ketikkan sesuatu saat diminta - jika Anda mendapatkan
g
alih - alih apa yang Anda harapkan, Anda telah menemukan kode kunci yang tepat. (Ubah0x70000000a
ke hal lain jikag
bukan pilihan yang nyaman untuk Anda. Mungkin Anda ingin memetakan ulangg
kunci?) Saat Anda selesai mengetik, cukup tekan Enter untuk melanjutkan ke tombol berikutnya.Untuk apa nilainya, perintah terakhir di dalam loop adalah bagaimana Anda mengubah semua
UserKeyMapping
pengaturan:Ketika Anda awalnya menjalankannya
hidutil property --get UserKeyMapping
menghasilkantetapi tampaknya Anda tidak dapat mengumpan balik nilai ini untuk mengubah pengaturan (atau lebih tepatnya, menerima tetapi mengabaikan input ini).
(Jika Anda tidak terbiasa dengan Terminal, hanya copy / paste hal dari
for
sampaidone
di Andabash$
cepat atau serupa.)Sesuai pertanyaan Stack Overflow terkait ini, Anda dapat menempatkan perintah dalam file skrip di direktori home Anda dan menambahkannya ke
launchd
konfigurasi Anda untuk membuat perubahan ini terus-menerus.Jika beberapa pembaca tidak nyaman melakukan ini sendiri, berikut ini skrip cepat yang melakukan ini untuk Anda. Sekali lagi, cukup salin / tempel ini di Terminal prompt.
Tentunya jika Anda berakhir dengan beberapa kunci selain
0x700000064
Anda perlu mengubahnya dalam skrip, atau dalam file"$HOME"/bin/userkeymapping
itu akhirnya membuat jika Anda sudah menjalankan di atas.sumber
LoginHook
tetapi tidak berhasil untuk saya, dan berdasarkan stackoverflow.com/a/22872222/874188 Saya beralih kelaunchd
pendekatan sebagai gantinya.Jika semua yang ingin Anda lakukan adalah memetakan kembali satu tombol
Contoh: Cara Memetakan Escape Key di Mac
Buka menu Apple dan pilih "System Preferences" dan kemudian pergi ke panel preferensi "Keyboard" dan pilih tab "Keyboard"
Klik tombol "Tombol Pengubah" di sudut kanan bawah
referensi
sumber
Jika Anda mungkin ingin mengembalikan default:
sumber