Releases: rafaelmaciels/Nexa
Releases · rafaelmaciels/Nexa
Release list
Nexa v0.1.1 — Correção Definitiva do Cursor, Drift e Suporte Multiplataforma
🚀 Nexa v0.1.1 — Correção Definitiva do Cursor, Drift e Suporte Multiplataforma
Esta versão introduz uma reformulação arquitetural profunda no subsistema de captura e injeção de periféricos, eliminando em sua causa raiz os problemas de deslocamento involuntário do cursor, congelamento da aplicação e invisibilidade do ponteiro no Linux.
🐛 Correções Críticas Implementadas
- Eliminação do Drift para a Direita (+1919px):
- Substituição do tipo de evento ambíguo por
MouseMoveAbsoluteeMouseMoveRelative. - Coordenadas absolutas de tela geradas durante o uso local nunca mais são acidentalmente reinterpretadas como deltas relativos ao cruzar a borda.
- Substituição do tipo de evento ambíguo por
- Sincronização Atômica de Recenteamento (Warp Centering):
- Implementada a barreira atômica
WARP_PENDINGno hook de baixo nível do Windows (WH_MOUSE_LL). - O salto artificial da borda até o centro da tela (
dx = +959) e qualquer movimento espúrio na transição foram completamente extintos.
- Implementada a barreira atômica
- Visibilidade e Renderização do Cursor no Linux (
/dev/uinput):- O driver virtual de entrada no Linux agora manipula o evento de entrada na tela com zeramento de borda e relatórios de sincronização imediatos (
SYN_REPORT). - Garante que compositores Wayland (Gala no elementary OS 8.1, Mutter no GNOME) e X11 atribuam foco de superfície ao ponteiro e renderizem o sprite do cursor visivelmente no instante em que ele entra no monitor.
- O driver virtual de entrada no Linux agora manipula o evento de entrada na tela com zeramento de borda e relatórios de sincronização imediatos (
- Clamping Estrito e Retorno Fluido (Fim da Dependência do ESC):
- Coordenadas virtuais agora são estritamente limitadas pelas dimensões da tela de destino.
- Puxar o mouse para a esquerda na tela remota devolve o controle ao Windows instantaneamente no primeiro movimento natural, sem travamentos e sem necessidade de intervenção via ESC.
- Per-Monitor V2 DPI Awareness:
- Suporte nativo ao contexto de DPI V2 do Windows, garantindo precisão 1:1 de pixel mesmo em monitores 2K/4K ou com escala de 125%/150%.
💻 Tutorial de Instalação e Execução no Windows (11 / 10)
Opção 1: Execução Portátil Rápida
- Baixe o arquivo
nexa-windows-x64.zipanexado a esta release. - Extraia o conteúdo para uma pasta de sua preferência (ex:
C:\Nexa\). - Abra o prompt de comando ou PowerShell na pasta extraída e execute:
- Como Servidor (Transmissor - PC com mouse/teclado principal):
.\nexa-daemon.exe --server
- Como Cliente (Receptor - PC secundário):
.\nexa-daemon.exe --client <IP-DO-SERVIDOR>:25800
- Como Servidor (Transmissor - PC com mouse/teclado principal):
Opção 2: Inicialização Automática com o Windows
- Na pasta extraída, clique com o botão direito em
install-autostart.bate selecione "Executar como Administrador". - O Nexa será registrado no Agendador de Tarefas do Windows e iniciará silenciosamente em segundo plano a cada logon.
🐧 Tutorial de Instalação e Execução no Linux (elementary OS 8.1 / Ubuntu / Debian / Fedora)
1. Configurar Permissões do /dev/uinput (Sem necessidade de root contínuo)
No Linux, o Nexa utiliza o subsistema nativo do kernel (/dev/uinput) para emular o teclado e mouse sem exigir hacks de acessibilidade.
Execute no terminal:
# Adiciona seu usuário ao grupo 'input'
sudo usermod -aG input $USER
# Cria a regra udev para conceder acesso ao /dev/uinput
echo 'KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput", MODE="0666"' | sudo tee /etc/udev/rules.d/99-nexa-uinput.rules
# Recarrega as regras de hardware
sudo udevadm control --reload-rules
sudo udevadm trigger(Reinicie a sessão do usuário ou o computador para aplicar as permissões do grupo).
2. Compilar e Executar no Linux
Com o Rust instalado (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh):
# Clone o repositório
git clone https://github.com/rafaelmaciels/Nexa.git
cd Nexa
# Compile o binário otimizado
cargo build --release --bin nexa-daemon
# Execute no modo Cliente (Receptor):
./target/release/nexa-daemon --client <IP-DO-WINDOWS>:25800⚙️ Conectando os Dispositivos com Segurança
- Ao iniciar a conexão entre os dois computadores, um código SAS PIN de 6 dígitos será exibido no terminal em ambos os lados.
- Verifique se o código é idêntico nas duas telas para confirmar que a conexão está protegida contra ataques man-in-the-middle (MITM) via criptografia Curve25519 e ChaCha20-Poly1305.
- Pronto! Mova o mouse até a borda direita da tela do Windows para controlar o Linux. Mova para a esquerda para retornar instantaneamente ao Windows.
Nexa v0.1.0
🚀 Nexa v0.1.0 — Atualização de Identidade Visual e Estabilidade
✨ Novidades & Identidade Visual
- Identidade Visual Oficial: Inclusão de todos os 11 ativos da marca oficial Nexa em �ssets/brand/, com fundo transparente, proporções preservadas e margens matematicamente equilibradas.
- Novos Ícones Multi-Resolução: Ícones do software de 16x16 px até 1024x1024 px, favicon .ico e .ico do Windows com mipmaps completos.
- Variantes Oficiais de Logo: Versões para tema escuro, tema claro e monocromático em alta definição (994x308 px).
🐛 Correções Críticas (Mouse e Teclado)
- Eliminação do Travamento ao Conectar / Transicionar:
- Implementado warp centering dinâmico em segundo plano durante a captura remota, impedindo que o cursor físico do Windows colida com as quinas da tela ou trave o pipeline de entrada.
- Correção do cálculo de limites de tela em ambientes com múltiplos monitores e coordenadas de origem negativas/offset.
- Adicionada tolerância de borda instantânea (2px) para transições fluídas sem atraso.
- Atalhos de Emergência: Pressione [ Esc ] ou [ Scroll Lock ] a qualquer momento para quebrar a captura e devolver o controle imediato ao desktop local.
📦 Pacotes de Distribuição
exa-windows-x64.zip: Executável Windows atualizado com as correções de estabilidade e script de autostart.
exa_0.1.0_amd64.deb: Pacote para Linux (elementary OS 8.1 / Ubuntu / Debian).