Saya punya macbook pro yang menjalankan Ubuntu 13.10 dengan FluxBox. Sayangnya, tombol daya secara fisik di atas backspace di mana saya berharap tombol hapus berada. Di OS X, program PowerKey dapat digunakan untuk memetakan ulang tombol daya untuk menghapus. Bagaimana saya bisa melakukan hal serupa di X Windows?
Saya menonaktifkan tombol daya dengan mengedit /etc/systemd/logind.conf
dan mengatur. HandlePowerKey = ignore
Setelah ini, saya dapat menekan tombol daya tanpa mematikan laptop.
Menjalankan xev -event keyboard
mengungkapkan bahwa KeyPress untuk tombol daya biasanya dimakan oleh proses lain:
MappingNotify event, serial 36, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeymapNotify event, serial 36, synthetic NO, window 0x0,
keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
KeymapNotify event, serial 37, synthetic NO, window 0x0,
keys: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Namun dengan hanya menjalankan xterm langsung dari konsol, saya berhasil mendapatkan kode kunci dan memetakan kembali kuncinya.
xinit /usr/bin/xterm -- :1
xev -event keyboard | tee /tmp/junk.txt
tail -n ???? /tmp/junk.txt
MappingNotify event, serial 28, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeyPress event, serial 28, synthetic NO, window 0x600001,
root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 28, synthetic NO, window 0x600001,
root 0xa1, subw 0x0, time 720369, (146,89), root:(148,91),
state 0x0, keycode 124 (keysym 0x1008ff2a, XF86PowerOff), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
MappingNotify event, serial 29, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
Pada titik ini, dimungkinkan juga untuk memetakan kunci menggunakan xmodmap. Saya memetakannya ke backslash yang lebih mudah dilihat daripada menghapus:
xmodmap -e "keycode 124 = backslash bar"
Saya bisa mendapatkan fungsi yang hampir sama untuk dijalankan dengan menambahkan ini, ~/.fluxbox/keys
tetapi ini jelek dan cukup lambat untuk tidak dapat digunakan.
# Remap the power off to a delete key...
XF86PowerOff :Exec xdotool key Delete
Bagaimana saya bisa menggunakan xmodmap atau setxkbmap untuk menggunakan tombol power secara bersamaan dengan window manager normal?