xev nên làm việc
Kì lạ, xev của tôi đưa ra một sự kiện KeyPress và KeyRelease cho alt (và cho khóa Windows, ở đây được gọi là "super"):
KeyPress event, serial 40, synthetic NO, window 0xae00001,
root 0x2ca, subw 0x0, time 595467354, (98,77), root:(102,443),
state 0x10, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0xae00001,
root 0x2ca, subw 0x0, time 595467453, (98,77), root:(102,443),
state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Và bên tay phải:
KeyPress event, serial 40, synthetic NO, window 0xae00001,
root 0x2ca, subw 0x0, time 595572876, (75,33), root:(79,399),
state 0x10, keycode 108 (keysym 0xffea, Alt_R), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0xae00001,
root 0x2ca, subw 0x0, time 595572972, (75,33), root:(79,399),
state 0x18, keycode 108 (keysym 0xffea, Alt_R), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Tôi có thể thấy hai khả năng:
- Một cái gì đó khác là hoàn toàn ăn phím, hoặc làm mờ cửa sổ khi bạn nhấn alt. Hãy thử chạy xev trong một máy chủ X trống khác (ví dụ: chỉ cần chạy
xinit -- :1
, nó sẽ giúp bạn có một máy chủ X chỉ với một xterm, thậm chí sẽ không có trình quản lý cửa sổ nào chạy. Thoát khỏi xterm sẽ đóng phiên).
- Bạn vừa bỏ lỡ hai sự kiện trong số lượng lớn mà xev phun ra.
Một cách dễ dàng, nếu bạn biết tên khóa
Một khả năng khác: chỉ cần lấy mã khóa từ xmodmap:
anthony@Zia:~$ xmodmap -pk | grep -i alt
64 0xffe9 (Alt_L) 0xffe7 (Meta_L) 0xffe9 (Alt_L) 0xffe7 (Meta_L)
108 0xffea (Alt_R) 0xffe8 (Meta_R) 0xffea (Alt_R) 0xffe8 (Meta_R)
204 0x0000 (NoSymbol) 0xffe9 (Alt_L) 0x0000 (NoSymbol) 0xffe9 (Alt_L)
anthony@Zia:~$ xmodmap -pk | grep -i super
133 0xffeb (Super_L) 0x0000 (NoSymbol) 0xffeb (Super_L)
134 0xffec (Super_R) 0x0000 (NoSymbol) 0xffec (Super_R)
206 0x0000 (NoSymbol) 0xffeb (Super_L) 0x0000 (NoSymbol) 0xffeb (Super_L)
Có 64 và 108 một lần nữa. xmodmap -pm
sẽ chỉ cho bạn bản đồ sửa đổi, cũng cung cấp cho bạn các số (mặc dù, lần này, ở dạng hex).