Saya memiliki program X11 yang mengambil caps-lock, dan menggunakannya. Masalahnya adalah, saya ingin menonaktifkan toggling caps-lock biasa, tetapi melakukannya tampaknya menonaktifkan kunci.
Jadi, apa pun yang diperoleh X11 untuk penekanan tombol caps-lock, ia masih harus mendapatkan (tidak menonaktifkan kunci, atau memetakannya kembali ke beberapa tombol lain), tetapi tanpa apa pun menerjemahkan penekanan tombol menjadi caps-toggle (yang mungkin berada pada level kernel? ).
Saya mencoba mengubah scancode, tetapi ini hanya memetakan kembali kuncinya. Saya juga sudah menghapus entri capslock xmodmap
, tetapi ini juga menonaktifkan caps.
Bagaimana saya bisa memberitahu kernel untuk mengabaikan caps-key (wrt fungsionalitas regulernya), tetapi masih meneruskan pesan ke X?
Hanya untuk menambahkan sedikit lebih detail:
'Program' yang saya coba jalankan adalah 'enso' yang dimanusiakan. Ketika tidak ada kunci saya mendapatkan kesalahan "KRITIS: root: Tidak dapat menemukan kunci quasimode". Ketika tidak ada kesalahan, saya bisa menggunakan enso dengan caps, tetapi sofar belum menemukan cara untuk menonaktifkan fungsi caps sementara enso masih bisa mendapatkannya.
setxkbmap -option ctrl:nocaps
memetakan kembaliControl_L
, misalnya.Jawaban:
Saya pikir saya memiliki teknik untuk menonaktifkan toggling Capslocktombol tetapi tidak sepenuhnya menonaktifkan kunci bersama-sama, atau memetakannya kembali ke tombol lain pada keyboard.
Jika Anda menggunakan perintah:
Keyboard tidak akan lagi berganti. Saya sudah mengkonfirmasi ini pada laptop saya yang menjalankan Fedora 14, LED tidak lagi menyala, dan Capslockfungsi normal hilang.
Namun menggunakan xev masih menunjukkan bahwa tombol sedang ditekan:
Jadi tombol yang ditekan acara masih dibiarkan utuh untuk aplikasi lain untuk mengambilnya.
setxkbmap
File tersebut
/usr/share/X11/xkb/rules/xorg.lst
berisi daftar lengkap opsi apa yang dapat Anda berikansetxkbmap
.Melihat melalui file ini untuk "cap" saya perhatikan baris ini:
Ada nilai-nilai lain dalam file ini jadi jika ini bukan apa yang Anda cari, mungkin salah satu dari nilai-nilai alternatif itu cocok.
Referensi
sumber
setxkbmap -option ""
.Jika Anda tidak ingin Caps Lockkunci memiliki efek seperti biasanya, Anda dapat mematikan
Lock
pengubah, sambil mempertahankanCaps_Lock
kunci.sumber
Ini sangat mirip dengan jawaban yang saya berikan untuk pertanyaan lain . Cuplikan kode xkb ini harus melakukan trik.
sumber