3

当两个换档按钮被按住一秒钟时,我试图打开/关闭大写锁定。我试过使用 virtkey 模块,但它不起作用。该模块确实适用于其他键,所以我认为我没有错误地使用该模块。

有没有人有办法做到这一点?

为了清楚起见,我想实际打开/关闭大写锁定,而不仅仅是 LED。

谢谢!

4

2 回答 2

4

这对我有用(打开和关闭 LED 以及启用/禁用上限)

import virtkey

v = virtkey.virtkey()
v.press_keycode(66)
v.release_keycode(66)  # first release doesn't release it
v.release_keycode(66)

这里还有一些例子

v.press_keycode(66)    # turns capslock on
v.release_keycode(66)
v.press_keycode(66)    # turns capslock off
v.release_keycode(66)

您还可以使用 release_keycode 获得类似切换的行为

v.release_keycode(66)  # toggles capslock
v.release_keycode(66)  # toggles back again capslock
于 2010-03-01T00:16:46.053 回答
0

有趣的事情。我在解释器中尝试了 virtkey,它似乎正在工作。调用后press_keycode(50),我的机器就像按下了大写锁定(Ubuntu 9.10,python-virtkey .50ubuntu2)。如果我释放钥匙release_keycode(50)——它就像什么都没发生一样。

import virtkey

v = virtkey.virtkey()
v.press_keycode(50)

如果作为脚本运行,则为虚拟终端选项卡按下大写键。很烦人。

您是否查看过 xvkbd 命令?这是一个带有命令行选项的 X 虚拟键盘,最坏的情况是你可以从 python 调用它。另一个需要研究的想法是 xmodmap,它可以让您重新映射 X 中的键。有关示例,请参阅 SU 上的这篇文章。

于 2010-02-28T23:46:49.373 回答