Linux tidak memiliki solusi pemetaan ulang kunci yang baik. Untuk mencapai hasil yang memuaskan, berbagai alat perlu digunakan (misalnya xcape, xmodmap) dengan hasil akhir sering kali ditambatkan ke lingkungan tertentu (X11). keyd mencoba memecahkan masalah ini dengan menyediakan daemon seluruh sistem yang fleksibel yang memetakan ulang kunci menggunakan input primitif tingkat kernel (evdev, uinput).
Format konfigurasi telah mengalami beberapa iterasi sejak rilis pertama. Bagi mereka yang memigrasikan konfigurasinya dari v1, sebaiknya baca ulang halaman manualnya.
Lihat juga: log perubahan.
keyd memiliki beberapa fitur unik yang banyak di antaranya biasanya hanya ditemukan di firmware keyboard khusus seperti QMK serta beberapa fitur unik untuk keyd.
Beberapa yang lebih menarik meliputi:
C-1
tanpa merusak semantik pengubah.Catatan: master berfungsi sebagai cabang pengembangan, terkadang ada hal-hal yang terputus di antara rilis. Rilis diberi tag, dan harus dianggap stabil.
git clone https://github.com/rvaiya/keyd
cd keyd
make && sudo make install
sudo systemctl enable keyd && sudo systemctl start keyd
Instal dan mulai keyd (misalnya sudo systemctl enable keyd
)
Masukkan yang berikut ini ke dalam /etc/keyd/default.conf
:
[ids]
*
[main]
# Maps capslock to escape when pressed and control when held.
capslock = overload(control, esc)
# Remaps the escape key to capslock
esc = capslock
Nama kunci dapat diperoleh dengan menggunakan perintah keyd monitor
. Perhatikan bahwa saat keyd berjalan, keluaran dari perintah ini akan sesuai dengan keluaran keyd. Peristiwa masukan asli dapat dilihat dengan menghentikan keyd terlebih dahulu, lalu menjalankan perintah. Lihat halaman manual untuk lebih jelasnya.
Jalankan sudo keyd reload
untuk memuat ulang set konfigurasi.
Lihat halaman manual ( man keyd
) untuk penjelasan lebih lengkap.
Kesalahan konfigurasi akan muncul di keluaran log dan dapat diakses dengan cara biasa menggunakan manajer layanan sistem Anda (misalnya sudo journalctl -eu keyd
).
Catatan : Mesin Anda mungkin tidak dapat digunakan karena file konfigurasi yang buruk. Jika Anda berada dalam posisi ini, rangkaian kunci khusus backspace+escape+enter
akan menyebabkan keyd berhenti.
Beberapa mouse (misalnya Logitech MX Master) mampu mengeluarkan kunci dan karenanya dicocokkan dengan id wildcard. Mungkin perlu secara eksplisit memasukkan hal-hal tersebut ke dalam daftar hitam.
Tambahkan diri Anda ke grup keyd:
usermod -aG keyd <user>
Isi ~/.config/keyd/app.conf
:
MISALNYA
[alacritty]
alt.] = macro(C-g n)
alt.[ = macro(C-g p)
[chromium]
alt.[ = C-S-tab
alt.] = macro(C-tab)
Berlari:
keyd-application-mapper
Anda mungkin ingin meletakkan keyd-application-mapper -d
di suatu tempat dalam logika inisialisasi server tampilan Anda (misalnya ~/.xinitrc) kecuali Anda menjalankan Gnome.
Lihat halaman manual untuk lebih jelasnya.
Dukungan eksperimental untuk komputer papan tunggal (SBC) melalui gadget usb telah ditambahkan atas izin Giorgi Chavchanidze.
Lihat usb-gadget.md untuk detailnya.
Paket pihak ketiga untuk beberapa distribusi juga ada. Jika Anda ingin menambahkan milik Anda ke dalam daftar, silakan ajukan PR. Ini dikelola dengan baik oleh anggota komunitas, tidak ada tanggung jawab pribadi yang diambil untuk mereka.
paket keyd dikelola oleh @jirutka.
Paket Arch Linux dikelola oleh pembuat paket Arch.
Paket keyd
eksperimental dan keyd-application-mapper
dapat ditemukan di artefak build CI dari repositori paket Debian yang sedang dalam proses:
Setiap Pengembang Debian yang bersedia meninjau upaya debianisasi dan mensponsori pengunggahannya disarankan untuk menghubungi @rhansen (lihat juga bug Debian ITP).
Paket COPR dikelola oleh @alternateved.
paket opensuse dikelola oleh @bubbleguuum.
Instal mudah dengan sudo zypper in keyd
.
Paket keyd
eksperimental dan keyd-application-mapper
dapat ditemukan di arsip ppa:keyd-team/ppa
.
Jika Anda ingin membantu menjaga PPA ini, silakan hubungi @rhansen.
[ids]
*
[main]
leftshift = oneshot(shift)
capslock = overload(symbols, esc)
[symbols]
d = ~
f = /
...
Banyak pengguna mungkin tidak tertarik untuk memanfaatkan keyd sepenuhnya. Bagi mereka yang mencari peningkatan kualitas hidup yang sederhana, saya dapat merekomendasikan konfigurasi berikut:
[ids]
*
[main]
shift = oneshot(shift)
meta = oneshot(meta)
control = oneshot(control)
leftalt = oneshot(alt)
rightalt = oneshot(altgr)
capslock = overload(control, esc)
insert = S-insert
Hal ini membebani tombol capslock agar berfungsi sebagai escape (saat diketuk) dan kontrol (saat ditahan) dan memetakan ulang semua pengubah ke tombol 'oneshot'. Jadi untuk menghasilkan huruf A Anda sekarang cukup mengetuk shift lalu a daripada harus menahannya. Terakhir dipetakan ulang insert ke S-insert (paste di X11).
xmodmap dan teman-temannya adalah alat tampilan tingkat server dengan fungsionalitas terbatas. keyd adalah solusi tingkat sistem yang mengimplementasikan fitur-fitur canggih seperti pengubah layering dan oneshot. Meskipun beberapa alat X menawarkan fungsionalitas serupa, saya tidak mengetahui apa pun yang sefleksibel keyd.
keyd ditulis beberapa tahun yang lalu untuk memungkinkan saya bereksperimen dengan mudah dengan berbagai tata letak pada koleksi keyboard saya yang terus bertambah. Pada saat itu kmonad belum ada dan firmware keyboard khusus seperti QMK (yang menginspirasi keyd) adalah satu-satunya cara untuk mendapatkan fitur yang sebanding. Saya mengetahui kmonad setelah menerbitkan keyd. Meskipun kmonad adalah proyek bagus dengan tujuan serupa, namun dibutuhkan pendekatan berbeda dan filosofi desain berbeda.
Khususnya keyd ditulis seluruhnya dalam C dengan mempertimbangkan kinerja dan kesederhanaan dan kemungkinan besar tidak akan pernah dapat dikonfigurasi seperti kmonad (yang dapat dikembangkan di Haskell). Karena itu, ia menyediakan (menurut pendapat penulis) fitur paling berharga dalam kurang dari 2000 baris C sambil menyediakan format konfigurasi agnostik bahasa sederhana.
Jika Anda merasa ada sesuatu yang hilang atau menemukan bug, Anda dipersilakan untuk mengajukan masalah di github. keyd memiliki filosofi desain minimalis (tapi waras) yang dengan sengaja menghilangkan fitur-fitur tertentu (misalnya mengeksekusi executable sewenang-wenang sebagai root). Hal-hal yang sudah ada di firmware keyboard khusus seperti QMK adalah kandidat yang baik untuk dimasukkan.
Lihat KONTRIBUSI. Saluran IRC: #keyd di oftc