El paso a paso o código que encontrarás en este artículo es la solución más rápida y efectiva que encontramos a tus dudas o dilema.
Solución:
Considere python-uinput y evdev. Ejemplo de shift+a
con este último:
from evdev import uinput, ecodes as e
with uinput.UInput() as ui:
ui.write(e.EV_KEY, e.KEY_LEFTSHIFT, 1)
ui.write(e.EV_KEY, e.KEY_A, 1)
ui.syn()
python-uinput:
Pythonic API para el módulo del kernel uinput de Linux…
Python-uinput es una interfaz de Python para el módulo de kernel uinput de Linux que permite adjuntar controladores de dispositivos de espacio de usuario al kernel. En la práctica, Python-uinput simplifica enormemente la creación de joysticks, teclados y ratones virtuales para generar eventos de entrada arbitrarios mediante programación…
Aunque es específico de X, puede instalar el paquete xautomation (apt-get install xautomation
en sistemas basados en Debian) y usar xte
para simular pulsaciones de teclas, por ejemplo:
from subprocess import Popen, PIPE
control_f4_sequence = '''keydown Control_L
key F4
keyup Control_L
'''
shift_a_sequence = '''keydown Shift_L
key A
keyup Shift_L
'''
def keypress(sequence):
p = Popen(['xte'], stdin=PIPE)
p.communicate(input=sequence)
keypress(shift_a_sequence)
keypress(control_f4_sequence)
Recuerda algo, que tienes la opción de valorar este artículo si te ayudó.