Teclado: Controle de Teclado com Python – Guia Completo

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução

A automação de entrada e o processamento de eventos do teclado são aspectos importantes tanto para testar aplicações quanto para criar scripts e utilitários personalizados. Quando você precisa pressionar teclas programaticamente, reagir a entradas ou criar suas próprias teclas de atalho, o Python oferece uma excelente biblioteca: keyboard.

keyboard é uma ferramenta multiplataforma poderosa que permite controlar o teclado no nível do sistema operacional. Ela funciona como um ouvinte e gerador de eventos: você pode tanto capturar quanto emular a entrada do teclado.

Neste artigo, vamos explorar a biblioteca keyboard desde a instalação até cenários avançados, incluindo criação de macros, teclas de atalho globais, loggers e manipulação de combinações de teclas.

Instalação e Requisitos

A instalação da biblioteca é feita via pip:

pip install keyboard

Requisitos do Sistema

Windows: A biblioteca funciona sem configurações adicionais.

Linux: Requer acesso root para capturar eventos globais do teclado. Para uso local, execute com sudo.

macOS: Parcialmente limitada e requer permissões adicionais nas configurações de segurança. É necessário conceder acesso aos recursos de acessibilidade.

Principais Funcionalidades da Biblioteca

A biblioteca keyboard oferece uma ampla gama de funções para trabalhar com o teclado:

Emulação de Pressionamento de Teclas

A biblioteca permite simular pressionamentos de teclas programaticamente, útil para automatizar tarefas repetitivas.

Captura de Eventos do Teclado

Possibilidade de monitorar pressionamentos de teclas em tempo real, criando seus próprios manipuladores de eventos.

Criação de Teclas de Atalho

Registro de combinações globais de teclas para acesso rápido a funções.

Gravação e Reprodução de Macros

Funcionalidade para gravar sequências de pressionamentos de teclas e reproduzi-las posteriormente.

Funções Básicas de Emulação de Teclas

Inserir Texto

import keyboard

# Inserção simples de texto
keyboard.write("Olá, mundo!")

# Inserção com atraso entre caracteres
keyboard.write("Digitação lenta", delay=0.1)

Pressionar e Soltar Teclas

# Pressionar uma tecla (sem soltar)
keyboard.press("ctrl")

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

# Pressionar e soltar imediatamente
keyboard.press_and_release("enter")

Combinações de Teclas

# Pressionar uma combinação
keyboard.send("ctrl+c")
keyboard.send("ctrl+shift+n")

# Método alternativo
keyboard.press("ctrl")
keyboard.press("c")
keyboard.release("c")
keyboard.release("ctrl")

Trabalhando com Teclas de Atalho

Registrando Teclas de Atalho

import keyboard

def abrir_bloco_de_notas():
    print("Abrindo bloco de notas!")
    # Aqui você pode adicionar código para abrir o aplicativo

# Registrando uma tecla de atalho
keyboard.add_hotkey("ctrl+alt+n", abrir_bloco_de_notas)

# Aguardando pressionamento de Esc para sair
keyboard.wait("esc")

Múltiplas Combinações

# Combinação de vários pressionamentos sequenciais
keyboard.add_hotkey("ctrl+alt+a, ctrl+alt+b", lambda: print("Combinação complexa!"))

Gerenciando Teclas de Atalho

# Remover uma tecla de atalho específica
hotkey = keyboard.add_hotkey("ctrl+space", lambda: print("Atalho!"))
keyboard.remove_hotkey(hotkey)

# Limpar todas as teclas de atalho
keyboard.clear_hotkeys()

Processamento de Eventos do Teclado

Monitorando Pressionamentos

def ao_pressionar_tecla(event):
    print(f"Tecla pressionada: {event.name}")

def ao_soltar_tecla(event):
    print                    

Recommendations