如何模拟键盘按键(+ ALT'键的代码ASCII)

时间:2014-03-07 23:35:27

标签: linux keyboard-events

我最近明白,如果我在/ dev / tty中写字符,它会用键盘模拟按键。

我想知道我是否可以模拟按键或按键组合。 我正在寻找的是模拟alt +选项卡在打开的应用程序之间切换。 我不是在寻找替代品,我正在练习如何模拟键盘上的物理按键。 是否可以模拟组合键? (比如alt + tab)

我也想知道如何按键? 它似乎不是'\ n'或'\ r'或“\ r \ n”或“\ n \ r”; 我正在寻找密钥的原因是我想在终端中执行“sudo”命令,当它提示输入密码时我使用/ dev / tty来回答它,但它似乎是stdin或stdout(使用“-S”选项)与sudo)不工作。

我有什么问题吗? 是否有一些我应该寻找的图书馆? (如期待) 或者我正在做什么不可能?

谢谢!

编辑: 抱歉,我认为需要更多的解释。 我正在使用C ++。 我想要做的就是尝试模拟我的键盘上的物理按键是OS Ubuntu 13。 (就像练习一样) 但我有2个目标: 1 - 创建使用alt + tab在应用程序之间切换的程序。 2 - 与Linux终端交互。

我找到了两个解决方案: 1 - 将相应键的字符/ codeASCII写入/ dev / tty 2 - 将相应键的字符/ codeASCII写入stdout和/或stdin

但他们都没有奏效。 我想知道我所做的事情是否正确?

1 个答案:

答案 0 :(得分:2)

X不会读取/dev/tty的击键次数。如果要在X中模拟击键,则需要以另一种方式发送它们。如果您正在编写shell脚本,xdotool是您的朋友;但是,如果您正在编写C语言,那么您可能希望使用libxdo,即xdotool下的库。如果你正在寻找更低级别的东西,你可能会对xdotool和libxdo都依赖的XCB Test API感兴趣。

除非您能提供有关sudo体验的更多信息,否则我认为任何人都无法回答您的第二个问题。 sudo -S绝对是以编程方式为sudo提供密码的预期机制。