Tôi có macbook pro chạy Ubuntu 13.10 với FluxBox. Thật không may, nút nguồn nằm phía trên không gian phía sau nơi tôi mong đợi phím xóa sẽ xuất hiện. Trong OS X, chương trình PowerKey có thể được sử dụng để ánh xạ lại phím nguồn để xóa. Làm thế nào tôi có thể làm một cái gì đó tương tự trong X Windows?
Tôi đã tắt phím nguồn bằng cách chỉnh sửa /etc/systemd/logind.conf
và cài đặt HandlePowerKey = ignore
Sau đó, tôi có thể nhấn nút nguồn mà không cần tắt máy tính xách tay.
Chạy xev -event keyboard
cho thấy KeyPress cho phím nguồn thường bị ăn bởi một quy trình khác:
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
Tuy nhiên, chỉ bằng cách chạy xterm trực tiếp từ bảng điều khiển, tôi đã có thể lấy mã khóa thành công và ánh xạ lại khóa.
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
Tại thời điểm này, cũng có thể ánh xạ khóa bằng xmodmap. Tôi đã ánh xạ nó tới dấu gạch chéo ngược dễ nhìn hơn xóa:
xmodmap -e "keycode 124 = backslash bar"
Tôi có thể có được một chức năng gần như tương đương để chạy bằng cách thêm cái này vào ~/.fluxbox/keys
nhưng cái này vừa xấu vừa đủ chậm để không thể sử dụng được.
# Remap the power off to a delete key...
XF86PowerOff :Exec xdotool key Delete
Làm cách nào tôi có thể sử dụng xmodmap hoặc setxkbmap để sử dụng nút nguồn cùng lúc với trình quản lý cửa sổ bình thường?