当两个换档按钮被按住一秒钟时,我试图打开/关闭大写锁定。我试过使用 virtkey 模块,但它不起作用。该模块确实适用于其他键,所以我认为我没有错误地使用该模块。
有没有人有办法做到这一点?
为了清楚起见,我想实际打开/关闭大写锁定,而不仅仅是 LED。
谢谢!
这对我有用(打开和关闭 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
有趣的事情。我在解释器中尝试了 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 上的这篇文章。