Cómo cambiar el estado de locking de mayúsculas sin necesidad de pulsar una tecla

Estoy usando un progtwig python que se activa al presionar la tecla Bloq Mayús y quiero poder activar / desactivar el estado de locking de mayúsculas cuando el progtwig está activo.

Intenté enviar claves con virtkey pero obviamente no funciona ya que las claves solo activan la aplicación y no cambian el estado de locking de mayúsculas. Entonces, ¿cuál es la mejor manera de lograr esto con python?

Estoy usando Ubuntu

En 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) 

Fuente: Benji York – Desbordamiento de stack: Cambiar lockings de teclado en Python


En Windows:

Debería poder usar SendKeys para esto, como en el siguiente ejemplo:

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

Use sendkeys para cambiar el estado y las keyboardleds para cambiar los indicadores LED.

claves de envío

De otra discusión del SO :

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

teclado:

Este paquete parece funcionar solo para POSIX (lo cual está bien si está usando Ubuntu), y puede leer más aquí .