首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xdotool输出被xbindkey截获

xdotool输出被xbindkey截获
EN

Stack Overflow用户
提问于 2017-03-31 18:05:59
回答 1查看 379关注 0票数 0

我的键盘上有一个坏掉的键,圆点。具体地说。它的行为非常奇怪,大约是键盘输入双点的7/10倍。单击一次。当点键被按下时,我使用xbindkey来拦截并触发我的bash脚本启动。我编写的bash脚本检查它有多少实例正在运行,并且只键入“。一次。

代码语言:javascript
复制
  #!/bin/bash
  let "target=2"
  curr=$(ps -A | grep 'dot-writer.sh' | wc -l)
  if [ "$curr" -eq "$target" ]
  then
    numlockx on
    xdotool key KP_Delete
    sleep 0.1
  fi

正如您从脚本中看到的,我实际上并没有键入“。使用xdotool,但我启用了Numlock并键入了另一个“。在我的键盘上,与delete按钮相同的键盘上。

正如你可能猜到的那样,这不是一个完美的解决方案,因为这两个键在100%的时间里并不是完全相同的。

我试着告诉xdotool输入".“作为Unicode字符

代码语言:javascript
复制
xdotool key U002E

我试着告诉xdotool输入".“作为Bash生成的字符串

代码语言:javascript
复制
xdotool type $'.'

我试着告诉xdotool输入".“作为包含Unicode字符的Bash生成的字符串。

代码语言:javascript
复制
xdotool type $'\u002E'

所有这些似乎都不起作用,因为它被拦截,就像点按键被xbindkey按下一样,并一次又一次地触发相同的脚本。

有什么我能做的吗?我可以使用其他工具来模拟按键吗?

EN

回答 1

Stack Overflow用户

发布于 2017-05-17 00:36:48

您可以尝试将点复制到主剪贴板,以便可以粘贴它而不是发送键。变量用于保存和恢复剪贴板以前的内容。

代码语言:javascript
复制
contents=$(xclip -selection primary -o)

echo -n "." | xclip -selection primary
xdotool key --clearmodifiers Shift+Insert

echo -n "$contents" | xclip -selection primary
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43138001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档