Saya ingin mengubah perilaku Caps Lock di terminal virtual (mis. Tty CtrlAltF3) sehingga berfungsi sebagai pengubah Kontrol. Idealnya, saya juga ingin bertindak sebagai Escape ketika ditekan sendirian, tetapi hanya mendapatkan perilaku Kontrol terbukti sulit.
Saya menjalankan Ubuntu 17.04. Saya telah membaca dan mencoba berbagai pendekatan untuk melakukan perubahan ini, tetapi tampaknya tidak ada yang berlaku untuk sistem saya seperti yang dijelaskan. Saya mendapatkan pengertian bahwa systemd berperan dalam hal ini, tetapi rinciannya tidak jelas.
Saya telah menulis file caps_control.kmap
,, yang memetakan batas untuk mengontrol,
keymaps 0-255
keycode 58 = Control
Jika saya menjalankan loadkeys caps_control.kmap
dari konsol virtual, itu berfungsi. Sekarang saya ingin memuatnya secara otomatis saat boot / login / apa pun ...
Saya menemukan referensi untuk menggunakan /etc/rc.local
untuk melakukannya, tetapi sistem saya tidak memiliki file seperti itu, meskipun tidak memiliki beberapa direktori seperti /etc/rc0.d/
, /etc/rc1.d/
...
Kedengarannya seperti sejak Ubuntu 17 menggunakan sytemd, saya harus menggunakan localectl
untuk mengelola hal semacam ini, tetapi tidak jelas bagi saya bagaimana melakukannya. Sebagai contoh,
$ localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: us
X11 Model: pc105
$ localectl list-keymaps
Couldn't find any console keymaps.
Halaman manual untuk localectl
menyebutkan /etc/locale.conf
dan /etc/vconsole.conf
, tidak ada yang ada di sistem saya.
Saya benar-benar bingung. Adakah yang bisa mengarahkan saya ke arah yang benar?
loadkeys caps_control.kmap
yang akan dieksekusi ketika Anda masuk.loadkeys
dari ~ / .profile sepertinya bermasalah. Ketika saya masuk saya mendapatkan pesan kesalahan yang mengatakan "Tidak bisa mendapatkan deskriptor file yang merujuk ke konsol".Jawaban:
Untuk mengubah Caps Lock menjadi pengubah Ctrl tambahan, yang juga efektif di tty console, terbuka
/etc/default/keyboard
untuk pengeditan dan atur:Jika Anda telah
XKBOPTIONS
menetapkan, tambahkanctrl:nocaps
ke nilai yang ada menggunakan koma untuk pemisah, misalnya:Seharusnya efektif setelah reboot berikutnya atau mengeluarkan
setupcon
perintah.Opsi harus ada saat menjalankan
localectl status
:Dan di sesi X, cara lain untuk memverifikasi bahwa pengaturannya adalah:
sumber
"ctrl:nocaps"
. di X perbedaannya halus: denganctrl
opsi,xev
dan alat-alat lain akan melihatControl_L
simbol ketika tombol CapsLock ditekan, sementaracaps
opsi masih akan menampilkan tombolCaps_Lock
. Saya tidak yakin apakah perbedaan itu akan diterjemahkan keymap konsol virtual.ctrl:nocaps
. Saya menambahkannya ke jawaban saya.caps:ctrl_modifier
) tidak efektif dalam tty. Namun, bagi saya (pada 17.10)ctrl:nocaps
adalah. Silakan lihat jawaban saya yang diedit.ckbcomp
, saya pikir?). Saya tidak ingatcaps:ctrl_modifier
opsi yang pertama kali Anda sebutkan, jadi mencarinya untuk membandingkan dengan yangctrl:nocaps
biasa saya gunakan, dan berpikir perbedaannya mungkin layak disebutkan di sini. senang itu membantu.