As you have two function both running a while(forever) loop,they will block running this together.
The easiest an first step is look into Threading.
I can do a test to see if i can run this together.
Testing this do work,can get title of Gui window and when start typing get keys.
So the basic work,you have to look into saving this to disk.
The easiest an first step is look into Threading.
I can do a test to see if i can run this together.
Testing this do work,can get title of Gui window and when start typing get keys.
So the basic work,you have to look into saving this to disk.
from pynput.keyboard import Key, Listener import time from win32gui import GetWindowText, GetForegroundWindow import datetime from threading import Thread def on_press(key): print('{0} pressed'.format(key)) def on_release(key): print('{0} release'.format(key)) if key == Key.esc: # Stop listener return False def get_titles(): current_title = None while True: moment2 = datetime.datetime.now().strftime("%Y-%b-%d [ %H:%M:%S.%f ]") new_title = GetWindowText(GetForegroundWindow()) if new_title != current_title: if len(new_title) > 0: #logging.info(" Moved to : " + new_title) current_title = new_title time.sleep(0.1) #print(new_title) ff= (moment2 + " : " + "Moved T0 : "+ new_title) print(ff) def key_lissen(): with Listener( on_press=on_press, on_release=on_release) as listener: listener.join() if __name__ == '__main__': Thread(target=get_titles).start() Thread(target=key_lissen).start()
Output:2018-Nov-20 [ 21:42:55.739615 ] : Moved T0 : uten navn - Notisblokk
2018-Nov-20 [ 21:42:55.840613 ] : Moved T0 : duck_go.py - div_code - Visual Studio Code
'j' pressed
'j' release
'j' pressed
'j' release
2018-Nov-20 [ 21:43:30.123032 ] : Moved T0 : npm - python key_t.py
2018-Nov-20 [ 21:43:38.954883 ] : Moved T0 : ● duck_go.py - div_code - Visual Studio Code
't' pressed
't' release
'e' pressed
'e' release
's' pressed
's' release
't' pressed