有谁知道如何在Python中打开/关闭大写锁定?

时间:2010-02-28 23:24:13

标签: python linux keyboard capslock

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

有人有办法这样做吗?

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

谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分: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上的this post