Teclado: Cómo usar la librería keyboard en Python

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción

La automatización de la entrada y el manejo de eventos del teclado son aspectos clave tanto para probar aplicaciones como para crear scripts y utilidades personalizadas. Cuando necesitas presionar teclas mediante programación, reaccionar a la entrada del usuario o crear tus propios atajos de teclado, Python ofrece una excelente librería: keyboard.

keyboard es una potente herramienta multiplataforma que te permite controlar el teclado a nivel de sistema operativo. Funciona tanto como un listener como un generador de eventos: puedes interceptar y emular la entrada del teclado.

En este artículo, exploraremos la librería keyboard en detalle, desde la instalación hasta escenarios avanzados, incluyendo la creación de macros, atajos globales, registradores de teclas y el manejo de combinaciones complejas.

Instalación y requisitos

La instalación de la librería se realiza a través de pip:

pip install keyboard

Requisitos del sistema

Windows: La librería funciona sin configuración adicional.

Linux: Requiere permisos de root para capturar eventos globales del teclado. Para uso local, puedes ejecutar con sudo.

macOS: Tiene limitaciones parciales y requiere permisos adicionales en la configuración de seguridad. Debes otorgar acceso a las funciones de accesibilidad.

Funcionalidades principales de la librería

La librería keyboard ofrece una amplia gama de funciones para trabajar con el teclado:

Emulación de pulsaciones de teclas

La librería permite simular pulsaciones de teclas mediante programación, lo que es útil para automatizar tareas repetitivas.

Captura de eventos del teclado

Posibilidad de monitorear las pulsaciones de teclas en tiempo real, creando tus propios manejadores de eventos.

Creación de atajos de teclado

Registro de combinaciones de teclas globales para acceder rápidamente a funciones.

Grabación y reproducción de macros

Funcionalidad para grabar secuencias de pulsaciones de teclas y reproducirlas posteriormente.

Funciones básicas de emulación de teclas

Ingreso de texto

import keyboard

# Ingreso de texto simple
keyboard.write("¡Hola, mundo!")

# Ingreso con retardo entre caracteres
keyboard.write("Escritura lenta", delay=0.1)

Presionar y soltar teclas

# Presionar una tecla (sin soltarla)
keyboard.press("ctrl")

# Soltar una tecla
keyboard.release("ctrl")

# Presionar y soltar inmediatamente
keyboard.press_and_release("enter")

Combinaciones de teclas

# Presionar una combinación
keyboard.send("ctrl+c")
keyboard.send("ctrl+shift+n")

# Forma alternativa
keyboard.press("ctrl")
keyboard.press("c")
keyboard.release("c")
keyboard.release("ctrl")

Trabajo con atajos de teclado

Registro de atajos de teclado

import keyboard

def abrir_bloc_notas():
    print("¡Abriendo bloc de notas!")
    # Aquí puedes agregar código para abrir la aplicación

# Registro de un atajo de teclado
keyboard.add_hotkey("ctrl+alt+n", abrir_bloc_notas)

# Esperar a que se presione Esc para salir
keyboard.wait("esc")

Combinaciones múltiples

# Combinación de varias pulsaciones secuenciales
keyboard.add_hotkey("ctrl+alt+a, ctrl+alt+b", lambda: print("¡Combinación compleja!"))

Gestión de atajos de teclado

# Eliminar un atajo específico
hotkey = keyboard.add_hotkey("ctrl+space", lambda: print("¡Atajo!"))
keyboard.remove_hotkey(hotkey)

# Limpiar todos los atajos
keyboard.clear_hotkeys()

Manejo de eventos del teclado

Monitoreo de pulsaciones

def al_presionar_tecla(event):
    print(f"Tecla presionada: {event.name}")

def al_soltar_tecla(event):
    print                    

Recommendations