Saya ingin bertukar Escdan CapsLockdi konsol (bukan di X, dan menggunakan xev
), bagaimana saya bisa melakukannya?
OS saya adalah Ubuntu.
Alat untuk memanipulasi tata letak keyboard pada konsol virtual adalah loadkeys
, dumpkeys
dan showkey
. Baca halaman manual mereka dan beri tahu diri Anda tentang seluk-beluk mereka.
Perhatikan bahwa alat ini hanya bekerja di konsol virtual, bukan di emulator terminal di lingkungan grafis seperti gnome. Pelajari perbedaannya, baca pertanyaan dan jawaban ini: https://askubuntu.com/questions/14284/why-is-a-virtual-terminal-virtual-and-what-why-where-is-the-real-terminal .
Berikut ini panduan singkat untuk melakukan apa yang Anda inginkan:
Simpan tata letak keyboard Anda saat ini:
$ dumpkeys > backup.kmap
Jika terjadi kesalahan, Anda mungkin dapat memulihkan keymap menggunakan perintah:
$ sudo loadkeys backup.kmap
Jika keyboard sangat kacau sehingga Anda bahkan tidak bisa melakukan ini, maka satu-satunya pilihan Anda yang tidak melibatkan sulap kernel kuno adalah reboot.
Periksa kode kunci mana yang ditetapkan untuk kunci Anda:
$ showkey
Sekarang tekan tombol ESC dan tombol CAPSLOCK. Kode kunci harus muncul di layar. Perhatikan kode kunci. Pada sistem saya ESC memiliki kode kunci 1 dan CAPSLOCK memiliki kode kunci 58. showkey
akan berakhir setelah 10 detik tidak aktif (setidaknya itu terjadi di ubuntu 10,04 saya).
Perhatikan nama kunci ESC dan CAPSLOCK dari dumpkeys:
$ dumpkeys | grep 1
...
keycode 1 = Escape
...
$ dumpkeys | grep 58
...
keycode 58 = CtrlL_Lock
...
Perhatikan baris keymap dari dumpkeys:
$ dumpkeys | head -1
keymaps 0-127
Buat file keymap yang mengaktifkan ESC dan CAPSLOCK:
keymaps 0-127
keycode 1 = CtrlL_Lock
keycode 58 = Escape
Muat keymap:
$ sudo loadkeys swap_esc_capslock.kmap
Uji: Menguji kunci CAPSLOCK sudah jelas. Cukup tekan tombol CAPSLOCK mereka dan periksa apakah kunci lain keluar huruf besar. Untuk menguji kunci ESC Anda dapat menggunakan CTRL + V diikuti oleh ESC. Itu harus dicetak ^[
. CTRL + V membuat shell mencetak kunci berikutnya kata demi kata alih-alih menafsirkannya.
Untuk mendapatkan modifikasi ini pada setiap reboot, tulis baris berikut di /etc/rc.local
file Anda :
/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap
Informasi dikumpulkan dari berbagai halaman, termasuk, tetapi tidak terbatas pada:
sudo setupcon --save
untuk membuat perubahan permanen, daripada mengedit rc.local. Itu pada dasarnya sama dengandumpkeys < /dev/tty1 | gzip > /etc/console-setup/cached.kmap.gz
/usr/bin/loadkeys
dalam/etc/rc.local
karena variabel lingkungan jalan tidak dijamin akan ditetapkan pada tahap ini. Dansudo
tidak diperlukan dirc.local
.rc.local
dijalankan setiap kali sistem melakukan boot. @ bukzor inisudo setupcon
adalah tidak dirc.local
, itu adalah satu kali perintah setup, yang menggantikan keymap sistem default, tanpa menambahkan kode runtime startup. Menambahkanloadkeys
untukrc.local
, menambah ekstra start up kode dan duplikat apa yang sudah dilakukan oleh loadkeys sistem default. Therc.local
Metode benar-benar bisa kurang aman karena tergantung pada jalur non-standar untuk keymap tersebut.setupcon
metodenya. Tambahkan jawaban Anda sendiri atau edit jawaban saya jika Anda mau.setupcon
. Tampaknya Agustus membuat asumsi bahwasudo setupcon --save
akan masuk kerc.local
mana saya tidak berpikir itu benar, tetapi jika ya, Anda tidak perlusudo
masukrc.local
. Saya pikir kami perlu info lebih lanjut sebelum memperbarui jawaban Anda. Pertanyaan utamanya adalah "Bagaimana cara menginstal keymap yang dimodifikasi sehingga dapat dimuat secara otomatis selama proses booting?" Saya benar-benar tidak tahu mana cara yang lebih baik,rc.local
atau menginstal keymap, atau bahkan jika menginstal keymap akan berhasil. Saya telah meneliti ini akhir-akhir ini dan saya akan memeriksanya kembali di sini.Gunakan 'ctrl: nocaps' bukan 'ctrl: swapcaps' jika Anda hanya ingin memiliki dua tombol capslocks (capslock dengan nama lain masih sangat tidak berguna).
X11: (lihat juga
/usr/share/X11/xkb/rules/base.lst
:)Konsol teks: (dicuri dari setupcon)
sumber