Este é um aplicativo de prova de conceito que permite controlar o cursor do mouse do seu sistema operacional usando a mão, capturada pela webcam.
O projeto utiliza:
- Electron para criar o aplicativo desktop.
- @mediapipe/tasks-vision (
HandLandmarker) para detectar os pontos de referência da mão no processo de renderização. - @nut-tree-fork/nut-js para mover o cursor do mouse no processo principal.
O aplicativo funciona sem exibir uma janela de preview da câmera, enviando as coordenadas da ponta do dedo indicador do processo de renderização para o principal, que então assume o controle do mouse.
- Linux com servidor de exibição X11 (não é compatível com Wayland).
- Node.js e npm instalados.
-
Clone o repositório e instale as dependências:
npm install
-
Inicie o aplicativo:
npm start
- O
renderer.jsacessa a webcam e usa o MediaPipe para detectar a mão. - A coordenada normalizada (0 a 1) da ponta do dedo indicador (landmark 8) é enviada para o processo principal via IPC.
- O
main.jsrecebe a coordenada, converte-a para a resolução da tela e usa onut-jspara mover o mouse. A coordenada X é invertida para compensar o espelhamento da webcam.