Pertama, kabar baiknya
Konsol sistem Linux benar-benar memiliki kumpulan pemetaan keyboardnya sendiri, yang dapat dikelola menggunakan alat dari kbd
paket, khususnya dumpkeys
dan showkey
untuk penemuan dan loadkeys
untuk memuat dalam pemetaan yang disesuaikan. Pertanyaan SuperUser Bagaimana cara mengubah keymap konsol di Linux? memiliki jawaban dengan informasi bagus tentang cara menggunakan alat ini.
Sekarang, berita buruknya
Meskipun benar bahwa alat tersebut akan memungkinkan Anda untuk memetakan ulang kunci di konsol Linux, tanpa melibatkan xmodmap
atau mengharuskan X berjalan, mereka hanya mempengaruhi keymappings pada konsol teks virtual. Perubahan tersebut sama sekali tidak akan berpengaruh pada lingkungan grafis, karena sistem XInput/evdev X membaca dari perangkat input secara langsung dan melakukan pemrosesannya sendiri.
Jadi, jika Anda berharap untuk menghindari penggunaan xmodmap
dengan hanya memetakan ulang di konsol dan menerapkannya di mana-mana, saya khawatir itu tidak akan berhasil. Nyatanya, Anda perlu memetakan ulang keduanya konsol (menggunakan loadkeys
) dan X11 (menggunakan metode seperti xmodmap
), untuk menggunakan tata letak keyboard yang sama di mana saja.
Solusi untuk xmodmap
kelambatan (dan bug, karena pemetaan ulangnya bermasalah dan tidak bertahan lama di lingkungan desktop yang menggunakan pengalihan tata letak) adalah untuk mendefinisikan yang sepenuhnya baru tata letak keyboard berdasarkan tata letak apa pun yang Anda gunakan sebelumnya, daripada menerapkan modifikasi runtime. Pada startup X, Anda akan memuat tata letak baru yang dipetakan ulang itu alih-alih apa pun yang Anda gunakan sekarang. (Sepertinya ini adalah satu-satunya sekarang cara yang andal untuk memodifikasi tata letak keyboard di Ubuntu baru-baru ini — dan mungkin distro lain — sebagai xmodmap
mereka tidak lagi berguna.)
Untuk informasi tentang mendefinisikan dan menggunakan xkb
khusus tata letak keyboard, lihat:
- Cara:Definisi tata letak keyboard ubahsuaian di Wiki Komunitas Ubuntu.
- Cara memodifikasi tata letak keyboard di Linux, entri blog oleh Romano Giannetti.
Keduanya ditulis tahun ini (2014), jadi informasinya harus terkini. Informasi wiki Ubuntu harus dapat diterapkan pada distro apa pun, sebagian besar, karena semuanya menggunakan xkb
sistem di X.
Sebenarnya ada cara untuk memetakan ulang pada tingkat yang cukup rendah untuk diterapkan ke seluruh sistem, X11 atau tidak, dan mereka menjadi lebih penting dari sebelumnya karena kita melihat penggunaan kompositor Wayland yang lalai untuk mengekspos UI untuk pemetaan ulang libinput dukungan.
Anda pada dasarnya perlu mengonfigurasi ulang bagaimana lapisan masukan kernel menerjemahkan kode pindaian mentah menjadi kode kunci sebelum mencapai konsol atau API evdev tempat X11 dan Wayland berada di atasnya.
Saya mengetahui dua cara untuk melakukannya:
-
Ubah basis data perangkat keras (
hwdb
) untuk keyboard Anda. udev memungkinkan Anda melakukannya dengan menambahkan file aturan ke/etc/udev/hwdb.d/
dan memicu pembangunan kembali basis data dengansystemd-hwdb update
, lalu memaksanya untuk diterapkan tanpa memulai ulang melaluiudevadm trigger
.Halaman ArchiWiki ini memiliki petunjuk lengkap dan secara eksplisit mengatakan bahwa ini akan berfungsi baik untuk input X11 maupun konsol.
-
Ada daemon bernama evdevremapkeys yang secara khusus ditulis untuk memetakan ulang peristiwa penting pada perangkat evdev untuk mendukung pemetaan ulang monkey-patch ke klien evdev yang tidak mendukungnya, seperti penyusun Wayland.
Ini pada dasarnya menggunakan pendekatan yang sama dengan driver userspace seperti G15Daemon yang perlu mengkompensasi perangkat input non-standar. (Buka perangkat evdev, telusuri peristiwa apa pun yang ingin dipetakan ulang, sehingga tidak ada orang lain yang mendengarkan di perangkat yang dapat melihatnya, lalu pancarkan peristiwa yang telah diperbaiki melalui
uinput
API untuk membuat perangkat input level kernel dari userspace.)