|
@@ -43,6 +43,9 @@ ctrl.registerCallback(printOutput) |
|
|
#c = shell_launch(c) |
|
|
#c = shell_launch(c) |
|
|
#print(c.output) |
|
|
#print(c.output) |
|
|
# |
|
|
# |
|
|
|
|
|
|
|
|
|
|
|
ctrl.set("didLaunch", True) |
|
|
|
|
|
|
|
|
#for line in sys.stdin: |
|
|
#for line in sys.stdin: |
|
|
# c.input = line.rstrip() |
|
|
# c.input = line.rstrip() |
|
|
# c = shell_processInput(c) |
|
|
# c = shell_processInput(c) |
|
@@ -50,4 +53,36 @@ ctrl.registerCallback(printOutput) |
|
|
# break |
|
|
# break |
|
|
# print(c.output) |
|
|
# print(c.output) |
|
|
|
|
|
|
|
|
ctrl.set("didLaunch", True) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import threading |
|
|
|
|
|
import time |
|
|
|
|
|
|
|
|
|
|
|
class KeyboardThread(threading.Thread): |
|
|
|
|
|
|
|
|
|
|
|
def __init__(self, input_cbk = None, name='keyboard-input-thread'): |
|
|
|
|
|
self.input_cbk = input_cbk |
|
|
|
|
|
super(KeyboardThread, self).__init__(name=name, daemon=True) |
|
|
|
|
|
self.start() |
|
|
|
|
|
|
|
|
|
|
|
def run(self): |
|
|
|
|
|
while True: |
|
|
|
|
|
self.input_cbk(input()) #waits to get input + Return |
|
|
|
|
|
|
|
|
|
|
|
showcounter = 0 #something to demonstrate the change |
|
|
|
|
|
|
|
|
|
|
|
def my_callback(inp): |
|
|
|
|
|
#evaluate the keyboard input |
|
|
|
|
|
print('You Entered:', inp, ' Counter is at:', showcounter) |
|
|
|
|
|
|
|
|
|
|
|
#start the Keyboard thread |
|
|
|
|
|
kthread = KeyboardThread(my_callback) |
|
|
|
|
|
|
|
|
|
|
|
while True: |
|
|
|
|
|
#the normal program executes without blocking. here just counting up |
|
|
|
|
|
showcounter += 1 |
|
|
|
|
|
time.sleep(0.5) |
|
|
|
|
|
|