How to change caps lock status without key press

前端 未结 2 377
清歌不尽
清歌不尽 2021-01-02 00:37

I am using a python program that is activate when pressing Caps Lock key and I want to be able to turn on/off the caps lock status when the program is active.

I trie

相关标签:
2条回答
  • 2021-01-02 00:59

    Use sendkeys to change the status and keyboardleds to change the LED indicators.

    sendkeys:

    From another SO dicussion:

    import SendKeys
    
    SendKeys.SendKeys("""
    {CAPSLOCK}
    {SCROLLOCK}
    {NUMLOCK}
    """)
    

    keyboardleds:

    This package seems to work only for POSIX (which is OK if you're using Ubuntu), and you can read more here.

    0 讨论(0)
  • 2021-01-02 01:09

    On Linux:

    import fcntl
    import os
    
    KDSETLED = 0x4B32
    
    console_fd = os.open('/dev/console', os.O_NOCTTY)
    
    # Turn on caps lock
    fcntl.ioctl(console_fd, KDSETLED, 0x04)
    
    # Turn off caps lock
    fcntl.ioctl(console_fd, KDSETLED, 0)
    

    Source: Benji York - Stack Overflow: Change keyboard locks in Python


    On Windows:

    You should be able to use SendKeys for this, as in the following example:

    import SendKeys
    
    SendKeys.SendKeys("""
    {CAPSLOCK}
    """)
    
    0 讨论(0)
提交回复
热议问题