Apakah mungkin untuk menukar Kiri Shift dan CTRL Kiri kunci menggunakan setxkbmap
bukannya xmodmap
?
EDIT
Saya telah beralih ke Fcitx, yang bekerja jauh lebih baik dengan tata letak keyboard saya dan keymap yang disesuaikan daripada IBus dalam segala hal. Saya sangat merekomendasikannya.
Jawaban yang Diterima:
xmodmap
sudah usang; jadi memang harus dilakukan dengan xkb
alat.
Swap yang Anda inginkan tampaknya tidak disertakan secara default dengan file X11; jadi Anda harus menulisnya sendiri.
Halaman https://web.archive.org/web/20170825051821/http://madduck.net/docs/extending-xkb/ membantu saya memahami dan menemukan cara untuk melakukannya.
Buat file ~/.xkb/keymap/mykbd
di mana Anda meletakkan output setxkbmap
, itu akan menjadi definisi keyboard dasar Anda; misalnya:
setxkbmap -print > ~/.xkb/keymap/mykbd
kemudian, buat file simbol untuk menentukan pertukaran kunci Anda, letakkan misalnya di ~/.xkb/symbols/myswap
di sana, letakkan baris berikut:
partial modifier_keys
xkb_symbols "swap_l_shift_ctrl" {
replace key <LCTL> { [ Shift_L ] };
replace key <LFSH> { [ Control_L ] };
};
lalu, edit ~/.xkb/keymap/mykbd
file, dan ubah xkb_symbols
baris untuk ditambahkan
+myswap(swap_l_shift_ctrl)
akhirnya, Anda dapat memuatnya dengan xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY
(Anda tidak dapat menggunakan “~” untuk -I
parameter).
Ini mungkin akan mengeluarkan banyak peringatan tentang simbol yang tidak ditentukan untuk beberapa kunci langka, tetapi Anda dapat mengabaikannya (mis., kesalahan pengalihan ke dave:2> /dev/null
).
Jika Anda ingin dapat dengan mudah menukar antara normal dan ctrl/shift terbalik Anda; cukup buat di bawah ~/.xkb/keymap/
file lain, tanpa opsi “myswap” tambahan, dan muat dengan xkbcomp
. Anda dapat membuat dua skrip kecil untuk memuatnya.