在我的 Thinkpad 笔记本电脑上,我可以轻松地将后退/前进键更改为其他键(我通常将它们映射到 PageDown/PageUp),因为它们有自己的键码(166 和 167):
xmodmap -e 'keycode 166=Prior'
xmodmap -e 'keycode 167=Next'
但是,在我的 Thinkpad USB 键盘上,后退/前进键似乎分别硬映射到 Alt+Left 和 Alt+Right,所以我无法使用 xmodmap 重新映射它们。还有其他方法可以重新映射它们吗?我已经尝试过 xautomation,但没有用。
当我按下“前进”键时,“xev”显示的内容如下:
KeyPress event, serial 36, synthetic NO, window 0x4e00001,
root 0xb4, subw 0x0, time 65023191, (16,-20), root:(641,33),
state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyPress event, serial 36, synthetic NO, window 0x4e00001,
root 0xb4, subw 0x0, time 65023191, (16,-20), root:(641,33),
state 0x8, keycode 114 (keysym 0xff53, Right), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4e00001,
root 0xb4, subw 0x0, time 65023271, (16,-20), root:(641,33),
state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4e00001,
root 0xb4, subw 0x0, time 65023271, (16,-20), root:(641,33),
state 0x0, keycode 114 (keysym 0xff53, Right), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
答案1
- 安装工具
- 为要运行的按键命令创建脚本或 shell 别名 (
xdotool key --clearmodifiers Page_Down
) - 将该脚本/别名绑定到桌面环境的热键/快捷键配置中发送的组合(Alt + Left)。
请注意,在 gnome-control-center 中似乎无法分配后退/前进按钮USB 键盘到快捷方式(您实际上可以分配它们,但映射到它的命令/操作永远不会被调用/发生),因此您可能需要使用其他东西,例如 compiz 的命令插件。
答案2
我把它放在我的.bashrc中:
# this maps the previous and next page buttons to pgup and pgdown
xmodmap -e "keycode 167 = Next"
xmodmap -e "keycode 166 = Prior"
运行良好,但由于某种原因,似乎无法在 virtualbox 6 中运行。