Skip to content

Latest commit

 

History

History
170 lines (131 loc) · 7.27 KB

README.pt.md

File metadata and controls

170 lines (131 loc) · 7.27 KB

Cardputer Keyboard & Mouse

English | 简体中文 | 繁體中文 | Italiano | Français | Português

banner

Transforme um M5Stack Cardputer Adv em um teclado + mouse de bolso para qualquer computador, celular ou tablet — via Bluetooth LE ou USB-C.

  • ⌨️ Teclado — todas as 56 teclas enviam keycodes HID padrão (funciona até na BIOS via USB)
  • 🖱️ Mouse por inclinação — incline o dispositivo para mover o cursor, usando o acelerômetro embutido (cursor por setas como alternativa)
  • 📶 3 slots Bluetooth — mantenha o pareamento com até 3 dispositivos e alterne entre eles
  • ⚙️ Menu de configurações no próprio dispositivo — configurações salvas no cartão TF
  • Funciona com Windows / macOS / Linux / Android / iPadOS / iOS

work1 work2

Início rápido

  1. Grave o firmware — veja Gravação.
  2. Bluetooth (padrão): pareie Cardputer-Keyboard-Mouse nas configurações Bluetooth do seu dispositivo. Não precisa de PIN.
  3. Prefere USB? Segure BtnA por ~0,7 s para abrir o menu, escolha Transport → USB (o dispositivo reinicia) e conecte um cabo USB-C de dados.
  4. Pronto para digitar. Pressione Fn+Espaço para trocar o modo de entrada: Teclado → Mouse → Teclado+Mouse.

A barra de status superior mostra: estado da conexão (OK / ADV), modo de entrada ([KEY] / [MOUSE] / [K+M]), CAPS, sensibilidade de inclinação S1–S5 e bateria.

Modos de entrada

Modo Teclado Cursor
Teclado todas as teclas digitam desligado
Mouse as teclas viram controles do mouse incline para mover — segure qualquer tecla para mover (embreagem)
Teclado+Mouse (padrão) todas as teclas digitam inclinação sempre ativa, pausada enquanto digita

Teclas no modo Mouse

Dispostas como setas em ; , . /:

Tecla Ação
, / Enter / BtnA botão esquerdo
/ botão direito
m botão do meio
; / . roda para cima / para baixo
qualquer outra tecla (segurar) embreagem — o cursor só se move enquanto pressionada

Extras do modo Teclado+Mouse

Tecla Ação
BtnA toque curto clique esquerdo
Opt + , / / / m botão esquerdo / direito / do meio
Opt + ; / . roda para cima / para baixo
Opt toque rápido um toque da tecla GUI/Win/Cmd

Enquanto pressionada, Opt atua como prefixo local do mouse e não é enviada ao host. Para combinações com a tecla GUI (ex.: Win+C), use o modo Teclado, onde Opt é um modificador GUI normal.

Cursor por setas

Usado quando você define Cursor source = arrows no menu, ou automaticamente se o sensor de movimento falhar. Apenas no modo Mouse:

Tecla Ação
; , . / mover para cima / esquerda / baixo / direita (acelera enquanto pressionada)
j / k botão esquerdo / direito
u / n roda para cima / para baixo
Enter / BtnA botão esquerdo

Camada Fn

Modificadores: Ctrl, Shift (Aa), Alt, Opt = GUI/Win/Cmd. Fn é local e nunca é enviada ao host.

Tecla Camada Fn Tecla Camada Fn
` Esc u PgUp
1 … 9, 0 F1 … F9, F10 i Insert
- / = F11 / F12 p PrintScreen
Backspace Delete a CapsLock
e End d PgDn
h Home ; ↑
, / . / / ← / ↓ / → Espaço trocar modo de entrada

Todo o resto digita o símbolo impresso (layout US; vale o layout do host).

Menu de configurações

Segure BtnA por ~0,7 s para abrir/fechar (a entrada para o host fica pausada enquanto aberto). Navegue com ; para cima, . para baixo, Enter seleciona, ` / Backspace volta.

Item O que faz
Transport BLE / USB (salva e reinicia)
BLE host slot 1 / 2 / 3 — cada slot tem sua própria identidade Bluetooth
Clear pairing remove os vínculos dos 3 slots — remova também o dispositivo nos hosts
Sensitivity velocidade do cursor por inclinação, 1–5
Clutch mode padrão / segurar-para-mover / segurar-para-congelar / sempre ativo
Cursor source inclinação / teclas de seta
Recalibrate tilt mantenha imóvel sua pose neutra preferida por ~1 s
Brightness brilho da tela, 20-100% em passos de 20% (padrão 80%)
Device name alterna entre nomes predefinidos (texto livre: edite o arquivo de configurações)
About versão + backend de configurações

As configurações ficam em /kbmouse/settings.txt no cartão TF (formato key=value simples, seguro para editar à mão), com fallback para a flash interna quando não há cartão.

Gravação

Imagens pré-compiladas

make release

compila as duas imagens de distribuição em release/:

Arquivo Como gravar
Cardputer-Keyboard-Mouse-full.bin gravar no offset 0x0 com esptool / M5Burner
Cardputer-Keyboard-Mouse-app.bin copiar para o cartão TF e instalar pelo M5Launcher
esptool.py --chip esp32s3 write_flash 0x0 release/Cardputer-Keyboard-Mouse-full.bin

Compilar do código-fonte (PlatformIO)

pio run -e cardputer-adv            # build
pio run -e cardputer-adv -t upload  # flash over USB
pio test -e native                  # unit tests (no hardware needed)

Se a porta USB não aparecer (primeira gravação / firmware corrompido), entre no modo de download: desligue → segure G0/BtnA → conecte o USB → solte.

Notas sobre o M5Launcher: as configurações ficam no cartão TF, então sobrevivem à troca de firmwares; os pareamentos BLE podem se perder na troca — pareie de novo depois. Este firmware nunca toca no G5 e nunca apaga a NVS inteira.

Dicas e solução de problemas

  • A tela desliga após 20 s de inatividade para economizar bateria — qualquer tecla, clique ou inclinação a religa na hora. A entrada continua funcionando com a tela desligada.
  • Mantenha o dispositivo imóvel por ~1 s ao ligar — ele captura a pose neutra (a tela mostra CALIBRATING). Sempre que o movimento do cursor é ativado, a pose daquele momento vira o novo centro, então o cursor nunca deriva sozinho.
  • Ponteiro do mouse no iPhone/iPad: ative Ajustes → Acessibilidade → Toque → AssistiveTouch. O teclado funciona direto, sem configuração.
  • O Bluetooth parou de funcionar depois de parear de novo? Remova o dispositivo da lista Bluetooth do host, use Clear pairing no menu e pareie novamente.
  • Sensor de movimento não detectado? O firmware muda automaticamente para o cursor por setas e avisa na tela.
  • Direção da inclinação invertida no seu hardware? Ajuste rollSign / pitchSign em src/core/mouse_engine.h.
  • Regravar sempre funciona: a porta USB continua sendo um console serial nos dois transportes — sem malabarismo com o botão de boot. No transporte USB o dispositivo é um composto CDC + HID keyboard + HID mouse e digita na BIOS/UEFI.