Мониторинг событий ввода Mac OS PythonPython

Программы на Python
Anonymous
Мониторинг событий ввода Mac OS Python

Сообщение Anonymous »

Этот вопрос уже поднимался раньше, но не в недавней теме, и ни одно из средств не помогло мне. Я создал простой тестовый скрипт Python, использующий входы трекпада для отправки информации об изменении управления MIDI на микшерную консоль.
Я получаю следующую ошибку:
Этот процесс не доверял! Мониторинг входных событий будет невозможен, пока он не будет добавлен в клиенты специальных возможностей.
Я не верю, что для этого больше используется доступность — я думаю, это пережиток более ранних ОС. В разделе «Конфиденциальность и безопасность» я могу добавить приложения в список в разделе «Мониторинг ввода», а также добавить экземпляр Python, сам скрипт и терминал. Я даже обновил Python до версии 3.12 и добавил этот экземпляр. Ничто не влияет на эту ошибку.
Есть ли у кого-нибудь какие-нибудь советы? Спасибо! Код скопирован ниже.
Дэйв
import mido
from pynput import mouse, keyboard
from pynput.keyboard import Key, Listener as KeyboardListener
from pynput.mouse import Listener as MouseListener

# Constants
MAX_X_RESOLUTION = 127 # MIDI control change max value

# MIDI setup
outport = mido.open_output('USB Midi Cable', virtual=True)

def send_program_change():
"""Send a MIDI program change message."""
program_change = mido.Message('program_change', program=1, channel=0)
outport.send(program_change)

def send_control_change(value):
"""Send a MIDI control change message based on the x position of the trackpad."""
control_change = mido.Message('control_change', control=1, value=value, channel=0)
outport.send(control_change)

def on_move(x, y):
"""Handle mouse movement."""
# Scale the x position to MIDI values (0-127)
width = 1920
midi_value = int((x / width) * MAX_X_RESOLUTION)
send_control_change(midi_value)

def on_press(key):
"""Terminate the program if escape key is pressed."""
if key == Key.esc:
return False # Returning False stops the listener

if __name__ == "__main__":
send_program_change()

# Start listening to the keyboard and mouse
with MouseListener(on_move=on_move) as listener:
with KeyboardListener(on_press=on_press) as listener:
listener.join()


Подробнее здесь: https://stackoverflow.com/questions/784 ... monitoring

Вернуться в «Python»