【问题标题】:Anybody know how to toggle caps lock on/off in Python?有人知道如何在 Python 中打开/关闭大写锁定吗?
【发布时间】:2011-01-22 03:01:19
【问题描述】:

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

有人有办法吗?

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

谢谢!

【问题讨论】:

    标签: python linux keyboard capslock


    【解决方案1】:

    这对我有用(打开和关闭 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
    

    【讨论】:

    • 感谢您的示例!我试图用 press_keysym(0xff14) 和 release_keysym(0xff14) 来做到这一点——这是我用来输入和退格的(我认为是大写锁定的十六进制值)。我想知道为什么这不起作用......无论如何,它现在很好用 - 再次感谢!
    【解决方案2】:

    有趣的事情。我在解释器中尝试了 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

    【讨论】:

    • 这实际上是我用于其他键的内容,以及我尝试用于大写锁定的内容。
    • xdotool key Caps_Lock 为我翻转大写锁定。我不知道这是否对你有帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多