Saat ini saya sedang mengatur tata letak keyboard default saya seperti ini:
setxkbmap -layout us -variant dvorak -option ctrl:nocaps,[...]
Ini menonaktifkan tombol caps lock dan menjadikannya tombol ctrl tambahan, bersama dengan segerombolan opsi lain.
Saya ingin melakukan hal berikut untuk mengganti tata letak keyboard:
setxkbmap -layout us -variant dvorak-l -option ctrl:swapcaps
Namun, itu tidak mengaktifkan kembali tombol caps lock; baik tombol kontrol kiri dan kunci caps tetap sebagai tombol kontrol sejauh yang saya bisa lihat.
Saya tahu saya bisa menghapus seluruh daftar opsi, tetapi untuk kepentingan pemeliharaan, saya lebih suka tidak menyalin opsi di sekitar. Bagaimana cara mengaktifkan kembali caps lock?
Pembaruan:
Melihat penekanan tombol dengan xev (1), tampaknya ctrl: nocaps memberi Control_L
untuk kedua tombol, dan ctrl: swapcaps "mengembalikan" tombol caps lock (menekan tombol memberi Caps_Lock
). Namun, LED caps lock tidak menyala dan tidak juga berfungsi.
Melihat xkeyboard-config/symbols/ctrl
file di sumber X.org memberi petunjuk pada masalah:
xkb_symbols "nocaps" {
replace key <CAPS> { [ Control_L, Control_L ] };
modifier_map Control { <CAPS>, <LCTL> };
};
xkb_symbols "swapcaps" {
replace key <CAPS> { [ Control_L ] };
replace key <LCTL> { [ Caps_Lock ] };
};
Opsi terakhir tidak memiliki garis modifier_map, apa pun itu
sumber
Jawaban:
Perintah berikut harus bekerja:
atau
Perintah di atas berfungsi dengan baik untuk mengembalikan perilaku default, yang hampir tidak pernah saya butuhkan, untungnya.
Saya biasanya memetakan ulang capslock ke Control (untungnya VI / VIM mendukung CTRL-C bukan ESC) dengan perintah berikut:
sumber
Mencoba
setxkbmap -option -layout us -variant dvorak-l -option ctrl:swapcaps
Dari halaman manual:
Ironisnya adalah bahwa di sini
-option ctrl:swapcaps
sebenarnya ditimpa-option ctrl:nocaps
- saya kira perilaku berubah.Sunting: Seperti yang dinyatakan OP, dia ingin menghindari mengosongkan opsi (seperti yang dilakukan pada cara di atas).
/usr/share/X11/xkb/rules/xorg.lst
menunjukkan opsictrl:aa_ctrl
(kontrol di kiri bawah), yang tampaknya mengatur ulang caps lock setelah dinocaps
sini.Saya kira ini patut dicoba, dan Anda juga dapat melihat daftar (
grep ctrl\:
) dan melihat apakah ada hal lain yang mungkin berhasil, kalau-kalau yang ini tidak.Jika tidak ada pilihan untuk ini, saya kira solusinya adalah meretas keymap saat ini, dengan mengaitkan Caps Lock dengan tombol Caps Lock lagi (tapi saya tidak punya pengalaman dengan itu, selain percaya ada alat yang memungkinkan Anda untuk melakukan bahwa dengan satu-liner).
sumber
swapcaps
sebenarnya mengaktifkan kembali caps lock di sini), tetapi dari/usr/share/X11/xkb/rules/xorg.lst
, saya melihat ada pilihanctrl:aa_ctrl
(kontrol di kiri bawah), yang tampaknya untuk mengatur ulang caps lock setelah dinocaps
sini.xmodmap
tetapi saya tidak yakin bagaimana menggunakannyaada opsi "caps: capslock" (yang memetakan untuk menambahkan "+ capslock (capslock)" ke xkb_symbols) yang memungkinkan capslock.
Namun, opsi itu (mungkin semua huruf besar: xxxxx?) Ditambahkan sebelum yang ada ctrl: xxxxx yang ada; sebagai ctrl: swapcaps mendefinisikan kembali tombol capslock, opsi itu tidak berpengaruh.
Jadi, Anda benar-benar perlu menghapus semua opsi dan benar-benar meletakkan yang Anda inginkan; cara opsi ada mereka tidak seharusnya membatalkan tindakan yang sebelumnya, dan memiliki opsi yang bertentangan (misalnya, dua (atau lebih) yang mengandung kunci yang sama) Anda tidak dapat menentukan pemesanan mereka.
sumber