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?
sumber
Itu bukan jawaban yang tepat, tetapi apakah Anda sudah mencoba menekan fn+ delete? Ini harus bertindak sebagai Hapus nyata , vs tindakan sebenarnya dari 'backspace' dan sangat dekat dengan tombol daya.
Kiat lain:
fn+ enterbertindak sebagai tombol Sisipkan , jadi Anda harus dapat menekan shift+ fn+ enterdan menempel seperti klik tengah.
sumber
Sulit mengatakannya dengan pasti. Ini mungkin hal-hal yang sudah Anda coba, tetapi mungkin mengarah ke solusi yang mudah.
Apakah xmodmap berfungsi untuk kunci lain, atau adakah sesuatu yang dilakukan fluxbox yang benar-benar menghancurkan xmodmap?
Apa yang terjadi jika Anda mulai x, modmap tombol daya, dan kemudian mulai fluxbox? Apakah pemetaan tetap?
Jika menjalankan xmodmap sebelum fluxbox berfungsi dan mempertahankan pengaturan Anda, Anda dapat menulis skrip shell untuk memanggil keduanya dengan urutan yang benar, atau jika Anda menggunakan gdm, ia seharusnya membaca
~/.xmodmap
atau~/.xmodmaprc
secara otomatis untuk Anda sebelum fluxbox memasuki gambar.sumber