Saya ingin mengocok beberapa tombol dengan XKB. (Kenapa? Di laptop di mana beberapa tombol berada dengan nyaman.) Saat ini saya menggunakan xmodmap:
keycode 110 = Prior
keycode 115 = Delete
keycode 112 = Next
keycode 117 = Insert
keycode 119 = End
keycode 118 = Home
Alih-alih, saya ingin menggunakan XKB dan menetapkan nama simbolis yang berbeda untuk kunci fisik tertentu, daripada menetapkan keyyms yang berbeda untuk kode kunci tertentu. ( Inilah sebabnya.) Saya ingin mengirim keycode 110 PGUP
alih-alih HOME
, keycode 115 untuk mengirim DELE
alih-alih END
, dll. Sisa konfigurasi tidak boleh terpengaruh (demikian PGUP
juga untuk tetap mengirim keysym Prior
, dll., Dan semua kunci lainnya tetap ada sebagaimana mereka).
Bagaimana saya bisa mengubah tugas kode kunci tertentu ini? Saya akan memuat file dengan xkbcomp somefile.xkb $DISPLAY
, apa yang harus saya masukkan somefile.xkb
?
sumber
-I
sakelar! Terima kasih, saya tidak dapat menemukan ini dari halaman manual.Anda dapat mulai dengan
setxkbmap -print > somefile.xkb
mendapatkan keymap yang Anda gunakan sebagai basis, dan kemudian mendefinisikan kembali nama-nama kunci yang Anda inginkan dixkb_keycodes
bagian seperti ini:Ini menghasilkan peringatan bahwa beberapa nama kunci diberikan beberapa kali, tetapi ini berfungsi karena hanya yang terakhir yang dihitung (jadi penting untuk menempatkan pengaturan khusus setelah penyertaan). Dan file tersebut memiliki keuntungan dibaca.
Cara lain adalah dengan membuang keymap yang Anda gunakan ke dalam file:
xkbcomp $DISPLAY somefile.xkb
dan memodifikasi baris yang sama (itu adalah keymap yang sama dengan menyertakan dievaluasi). Dengan cara ini tidak ada peringatan untuk banyak definisi, tetapi tidak terlalu mudah dibaca.sumber
evdev+aliases(azerty)
, dll.) Berasal? Saya secara eksplisit ingin melakukan perubahan relatif, bukan konfigurasi ulang penuh. Kunci selain 6 yang tercantum dalam pertanyaan tidak boleh terpengaruh, mereka harus tetap dalam keadaan ketika saya mengeluarkan perintah.setxkbmap -print
, mereka adalah file dari/usr/share/X11/xkb/
. Saya pikir Anda harus memberikan seluruh keymapxkbcomp
tapi saya bisa saja salah ...