Cómo hacer que Python detecte pulsaciones de teclado

Escrito por jonah quant | Traducido por eduardo moguel
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo hacer que Python detecte pulsaciones de teclado
Una aplicación de Python puede capturar las pulsaciones del teclado en cuanto éstas ocurren. (Jupiterimages/Photos.com/Getty Images)

La mayoría de las entradas primitivas y sus clases derivadas en el lenguaje de programación Python lidian con las entradas de consola pidiendo a los usuarios que presionen "Enter" para que la entrada sea registrada por el código. Sin embargo, esto no es aceptable en aplicaciones (como juegos o programas interactivos) donde las respuestas deben ser ágiles e inmediatas; la necesidad de presiona "Enter" después de cada comando se convierte demasiado molesta en tales escenarios. Puedes escribir un código Python que lea cada tecla conforme es presionada en el teclado.

Nivel de dificultad:
Moderado

Instrucciones

  1. 1

    Incluye esta línea al principio de tu código Python:

    import Tkinter as tk

  2. 2

    Crea una función que procese cada evento de pulsación del teclado en cuanto suceda:

    def handleKeypress(event): pressedKey = event.char print pressedKey

    Remplaza la línea "print pressedKey" con cualquier proceso que tu programa deba aplicar a partir de la lectura de las pulsaciones de las teclas.

  3. 3

    Establece las uniones Tkinter que permitirán que tu programa procese las pulsaciones del teclado. El siguiente código, agregado en la sección de inicio del programa Python, tiene dicho propósito:

    mainHandle = tk.Tk() mainHandle.bind_all('<Key>', handleKeypress) mainHandle.withdraw() mainHandle.mainloop()

    Cada pulsación del teclado (por ello la petición al método "bin_all()" o "une_todo") causará que la función "handleKeypress()" sea llamada.

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles