1

我创建了一个脚本,它使用 xdotool 在特定的 firefox 容器中打开新选项卡。我需要映射三个键,例如ctrl+y+p打开个人容器,ctrl+y+b打开银行容器等等。我找不到可以让您映射两个以上键的工具。

有没有像我描述的那样?

非常感谢。

编辑:对于任何寻找答案的人,我找到了一种方法。我使用i3,所以我只是添加了一个通过按前两个键触发的模式,然后将“b”映射到命令+转义(退出模式)。

4

1 回答 1

2

如果您尚未安装 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 无法打开显示(空)

那么您可以通过以下方式获取显示值:

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 -

祝你好运

于 2018-12-11T14:38:47.130 回答