当两个按键按住一秒钟时,我正试图切换大写锁定开/关。我试过使用virtkey模块,但它不工作。该模块确实适用于其他键,所以我不认为我错误地使用了模块。任何人都知道如何在Python中打开/关闭大写锁定?
有没有人有办法做到这一点?
为了清楚起见,我想实际切换大写锁定开/关,而不仅仅是LED。
谢谢!
当两个按键按住一秒钟时,我正试图切换大写锁定开/关。我试过使用virtkey模块,但它不工作。该模块确实适用于其他键,所以我不认为我错误地使用了模块。任何人都知道如何在Python中打开/关闭大写锁定?
有没有人有办法做到这一点?
为了清楚起见,我想实际切换大写锁定开/关,而不仅仅是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)
如果作为脚本运行,则按下虚拟终端选项卡上的caps键。很烦人。
你看过xvkbd命令吗?这是一个带有命令行选项的X虚拟键盘,最糟糕的情况是你可以从python中调用它。另一个想法是xmodmap,它允许您重新映射X中的键。有关示例,请参见SU上的this post。
感谢您的例子!我试图用press_keysym(0xff14)和release_keysym(0xff14) - 这是我用于输入和退格(与我认为是caplock的十六进制值)。我想知道为什么这不起作用......无论如何,它现在效果很好 - 再次感谢! – Justin 2010-03-03 03:40:42