|
- import pyarrow as pa
- from dora import Node
- from pynput import keyboard
- from pynput.keyboard import Events, Key
-
- node = Node()
- buffer_text = ""
- space = False
- submitted_text = []
- cursor = -1
- with keyboard.Events() as events:
- while True:
- event = events.get(0.1)
- if event is not None and isinstance(event, Events.Press):
- if event.key == Key.space and space == False:
- cursor += 1
- node.send_output("space", pa.array([cursor]))
- space = True
-
-
- elif event is not None and isinstance(event, Events.Release):
- if event.key == Key.space:
- node.send_output("space", pa.array([-1]))
- space = False
- elif event.key == Key.backspace:
- node.send_output("failed", pa.array([cursor]))
-
-
- if node.next(0.001) is None:
- break
|