Bagaimana cara menggunakan CapsLock sebagai kunci pengubah tanpa mengkonsumsi Alt + Shift keybinding?


18

Saya ingin menggunakan CapsLocksebagai tombol pengubah untuk mengetik simbol seperti ({\})=menggunakan tombol alfabet di keyboard.

Sebagai contoh:

CapsLock+a is mapped to =
CapsLock+k is mapped to \

Untuk melakukan ini, saya memetakan CapsLockke Option+ Shiftmenggunakan Keyremap4Macbook mengikuti instruksi di " A Capslock Key Berguna ".

<item>
    <name>F19 to F19</name>
    <appendix>(F19 (capslock) to (shift+opt))</appendix>
    <identifier>private.f192f19_escape</identifier>
    <not>VIRTUALMACHINE</not>
    <autogen>
        --KeyOverlaidModifier--
        KeyCode::F19,
        KeyCode::OPTION_L,
        ModifierFlag::SHIFT_L,
    </autogen>
</item>

Perhatikan bahwa, sebelum itu saya memetakan CapsLockkode kunci 80 di PcKeyboardHack yang merupakan kode kunci F19.

Lalu saya memetakan kombinasi tombol CapsLock + alphabetical charactersuntuk simbol seperti =\})(menggunakan Ukelele.

Sejauh ini, semuanya berfungsi dengan baik kecuali bahwa ada efek samping dari pengaturan ini: Saya tidak dapat menggunakan Alt+ Shiftpengubah untuk pengikatan kunci lainnya. Ini kompromi yang sangat membatasi.

Saya mencoba memetakan CapsLockke binding kunci yang lebih kompleks seperti Ctrl+ Shift+ Altatau Cmd+ Shift+ Altatau Ctrl+ Cmd+ Shift+ Alt. Tapi ini tidak berfungsi dengan baik karena memetakan CapsLock+ alphabetical keysdi Ukelele juga mengubah kunci alfabet. Misalnya, asumsikan bahwa Ctrl+ Shift+ Alt+ adipetakan ke =. Kemudian asendirian dipetakan =juga.

Saya ingin tahu apakah masalah ini dapat diselesaikan? Saya pikir mungkin ada dua jalur alternatif untuk mencari solusi:

  1. Membuat kunci pengubah kustom baru untuk CapsLocktanpa menggunakan kunci pengubah yang ada seperti Alt+ Shift.
  2. Mencegah pemetaan Ctrl+ Shift+ Alt+ auntuk mengubah akunci secara bersamaan.

Apakah solusi ini mungkin diterapkan?


Saya baru sadar bahwa saya tidak pernah menekan caps lock dengan sengaja ...
Max Ried

2
Kebanyakan orang juga tidak menggunakan caps lock. Tetapi lokasi caps lock jauh lebih mudah diakses daripada kunci pengubah lainnya. Menggunakan kunci baris rumah bersama dengan caps lock untuk mengetik simbol adalah keuntungan produktivitas yang sangat besar.
Mert Nuhoglu

Tidak bisakah Anda melakukan bagian Ukelele tanpa memetakan caps lock terlebih dahulu ke opsi + shift?
Tom Gewecke

Jawaban:


1

Mendapat ini semua dari posting Brett Terpstra yang lebih baru , kreditnya begitu penuh kepadanya.

Menggunakan Karabiner Elements dan BetterTouchTool , Anda dapat membuat kunci "Hyper" yang dipetakan untuk mengontrol-opsi-shift-perintah (yang mungkin tidak akan digunakan oleh aplikasi apa pun sebagai pengubah default). Kemudian Anda dapat menggunakan BetterTouchTool untuk memetakan Cap Locks + "a" to type "=". Mengetik "a" dengan sendirinya masih mendapatkan huruf "a". Anda juga dapat mengaturnya bahwa mengetuk Cap Locks saja berfungsi sebagai tombol pelepas atau bahkan sebagai Caps Lock standar.

Daripada memposting ulang kode Brett di sini, saya akan menautkan ke posting: A Hyper Key dengan Karabiner Elements, instruksi lengkap .

Beberapa tangkapan layar untuk membantu memandu Anda:

Panel Modifikasi Kompleks Elemen Karabiner Setelah menambahkan kode Brett ke karabiner.json, panel Modifikasi Kompleks akan terlihat seperti itu. Tidak perlu melakukan hal lain di sini.

Panel Keyboard dari BetterTouchTool Di BetterTouchTool, beralih ke panel Keyboard , tambahkan pintasan, ketik karakter Caps Lock +, lalu pilih "Sisipkan / Jenis / Tempel Teks Kustom" sebagai Tindakan yang Ditentukan Pemicu.

Masukkan / ketik / rekatkan lembar teks khusus Di lembar Sisipkan / Jenis / Tempel Teks Kustom , ketikkan karakter yang Anda inginkan dan pilih "Sisipkan Teks dengan Mengetik".


Tidak menyadari berapa umur pertanyaan ini. Itu muncul di halaman pertama dari salah satu opsi pengurutan.
Bruce
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.