moses-palmer / pynput

Sends virtual input commands
GNU Lesser General Public License v3.0
1.73k stars 243 forks source link

Type Definition seems wrong `on_press` and `on_release` in `keyboard.Listener` #558

Closed chenshenyi closed 10 months ago

chenshenyi commented 1 year ago

Description The definition of Listener is that:

class Listener(AbstractListener):
    def __init__(
        self,
        on_press: Callable[[Key | KeyCode | None], None] | None = None,
        on_release: Callable[[Key | KeyCode | None], None] | None = None,
        suppress: bool = False,
        **kwargs: Any,
    ) -> None: ...

However, the document tells us to define on_release as following:

def on_release(key):
    print('{0} released'.format(
        key))
    if key == keyboard.Key.esc:
        # Stop listener
        return False

It should add bool to the return types of those parameter.

Pynput version version = "1.7.6"