你不需要。

你不需要。

我有一ubuntustudio 16.10台 64 位的 IBM Thinkpad E431。我可以从 shell 脚本启动应用程序,但下一步需要按Ctrl+ Shift+在我的笔记本上,我需要按之前的F10按钮。我用的是桌面版。我无法在 shell 脚本中模拟这一点。我还禁用了触摸板,但没有帮助。FnF10xfce

答案1

你不需要。

Fn在我的笔记本上,我需要先按下按钮F10

然而,这与您需要模拟的 X 输入事件无关。

您必须记住的是,Fn键盘和计算机之间的电线上永远看不到按键。它完全由键盘本身的微处理器处理。当您按下带有Fn和雕刻的按键时,通过电线传输的F10只是该按键的按键代码F10,就好像您有一个带有成熟独立F10按键的完整键盘一样。

你有一个刻有F10和其他东西的钥匙。键盘微处理器将你的Fn钥匙视为完全本地修饰键将该键切换为看起来像电线上的“其他”键(当Fn未按下时)和看起来像电线上的“其他”键F10(当按下时)。Fn

事实上,笔记本电脑和类似键盘通常有两个这样的本地修饰符。另一个是 NumLock LED(原文如此)的状态,使每个键都有四种不同的方式显示在计算机的线路上。

但正如您的计算机所看到的那样,在电线的另一端,所有这些都是不可见的。它看到了一个带有真实、独立按键的完整键盘F10。这也是 X 应用程序在 X 输入事件中看到的内容。

这就是您需要模拟的全部内容。只需使用和修饰符模拟表明F10已按下该键的 X 事件。Level2 ⇧Control ⎈

xdotool,如 flowtron 的答案所示,这只是

xdotool 键 ctrl+shift+F10

进一步阅读

答案2

使用xdo工具如中提到的这个答案

xdotool key KEYSTROKE_SPECIFIER

其中 KEYSTROKE_SPECIFIER 可以是“a”或“F2”或“control+j”之类的内容

答案3

如果不以分叉方式运行,则xdotool可能无法在 bash/shell 上捕获模拟密钥,而不是可以使用xdotoolxdotool key ctrl+shift+F10

xdotool key ctrl+shift+F10 &

如果您的 shell/终端应用程序捕获了按键,则当 xdotool 运行以模拟按键时,它将被 xdotool 占用,从而阻止它捕获它们,因为主进程正忙于模拟按键...分叉该进程&将使 main进程可以自由地捕获密钥。

相关内容