Bagaimana cara mengubah kombinasi tombol tanpa menggunakan Karabiner?

1

Saya telah menggunakan Karabiner untuk mengubah kombinasi tombol tetapi masalahnya adalah, itu tidak bekerja persis seperti yang saya inginkan.

Misalnya, menggunakan Karabiner, saya telah memetakan altke cmddan sebaliknya. Tapi yang dilakukan Karabiner adalah, "trik" OS untuk membuatnya berpikir bahwa saya telah menekan alt, setiap kali saya menekan cmd.

Ini bukan perilaku yang saya inginkan. Perilaku yang saya inginkan adalah, setiap kali saya menekan cmd <-, saya ingin sistem berpikir bahwa saya memang menekan cmd, tetapi alih-alih memindahkan kursor ke awal baris, saya ingin memindahkannya ke kata sebelumnya.

Dimungkinkan untuk melakukan ini mungkin mengacaukan beberapa file sistem dan lainnya?

Utku
sumber
Hmm Anda dapat membatasi solusi yang saya tawarkan dalam pertanyaan terkait untuk aplikasi tertentu.
klanomath
@ Klanomath Itu mungkin berhasil, meskipun tidak terlalu praktis. Perilaku yang saya inginkan adalah, saya ingin cmd <- bertindak sebagai Ctrl <- dari keyboard PC. Itu adalah; buat kursor bergerak ke kata sebelumnya. ...
Utku
@klanomath ... Perhatikan bahwa saya berbicara tentang kursor karena saya ingin perilaku ini hanya terjadi pada bidang teks. Alasannya, misalnya saya menggunakan pintasan cmd <- sebagai "Tampilkan Tab Sebelumnya" di Safari.
Utku
@klanomath Saya merasa seperti harus ada keajaiban untuk melakukannya dengan mengacaukan beberapa file sistem dan hal-hal tetapi masalahnya adalah, saya tidak tahu bagaimana melakukannya atau apakah itu benar-benar mungkin.
Utku
Mungkin Anda memang harus meretas beberapa kerangka kerja (yang mungkin ditimpa oleh pembaruan sistem berikutnya). Apakah Anda memerlukan solusi di setiap aplikasi. Saya pikir aplikasi yang paling bermasalah adalah browser karena mereka dapat menawarkan bidang teks serta navigasi tab / jendela dengan pintasan tersebut
klanomath

Jawaban:

1

Anda dapat mengubah binding pengeditan teks untuk aplikasi Cocoa dengan DefaultKeyBinding.dict. Ini akan berfungsi untuk hampir semua aplikasi tempat ⌘ command+ ← leftdan ⌘ command+ → rightbekerja sebelumnya. (Satu-satunya cara itu tidak akan berhasil adalah jika pembuat aplikasi menerapkan kembali pintasan dari awal, yang diragukan karena akan jauh lebih mudah untuk hanya menggunakan versi yang datang gratis dengan bidang teks.)

  1. Jika direktori ~/Library/KeyBindings/tidak ada, buatlah.

  2. Buat file DefaultKeyBinding.dictdi direktori itu dengan konten seperti ini:

    {
        "@\Uf702" = moveWordBackward:;
        "@\Uf703" = moveWordForward:;
        "~\Uf702" = moveToBeginningOfLine:;
        "~\Uf703" = moveToEndOfLine:;
    }
    

    The @mengacu pada tombol Command, ~adalah Option, \Uf702Left, dan \Uf703yang Tepat. Selektor di sebelah kanan adalah yang sama yang digunakan dalam file default /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict,, tetapi beralih untuk mencocokkan apa yang Anda katakan dalam pertanyaan Anda.

  3. Mulai ulang aplikasi agar perubahan diterapkan di dalamnya.

Berikut adalah panduan mendalam untuk Sistem Teks Kakao yang seharusnya membantu menjelaskan apa yang terjadi .

0942v8653
sumber
Terima kasih. Bisakah Anda juga memposting beberapa tautan sehingga saya akan mengerti apa yang sebenarnya saya lakukan dengan melakukan ini dan memahami cara kerjanya?
Utku
1
@Utku: Diedit. Semoga itu bisa membantu.
0942v8653
1
@Utku Pengembang Apple
klanomath
1
@ Utku: Tidak ada cara nyata untuk mengatakan kecuali untuk mencobanya. Secara umum, aplikasi apa pun yang khusus Mac atau buatan asli harus menggunakan Cocoa Text System, dan aplikasi apa pun yang menggunakan GTK + atau Qt tidak boleh. Saya tidak berpikir bahwa Firefox menggunakannya (ini adalah GTK +) tetapi ia harus memiliki semacam solusi untuk membuat DefaultKeyBinding.dict berfungsi.
0942v8653
1
@ Utku: Saya tidak begitu tahu. Saya akan mengatakan bahwa itu mungkin menggunakan Cocoa Text System tetapi mengabaikan pintasan untuk bilah alamat (Ini tidak menonaktifkannya sepenuhnya — saya tidak memiliki pengaturan untuk bernavigasi maju dan mundur dalam sejarah dan binding pengeditan masih bekerja untuk saya. ).
0942v8653