pynput does not support Wayland. Unfortunately, it took me a while to figure out why the RecorderService did not work.
I got the message: The extra packages required by manim_voiceover[recorder] are not installed .... This is a misleading error, since they were installed, but pynput did not load. Pynput did not load because it does not work on Wayland.
I would suggest adding something like this to the helper.py at around line 162 in the error handling block:
if "failed to acquire X connection" in str(e):
raise ImportError(
f'Wayland is not supported!'
)
pynput does not support Wayland. Unfortunately, it took me a while to figure out why the RecorderService did not work.
I got the message:
The extra packages required by manim_voiceover[recorder] are not installed ...
. This is a misleading error, since they were installed, but pynput did not load. Pynput did not load because it does not work on Wayland.I would suggest adding something like this to the
helper.py
at around line 162 in the error handling block: