【问题标题】:Map key sequence of more than two keys映射两个以上键的键序列
【发布时间】:2018-01-16 16:54:09
【问题描述】:
我创建了一个脚本,它使用 xdotool 在特定的 firefox 容器中打开新标签。我需要映射三个键,例如 ctrl+y+p 打开个人容器, ctrl+y+b 打开银行容器等等。我找不到可以映射两个以上键的工具。
有没有像我描述的那样?
非常感谢。
编辑:对于任何寻找答案的人,我找到了一种方法。我使用 i3,所以我只是添加了一个通过按前两个键触发的模式,然后将“b”映射到命令 + 转义(退出模式)。
【问题讨论】:
标签:
keyboard
keyboard-shortcuts
xdotool
【解决方案1】:
如果您还没有安装 xdotool,例如:
sudo apt-get install xdotool
根据您的示例 (CTRL+y+p),执行:
DISPLAY=:0 xdotool keydown ctrl keydown y keydown p
按下三个键后不松开。另一种方式:
DISPLAY=:0 xdotool key ctrl+y+p
:0 是显示的典型值,但在我的 Raspberry Pi 中,例如,它需要是 DISPLAY=:10。如果您仍然遇到显示变量问题并收到如下消息:
xdotool 无法打开显示(null)
那么你可以通过以下方式获取显示值:
ps -u $(id -u) -o pid= | \
while read pid; do
cat /proc/$pid/environ 2>/dev/null | tr '\0' '\n' | grep '^DISPLAY=:'
done | grep -o ':[0-9]*' | sort -u
另一种获取 DISPLAY 值的方法(它将是 ':' 后面的数字)
xauth list
这也适用于 raspbian:
w -hs | awk '{print $3}' | sort -u | grep -v -
祝你好运