ฉันมี macbook pro ที่ใช้ Ubuntu 13.10 กับ FluxBox น่าเสียดายที่ปุ่มเปิดปิดอยู่เหนือ Backspace ซึ่งฉันคาดว่าจะมีปุ่มลบอยู่ใน OS X โปรแกรม PowerKeyสามารถใช้เพื่อทำการแมปปุ่มเปิดปิดใหม่เพื่อลบ ฉันจะทำสิ่งที่คล้ายกันใน X Windows ได้อย่างไร
ฉันปิดการใช้งานปุ่มเปิดปิดโดยการแก้ไข/etc/systemd/logind.conf
และการตั้งค่าHandlePowerKey = ignore
ปุ่มเปิดปิดหลังจากนี้ฉันสามารถกดปุ่มเปิดปิดโดยไม่ต้องปิดแล็ปท็อป
การเรียกใช้xev -event keyboard
แสดงให้เห็นว่า KeyPress สำหรับปุ่มเปิด / ปิดเครื่องกำลังถูกกินโดยกระบวนการอื่น:
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
อย่างไรก็ตามโดยการเรียกใช้ xterm โดยตรงจากคอนโซลฉันสามารถรับรหัสและทำการแมปคีย์ได้สำเร็จ
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
ณ จุดนี้มันเป็นไปได้ที่จะแมปกุญแจโดยใช้ xmodmap ฉันแมปไปที่แบ็กสแลชซึ่งดูง่ายกว่าลบ:
xmodmap -e "keycode 124 = backslash bar"
ฉันสามารถรับฟังก์ชั่นที่เทียบเท่ากับการทำงานแทบจะไม่ได้โดยการเพิ่มสิ่งนี้ลงไป~/.fluxbox/keys
แต่มันน่าเกลียดและช้าพอที่จะใช้ไม่ได้
# Remap the power off to a delete key...
XF86PowerOff :Exec xdotool key Delete
ฉันจะใช้ xmodmap หรือ setxkbmap เพื่อใช้ปุ่มเปิดปิดพร้อมกันกับโปรแกรมจัดการหน้าต่างปกติได้อย่างไร