Saya memiliki keyboard Apple dan saya harus melakukan pemetaan ulang tombol untuk membuat mod-4
kunci menjadi tombol pertama di sebelah kiri Spacebilah ketika bekerja dengan Emacs. Script di bawah ini bekerja dengan baik ketika saya menggunakan window manager DWM, tetapi setelah beralih ke Openbox saya menemukan bahwa alih-alih menukar kode kunci antara opsi dan kunci perintah, kedua tombol melakukan hal yang sama.
Satu hal aneh yang saya perhatikan, ada pada pengaturan baru ketika saya klik jalankan showkey
dan tekan opsi dan tombol perintah saya mendapatkan masing-masing 56 dan 125, tetapi tombol-tombol ini tidak berfungsi sama sekali ketika memasukkannya ke dalam skrip di bawah ini daripada 64 dan 133.
Saya harus mengakui bahwa saya membuat skrip di bawah ini dengan terus-menerus mengubah skrip hingga berfungsi sehingga ada cara yang lebih baik untuk melakukannya.
.xmodmap
# switch alt and command...the switch is not being done properly
xmodmap -e "keycode 64 = Alt_L"
xmodmap -e "keycode 133 = Meta_L"
# remap of mod 4
xmodmap -e "clear Mod4"
xmodmap -e "add Mod4 = Super_L"
Memperbarui
Saya terbiasa dengan pengaturan keyboard sebelumnya dan menyerah mencoba untuk men-tweak itu. Sayangnya, setelah restart baru-baru ini CapsLockuntuk Ctrltidak lagi berfungsi jadi saya di sini lagi.
Kali ini alih-alih pemetaan yang digunakan di atas, saya malah menjalankan xmodmap -pke > ~/.xmod
dan mengubah tombol di sana (yang jauh lebih mudah).
Namun, hal-hal masih belum sepenuhnya benar. The CapsLockfungsi masih seperti biasa kecuali jika xev
perintah dijalankan, maka ia mengembalikan berikut yang tidak tampaknya menunjukkan pemetaan yang benar:
# caplock
KeyRelease event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4858000, (57,-31), root:(426,402),
state 0x2, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
XKeysymToKeycode returns keycode: 37
XLookupString gives 0 bytes:
XFilterEvent returns: False
# ctrl-L
KeyRelease event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4805947, (686,148), root:(1055,581),
state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
# Alt-L
KeyPress event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4555825, (-158,-649), root:(959,133),
state 0x0, keycode 64 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
# Super-L
KeyRelease event, serial 40, synthetic NO, window 0x2200001,
root 0x156, subw 0x0, time 4920564, (-63,169), root:(306,602),
state 0x40, keycode 133 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
~/.config/openbox/rc.xml
isu tersebut.
showkey
tidak menunjukkan kode kunci yang sama dengan yang digunakan X. Jalankanxev
untuk melihat kode kunci X dan tindakannya. Tunjukkan pada kami outputxmodmap -pm
dan outputxev
ketika Anda menekan setiap tombol yang terlibat.