Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Mostrar tecla pulsada en pantalla python 3

Estas en el tema de Mostrar tecla pulsada en pantalla python 3 en el foro de Python en Foros del Web. Estoy dando mis primeros pasos con python y a modo didactico me he propuesto hacer un pequeño programa que muestre en pantalla las teclas pulsadas ...
  #1 (permalink)  
Antiguo 20/06/2017, 20:49
Avatar de asdmaster  
Fecha de Ingreso: marzo-2010
Mensajes: 96
Antigüedad: 7 años, 6 meses
Puntos: 2
Mostrar tecla pulsada en pantalla python 3

Estoy dando mis primeros pasos con python y a modo didactico me he propuesto hacer un pequeño programa que muestre en pantalla las teclas pulsadas algo asi como keyboard jedi o carnac.

Con el codigo que tengo hasta ahora pretendo que se muestre la ventana mientras en segundo plano se escuchan los eventos del teclado, pero hasta el momento no he logrado hacer las dos cosas al mismo tiempo.

Imagino que la pregunta ha de ser bastante basica pero como dije anteriormente no se nada de este lenguaje...
Gracias...

Estoy usanto la "libreria" pynput 1.3.5 con python 3.5
Código Python:
Ver original
  1. from tkinter import *
  2. from pynput import keyboard
  3.  
  4. master = Tk()
  5. w = Label(master, text="Tecla pulsada")
  6. w.pack()
  7. #mainloop()
  8.  
  9. def on_press(key):
  10.     try:
  11.         print('1- pressed' + str(key))
  12.     except AttributeError:
  13.         print('2- pressed' + str(key))
  14.        
  15. def on_release(key):
  16.     #print('3- released' + str(key))
  17.     if key == keyboard.Key.esc:
  18.         return False
  19.  
  20. with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
  21.     listener.join()
  #2 (permalink)  
Antiguo 21/06/2017, 12:48
Avatar de asdmaster  
Fecha de Ingreso: marzo-2010
Mensajes: 96
Antigüedad: 7 años, 6 meses
Puntos: 2
Respuesta: Mostrar tecla pulsada en pantalla python 3

era mas facil de lo que pense, ahora podre seguir avanzando en la logica del codigo.

Código Python:
Ver original
  1. import threading
  2. from tkinter import *
  3. from pynput import keyboard
  4.  
  5. def on_press(key):
  6.     try:
  7.         print('1- pressed' + str(key))
  8.     except AttributeError:
  9.         print('2- pressed' + str(key))
  10.        
  11. def on_release(key):
  12.     #print('3- released' + str(key))
  13.     if key == keyboard.Key.esc:
  14.         return False
  15.  
  16. def escuchar():
  17.     with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
  18.         listener.join()
  19.  
  20. def ventana():
  21.     master = Tk()
  22.     w = Label(master, text="Hello, world!")
  23.     w.pack()
  24.     mainloop()
  25.  
  26. hilo1 = threading.Thread(target = ventana)
  27. hilo2 = threading.Thread(target = escuchar)
  28.  
  29. hilo1.start()
  30. hilo2.start()



La zona horaria es GMT -6. Ahora son las 16:50.