NotImplementedError при использовании потоковой обработки с помощью прослушивателя клавиатуры и мыши с помощью pynputPython

Программы на Python
Ответить
Anonymous
 NotImplementedError при использовании потоковой обработки с помощью прослушивателя клавиатуры и мыши с помощью pynput

Сообщение Anonymous »

Вот часть моего кода, слушающая клавиатуру и мышь:

Код: Выделить всё

python
def mouse_listener(scroller):
"""Listens for mouse scroll events to scroll clipboard history."""
logging.info("Started mouse listener.")
def on_scroll(x, y, dx, dy):
try:
if dy > 0:
scroller.scroll_clipboard_history("up")
else:
scroller.scroll_clipboard_history("down")
except Exception as e:
logging.error(f"Error in mouse_listener in on_scroll: {e}")
try:
with mouse.Listener(on_scroll=on_scroll) as listener:
listener.join()
except Exception as e:
logging.error(f"Error in mouse_listener (join()): {e}")
logging.info("Stopped mouse listener.")

def keyboard_listener(scroller):
"""Listens for keyboard events."""
logging.info("Started keyboard listener.")
def on_press(key):
try:
if key == keyboard.Key.f9:  # Stop the program
stop_clipboard_scroller()
return False  # Stops the listener when F9 is pressed
elif key == keyboard.Key.ctrl and not stop_flag.is_set():  # Show ghost on Ctrl press
scroller.show_ghost()
elif key == keyboard.Key.fromchar('v') and not stop_flag.is_set():  # Check for Ctrl+V
scroller.show_ghost()  # Show ghost on Ctrl+V press
except Exception as e:
logging.error(f"Error in keyboard_listener in on_press: {e}")

И в моем файле журнала я получаю:

Код: Выделить всё

plaintext
INFO - Started mouse listener.
INFO - Started keyboard listener.
ERROR - Unhandled exception in listener callback
Traceback (most recent call last):
File "...\pynput\_util\win32.py", line 386, in _handler
converted = self._convert(code, msg, lpdata)
File "...\pynput\_util\win32.py", line 401, in _convert
raise NotImplementedError()
NotImplementedError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "...\pynput\_util\__init__.py", line 229, in inner
return f(self, *args, **kwargs)
File "...\pynput\_util\win32.py", line 390, in _handler
self._handle(code, msg, lpdata)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
TypeError: '_thread._ThreadHandle' object is not callable
2024-12-07 03:01:12,374 - INFO - Stopped mouse listener.

Как видите, ни одна из моих ошибок ведения журнала не была вызвана, поэтому я не знаю, что здесь делать. Погуглив, я нашел на github только один несвязанный отчет об ошибке за 2023 год. Буду очень признателен за любую помощь.
Это мой первый пост, поэтому прошу прощения, если не установил правильно ответьте на мой вопрос.
Ошибки возникают при запуске файла. Я ожидаю, что они этого не сделают.

Подробнее здесь: https://stackoverflow.com/questions/792 ... tener-with
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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