KeyZen, mesin pemetaan ulang tombol berbasis layer
(github.com/Seungchan0325)Penjelasan
KeyZen adalah mesin pemetaan ulang tombol berbasis layer yang cepat dan menggunakan sedikit sumber daya.
- Menggunakan layer keyboard berbasis stack.
- Mendukung eksekusi cepat saat login, hingga tingkat langsung berjalan begitu login.
- Anda dapat mengatur bagaimana pemetaan ulang dilakukan melalui file YAML.
Untuk cara konfigurasi yang lebih detail, lihat panduan konfigurasi.
Situasi ketika KeyZen berguna
Jika saat menggunakan keyboard Anda merasa tombol arah terlalu jauh dari tombol acuan seperti F dan J sehingga alur kerja terputus, coba petakan Capslock + H, J, K, L menjadi Left, Down, Up, Right.
Coba petakan kata sebelumnya (Ctrl + Left), kata berikutnya (Ctrl + Right), awal kalimat (Home), dan akhir kalimat (End) masing-masing ke W, E, P, O. Situasi ketika tangan harus berpindah ke mouse akan berkurang.
Alasan pembuatannya
Banyak orang akan setuju bahwa capslock berada di posisi yang terlalu nyaman dibanding frekuensi penggunaannya. Karena itu saya mencari berbagai cara agar kombinasi dengan tombol capslock bisa menghasilkan perilaku mirip vim. Awalnya saya menggunakan autohotkey untuk tujuan ini, tetapi ada beberapa masalah.
- Ada masalah di mana status tombol
capslocktidak tersinkronisasi dengan benar. Mungkin hasilnya bisa berbeda tergantung bagaimana kodenya ditulis, tetapi dalam kasus saya ada beberapa situasi di manacapslockterdeteksi seolah-olah ditekan padahal saya tidak menekannya, sehingga saya harus menekancapslockberkali-kali. - Saya memanfaatkannya dengan menaruh eksekusi saat login di folder startup, tetapi dalam kasus ini ada masalah bahwa program baru berjalan beberapa menit setelah komputer dinyalakan.
Sebagai alternatif saya juga mencari proyek seperti kanata, tetapi dalam kasus kanata fiturnya terlalu luas, menggunakan sumber daya CPU lebih banyak dari perkiraan, dan tidak mendukung eksekusi saat login. (Memang bisa juga diletakkan di folder startup seperti metode autohotkey, tetapi masalah yang sama tetap terjadi.)
Selain itu, Keyboard Manager dari PowerToys memiliki masalah bahwa dalam situasi Capslock + H = Left Arrow, Capslock harus ditekan bersama pada setiap input.
Karena itu saya membuat KeyZen dengan tujuan penggunaan sumber daya yang rendah, konfigurasi yang sederhana, dan eksekusi cepat saat login.
Cerita teknis
Sebagian besar kode ditulis menggunakan Codex. Setelah melakukan riset awal sekitar 10 hari, saya mulai mengembangkan dengan Codex dan terkejut karena selesai hanya dalam satu hari.
Diimplementasikan dengan Rust, dan memasang keyboard hook melalui Windows API. Saya sempat mempertimbangkan apakah akan memasang keyboard hook di level pengguna atau mengimplementasikannya melalui driver, tetapi akhirnya memilih menggunakan pemasangan keyboard hook. Keyboard hook memang memiliki masalah tidak bekerja pada program seperti Task Manager, tetapi saya merasa menyentuh sisi driver bisa sedikit berisiko.
Belum ada komentar.