diff --git a/Demo_Keyboard.py b/Demo_Keyboard.py new file mode 100644 index 00000000..a6bbda99 --- /dev/null +++ b/Demo_Keyboard.py @@ -0,0 +1,26 @@ +import sys +import PySimpleGUI as sg + +# Recipe for getting keys, one at a time as they are released +# If want to use the space bar, then be sure and disable the "default focus" + +with sg.FlexForm('Realtime Keyboard Test', return_keyboard_events=True, use_default_focus=False) as form: + text_elem = sg.Text('', size=(12,1)) + layout = [[sg.Text('Press a key')], + [text_elem], + [sg.SimpleButton('OK')]] + + form.Layout(layout) + # ---===--- Loop taking in user input --- # + while True: + button, value = form.Read() + + if button == 'OK': + print(button, 'exiting') + break + if button is not None: + text_elem.Update(button) + elif value is None: + break + + diff --git a/Demo_Keyboard_Realtime.py b/Demo_Keyboard_Realtime.py new file mode 100644 index 00000000..bb1d145e --- /dev/null +++ b/Demo_Keyboard_Realtime.py @@ -0,0 +1,23 @@ +import PySimpleGUI as sg + +# Recipe for getting a continuous stream of keys when using a non-blocking form +# If want to use the space bar, then be sure and disable the "default focus" + +with sg.FlexForm('Realtime Keyboard Test', return_keyboard_events=True, use_default_focus=False) as form: + layout = [[sg.Text('Hold down a key')], + [sg.SimpleButton('OK')]] + + form.Layout(layout) + # ---===--- Loop taking in user input --- # + while True: + button, value = form.ReadNonBlocking() + + if button == 'OK': + print(button, value, 'exiting') + break + if button is not None: + print(button) + elif value is None: + break + +