Skip to content

Celmouse/celmouse

Repository files navigation

# Remote Mouse Controller

This project allows you to control a **Mouse** remotely by simulating **mouse actions** and **keyboard** movements through a Flutter application connected via **WebSocket** to a Flutter Desktop server. The Flutter app uses the device's **accelerometer** and **gyroscope** sensors to detect movements, providing a smooth experience for navigating slides or performing actions remotely.

## Features

- Remote control of slide presentations.
- Simulation of mouse movements and keyboard actions.
- Real-time connection between **Flutter Mobile and Desktop** apps via **WebSocket**.
- Use of **accelerometer** and **gyroscope** sensors to detect movements.
- Ideal for those who need to control presentations while away from the device.


### Flutter
- Libraries to simulate the mouse and keyboard
- Flutter SDK (v2.0 ou superior)
- Plugin `sensors_plus` for using gyroscope sensors
- WebSocket for the server communication

## Install

### 1. Clone the repository

```bash
git clone https://github.com/Celmouse/celmouse
cd celmouse
```

### 2. Run the Flutter Server

```bash
cd desktop
flutter run -d {macos|windows|*linux*}
```

### 3. Run the Flutter App 

```bash
cd mobile
flutter run -d {iPhone|Android}
```

## How it works

### Flutter Server

The server receives commands from the mobile app via WebSocket and simulates mouse and keyboard actions at the host system. 

### Flutter App

The app collects movement data through sensors (accelerometer/gyroscope) and sends those data to the Flutter Destop Server via WebSocket. The server interprets this data and turns them into system commmands like mouse or keyboard.

## Screenshot
![Exemplo de uso](/screenshots/output.gif)

## Contributting

1. Create a fork
2. Create a branch with your feature (`git checkout -b feature/nova-feature`)
3. Create a descriptive commit (`git commit -m 'New feature details'`)
4. Create a Pull Request

### Projeto Structure:

- **desktop/**: Flutter Desktop Server code.
- **mobile/**: Flutter Mobile app code.

About

You can now control anything by simulating your mouse and keyboard

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •