tutorial pynput libreria python macos sendkeys

python - libreria - pynput keyboard tutorial



¿Hay un sendKey para Mac en Python? (5)

¿Quizás podría ejecutar un script OSA (man osascript) de Python, por ejemplo, y manejar la aplicación?

En Mac 10.6, quiero provocar que una aplicación activa se desactive o minimice con Python.

Sé que podría usar sendKey en Windows con Python, entonces ¿qué pasa con Mac?


Además de Yinan, que enviará la combinación de teclas a la aplicación actualmente activa, puede enviarla a una aplicación específica de la siguiente manera. Pase lo siguiente a osascript como antes, o guárdelo en un archivo y pase el archivo a osascript

tell application "Safari" activate tell application "System Events" to keystroke "r" using {command down} end tell

Esto enviará Cmd + r a Safari después de traerlo al primer plano.


Esto es lo que encontré de una pregunta diferente sobre . Funciona bastante bien para mi problema.

import os cmd = """ osascript -e ''tell application "System Events" to keystroke "m" using {command down}'' """ # minimize active window os.system(cmd)


Para hacer que mis scripts que ya funcionan en Windows usando SendKeys de pip también funcionen en OS X, hice un archivo /Library/Python/2.7/site-packages/SendKeys/__init__.py ( site-packages es donde pip pone todo lo que instala en mi Mac ... no estoy seguro si es configurable o no.)

Los contenidos del archivo son:

def SendKeys(keys): if keys == ''{ENTER}'' keys = ''return'' from os import system system(''osascript -e /'tell application "System Events" to keystroke '' + keys + "''")

Obviamente, no es muy robusto, así que no lo pypi en pypi , pero es suficiente para que mis scripts se ejecuten tanto en OS X como en Windows.


Pruebe appscript , un puente de eventos de Apple disponible en PyPI:

from appscript import app, k app(''System Events'').keystroke(''N'', using=k.command_down)