映射两个以上键的键序列

时间:2018-01-16 16:54:10

标签: keyboard keyboard-shortcuts xdotool

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

有没有像我描述的那样?

非常感谢。

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

1 个答案:

答案 0 :(得分: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。如果您仍然无法使用display变量,并收到如下消息:

  

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

这在树莓派中也适用:

w -hs | awk '{print $3}' | sort -u | grep -v -

祝你好运