Saya menemukan pertanyaan dengan kata berbeda di AskUbuntu yang memiliki jawaban yang bagus , tetapi saya harus sedikit memodifikasinya untuk bekerja pada sistem saya.
Komentar Per Louis dan Sergi di sana saya datang dengan solusi ini yang bekerja untuk saya di Ubuntu 16.04 (Xenial) dan saya akan membawanya ke sistem Linux lain yang saya gunakan.
Saya menginstal xcape dan memasukkan baris kode berikut ke .profile
file saya di direktori home saya.
METODE DIPERBARUI:
Karena berbagai manajer tampilan (gdm / kdm / sddm / etc) berperilaku aneh dan mengatur ulang setxbmap
setelah menangguhkan / melanjutkan atau mengunci / membuka kunci, saya telah menemukan cara mengatur opsi dengan cara yang mereka warisi dan jangan ' t atur ulang sepanjang waktu. Karena saya menunda dan melanjutkan banyak hal yang saya perlukan untuk memastikan saya tidak mendapatkan banyak salinan xcape
menjalankan yang diselesaikan dalam skrip baru di bawah ini.
Pertama-tama, ubah konfigurasi keyboard dengan sudo gedit /etc/default/keyboard
dan atur XKBOPTIONS="ctrl:nocaps"
, kemudian di ~/.xprofile
baris tunggal Anda di bawah ini.
ps aux | grep -i '[x]cape' && killall -9 xcape; hash xcape 2>&1 >/dev/null && xcape -e 'Control_L=Escape' -t 100 &
Semoga berbagai bagian skrip menghemat waktu / masalah dan mencegah login macet. Pertama memeriksa apakah sudah ada instance berjalan dan membunuhnya, karena satu-satunya yang xcape
dilakukan adalah memetakan Ctrl ke Esc, ini aman, maka hash
bagian memastikan bahwa Anda telah xcape
menginstal jika tidak sistem Anda bisa hang ketika Anda mencoba login karena semua startup skrip diharapkan keluar dengan bersih.
Cara lama:
setxkbmap -option 'caps:ctrl_modifier'; xcape -e '#66=Escape'
Sergiy:
Saya telah menggunakan gnome-tweak-tool untuk memetakan Caps Lock ke Ctrl karena tidak ada tata letak Keyboard di Pengaturan Sistem pada Ubuntu 14.04. Kemudian xcape -e 'Control_L = Escape' tidak berfungsi, tetapi setelah menggunakan xcape -d saya telah menemukan bahwa Caps Lock menghasilkan kode kunci 66 dan memetakannya kembali masing-masing: xcape -e '# 66 = Escape'. - Sergiy Byelozyorov 4 Sep 14 'jam 10:08
Louis:
Sesuai dengan posting blog ini, dimungkinkan untuk melakukan ini dengan xcape saja: setxkbmap -option 'caps: ctrl_modifier'; xcape -e 'Caps_Lock = Escape' setxkbmap -option 'caps: ctrl_modifier'; xcape -e 'Caps_Lock = Escape; Control_L = Escape; Control_R = Escape' - Louis Simoneau 4 Agustus 15 pukul 10:06