Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

EricOFreitas/attackshark-x85pro-linux

Open more actions menu

Repository files navigation

xshark

CI status python license

Driver/CLI open-source em Linux para o teclado Attack Shark X85 Pro (e parentes com a mesma telinha TFT): acertar o relógio da tela e enviar imagens/GIFs, sem depender do app oficial Windows/Mac.

Projeto hobby, distribuído como está (as-is). Funciona e resolve o que eu precisava, mas não há garantia de manutenção nem promessa de novos recursos. Use à vontade; PRs são bem-vindos, mas podem demorar ou não ser respondidos.

Modelos

Modelo VID:PID set-time
X85 Pro 3151:5002 set-time + set-gif (tela 138×180)
K86 3151:4015 ↗ via AttackManatee (tela 240×135)
outros Attack Shark com tela ? reporte aqui

set-time e set-gif funcionando no X85 Pro. O protocolo da tela (reversado pelo AttackManatee para o K86) é compatível com o X85 Pro. Veja docs/PROTOCOL.md.

Por que existe

O app oficial ("ATTACK SHARK WEB") exige um helper nativo iot_manager_rs que só tem build para Windows e Mac. No Linux a telinha fica órfã — inclusive com o relógio errado e sem como sincronizar. Este projeto resolve isso no Linux puro.

Hardware alvo

Item Valor
Modelo Attack Shark X85 Pro
USB VID:PID 3151:5002
Canal de controle interface vendor, usage page 0xFFFF, Feature reports de 64 bytes
Parente conhecido K86 (3151:4015) — protocolo reversado em Jinori/AttackManatee

Como ajudar a reversar (você não precisa de Windows)

A ideia é capturar os bytes que o app oficial manda ao acertar a hora, usando o próprio Chrome no Linux com um hook em HIDDevice.prototype.sendFeatureReport. Passo a passo em tools/webhid-capture.js.

Instalação (dev)

# dependência de sistema (lib C do hidapi)
sudo apt install libhidapi-hidraw0     # Debian/Ubuntu

# regra udev p/ acessar o dispositivo sem root
sudo cp tools/99-attackshark.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger

# ambiente Python
python3 -m venv .venv && source .venv/bin/activate
pip install -e .

Uso

xshark probe          # lista o dispositivo e lê um feature report
xshark set-time       # ✅ sincroniza o relógio da tela com o do sistema
xshark set-gif a.png  # ✅ envia imagem (PNG/JPG) para a tela
xshark set-gif a.gif  # ✅ envia GIF animado (multi-frame, em loop)
xshark playlist ~/telinha --interval 30 [--shuffle]  # rotaciona imagens/GIFs de uma pasta

A telinha não guarda playlist — o playlist fica reenviando cada imagem a cada --interval segundos (Ctrl+C para parar). Cada envio leva alguns segundos, então use intervalos folgados.

A tela do X85 Pro é 138×180, RGB565 big-endian, column-major (frame de 49680 bytes), mas só 138×126 são visíveis (as linhas de baixo ficam off-screen). As imagens já respeitam essa área; use --fit para preservar a proporção (letterbox). Geometria decifrada por calibração visual — ver docs/PROTOCOL.md. Outros modelos: ajuste com --width/--height/--xoff.

Sincronizar a hora automaticamente (systemd user)

A tela mantém a hora sozinha, mas pode dessincronizar se a bateria interna zerar. Para corrigir no boot e a cada 6h:

mkdir -p ~/.config/systemd/user
cp systemd/xshark-synctime.* ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now xshark-synctime.timer

Próximos passos

Ideias e tarefas futuras estão em ROADMAP.md (bateria, brilho, PyPI, refino do GIF…).

Desenvolvimento e testes

pip install -e ".[dev]"
ruff check .     # lint
pytest -q        # testes das funções puras (protocolo + encoding, sem hardware)

Os comandos que tocam o hardware (set-time, set-gif) foram validados ao vivo no X85 Pro. Os testes cobrem a montagem de pacotes e o encoding RGB565, que é onde mora a lógica.

Créditos

Protocolo da tela reversado pelo projeto AttackManatee (K86). Este repo confirma a compatibilidade com o X85 Pro e empacota como CLI/serviço Linux.

Licença

MIT.

About

Driver/CLI Linux para a tela TFT do teclado Attack Shark X85 Pro — acerta o relogio sem app Windows

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.