English | 简体中文 | 繁體中文 | Italiano | Français | Português
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
- Grave o firmware — veja Gravação.
- Bluetooth (padrão): pareie
Cardputer-Keyboard-Mousenas configurações Bluetooth do seu dispositivo. Não precisa de PIN. - 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.
- 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.
| 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 |
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 |
| 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,
Optatua 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, ondeOpté um modificador GUI normal.
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 |
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).
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.
make releasecompila 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.binpio 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.
- 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/pitchSignemsrc/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 mousee digita na BIOS/UEFI.


