Plataformas e ferramentas · 2026/1

2. Análise técnica do funcionamento

2. Análise técnica do funcionamento

Voltar ao índice

2.1 Principais módulos

┌─────────────────────────────────────────────────────┐
│                   METADE ESQUERDA                   │
│  Chaves mecânicas → Matriz 3×6 + 3 thumb            │
│  Diodos 1N4148 (anti-ghosting)                      │
│  Microcontrolador (escrava)                         │
│    └─ Varredura de matriz                           │
│    └─ Debounce por software                         │
│    └─ Encode de keycode                             │
│    └─ UART TX → TRRS                                │
└──────────────────────┬──────────────────────────────┘
                       │ TRRS (UART / BLE)
┌──────────────────────▼──────────────────────────────┐
│                   METADE DIREITA                    │
│  Chaves mecânicas → Matriz 3×6 + 3 thumb            │
│  Diodos 1N4148 (anti-ghosting)                      │
│  Microcontrolador (mestre)                          │
│    └─ Varredura de matriz própria                   │
│    └─ Recepção de eventos da escrava (UART RX)      │
│    └─ Agregação e mapeamento de camadas             │
│    └─ Geração de HID reports                        │
│    └─ USB HID (com fio) ou BLE HID (sem fio)        │
│  OLED (I2C, opcional)                               │
│  LED RGB (PWM, opcional)                            │
└──────────────────────┬──────────────────────────────┘
                       │ USB ou BLE
                      PC

2.2 Varredura de matriz e anti-ghosting

A matriz de teclas é organizada em N linhas e M colunas de GPIOs. O firmware ativa uma linha por vez e lê todas as colunas; colunas ativas indicam teclas pressionadas naquela linha. O ciclo completo determina o estado de todas as N×M teclas.

Sem os diodos, pressionar três teclas em um triângulo da matriz gera um quarto evento fantasma (ghosting). O diodo 1N4148 em série com cada tecla impede corrente reversa, eliminando o problema e permitindo N-key rollover.

2.3 Debounce por software

Chaves mecânicas exibem bounce: múltiplas transições rápidas ao fechar ou abrir o contato. O QMK implementa debounce por máquina de estados com janela temporal (cerca de 5 ms): uma tecla só muda de estado após leitura estável por N ciclos consecutivos [6].

2.4 Comunicação entre metades (UART/TRRS)

O cabo TRRS carrega 4 sinais: VCC, GND, TX e RX. A metade escrava envia um evento (keycode + estado pressed/released) via UART. A metade mestre recebe e trata como se fosse uma tecla local. Em versões BLE do Corne (nice!nano), o link entre metades pode ser BLE ou UART, dependendo da configuração do ZMK.

2.5 Interface HID com o PC

O firmware gera HID keyboard reports de 8 bytes (1 byte de modificadores + 1 reservado + 6 keycodes), transmitidos via USB HID ou BLE HID (HID over GATT). O sistema operacional reconhece o dispositivo como um teclado padrão, sem drivers adicionais [7].

2.6 Camadas e home-row mods

Com apenas 42 teclas físicas, o Corne usa camadas (layers) ativadas por teclas de polegar para acessar símbolos, números e teclas de função. Os home-row mods transformam as teclas da linha central em modificadores (Shift, Ctrl, Alt) ao serem seguradas, eliminando a necessidade de teclas dedicadas. Esse mapeamento é definido no firmware QMK/ZMK [5].

Exemplo de keymap com camadas

2.7 Tecnologias críticas

Tecnologia Relevância
Varredura de matriz + debounce Leitura confiável das teclas
Diodos 1N4148 Anti-ghosting para N-key rollover
UART sobre TRRS Link entre as duas metades
USB HID / BLE HID Interface com o sistema operacional
QMK / ZMK Firmware com camadas, mods e economia de energia

Voltar ao índice

Continue sua descoberta.Explorar outros projetos ↗