Membuat kunci keluar fisik pada MacBook Pro baru dengan TouchBar dengan mengubah .keylayout untuk tombol §

10

Layout keyboard Inggris untuk TouchBar MacBook Pro memiliki tombol § / ± yang tidak berguna di kiri atas yang akan menjadi sempurna untuk digunakan sebagai tombol escape fisik (lihat gambar ini ).

macOS memiliki sistem pemetaan keyboard (/ Library / Keyboard Layouts / - mis. lihat http://www.gingerbeardman.com/UK.keylayout/ dan https://developer.apple.com/library/content/technotes/tn2056/ _index.html ) yang memungkinkan kunci untuk diubah.

Tampaknya mungkin bagi saya bahwa meletakkan garis ke tata letak keyboard yang relevan mirip dengan:

<key code="<code for that key>" output="&#x1B;" />

harus memungkinkan saya untuk membuat kunci itu sebagai kunci melarikan diri. (Jika saya dapat menemukan / membuat tata letak untuk semua kunci lainnya juga!)

Googling Saya tidak menemukan orang yang menyebutkan bahwa mereka telah melakukan ini, yang tampaknya aneh bagi saya. Apakah ada alasan mengapa ini tidak berhasil? Bisakah keyboard TouchBar dipetakan ulang dengan file .keylayout tanpa kehilangan fungsionalitas apa pun?

Saya telah menunda membeli pro macbook baru karena takut kehilangan kunci melarikan diri fisik! Saya tahu Anda dapat memetakan ulang ctrl / cmd / etc menjadi Escape menggunakan System Preferences, tapi itu sepertinya solusi yang buruk jika dibandingkan.

JosephH
sumber
Apa kunci yang akan Anda gunakan jika tidak caps lock atau yang disertakan Apple membuat sangat mudah dan dapat dikonfigurasi?
bmike
1
@bmike Tombol § / ± di kiri atas tata letak keyboard UK - lihat gambar ini untuk melihat kunci yang saya bicarakan: d.ibtimes.co.uk/en/full/1570365/macbook-pro-touch- bar.jpg - ini adalah kunci yang tidak berguna yang tidak pernah saya gunakan untuk tujuan yang dimaksudkan pada mac apa pun!
JosephH
Wow - saya merindukan bagian itu sepenuhnya. Mari kita lihat apakah saya dapat menemukan opsi untuk memetakannya kembali. Jawaban saya tidak fleksibel dengan opsi remap "mudah".
bmike
@ sepeda Terima kasih! Ya. Ini adalah opsi menarik yang tidak benar-benar tersedia di peta keyboard AS. :-) Saya harap ini bisa dicapai dengan .keylayout. Saya sebenarnya sudah memesan MacBook Pro Touchbar sekarang sehingga saya bisa bereksperimen ketika tiba.
JosephH

Jawaban:

9
  1. Instal Karabiner-Elements
  2. Jalankan dari Launchpad (jelas)
  3. Di tab "Modifikasi Sederhana" buat pemetaan "non-us-backlash" ke "escape"
  4. Nikmati!

Kode kunci BTW untuk "§" adalah 0A (seperti yang dilaporkan oleh Karabiner Event Viewer)

igrinis
sumber
1
kesalahan ketik:s/non-us-backlash/non-us-backslash
Shlomi Noach
6

Buka System Preferences - pilih keyboard. Kemudian pilih Kunci Pengubah ... ke arah kanan bawah jendela.

Saya telah melarikan diri ditugaskan ke tombol caps lock.

masukkan deskripsi gambar di sini

Saya setuju menggunakan tombol kontrol untuk melarikan diri buruk, tetapi tombol caps lock berfungsi dengan sangat baik. Dalam praktiknya, saya tidak benar-benar memiliki masalah belajar menggunakan tombol soft escape. Memiliki caps lock jauh lebih cepat setelah saya terbiasa karena jarak tempuh yang menurun dari barisan rumah.

bmike
sumber
6

Saya menemukan beberapa dokumentasi tentang Remapping Keys di macOS 10.12 Sierra yang berfungsi tanpa alat pihak ketiga.

Untuk mengubah tombol tepat di atas tab, atur src ke 0x64 (Keyboard Non-US \ dan |) dan dst ke 0x29 (Escape). Nilai-nilai ini harus OR'd dengan 0x700000000 dalam panggilan ke hidutil karena alasan tertentu.

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000029}]}'

Anda bisa meletakkan ini di LaunchAgent (~ / Library / LaunchAgents / give.me.esc.key.plist) agar disetel setiap kali Anda masuk.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>give.me.esc.key</string>
    <key>ProgramArguments</key>
    <array>
        <string>hidutil</string>
        <string>property</string>
        <string>--set</string>
        <string>{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000029}]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
gipset
sumber
Kau telah menyelamatkan hidupku. Saya benci keyboard dengan tombol tilda di sebelah tombol shift pendek dan tombol f * n di §bawah pelarian. Jadi saya memetakannya kembali dengan tombol tilda dan perpanjangan shift. hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000035},{"HIDKeyboardModifierMappingSrc":0x700000035,"HIDKeyboardModifierMappingDst":0x7000000e1}]}'Ngomong-ngomong Anda bisa mendapatkan kode-kode itu menggunakan penampil kunci dari karabiner
DanSkeel
Bagaimana cara saya menjaga akses shift- §jadi saya masih bisa menggunakan ±? Yaitu bisakah saya menggunakan pengubah?
Wivku