Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mehver/icontroller

A PC host LAN controller, enabling mobile phones to access a web page panel for PC control.
https://github.com/mehver/icontroller

flask macos macros pyautogui quart react remote-control trackpad windows

Last synced: about 21 hours ago
JSON representation

A PC host LAN controller, enabling mobile phones to access a web page panel for PC control.

Awesome Lists containing this project

README

        



iController v0.6.2


English | 简体中文



 
 


## 1 Description

A host LAN controller software running on `Windows` and `macOS` (read description below) PC, enabling mobile phones to access a web page panel for PC control.














### 1.1 Features

- [x] Touchpad
- [x] Mouse Buttons (Left, Right, Middle)
- [x] Mouse Wheel
- [x] D-Pad
- [x] Keyboard
- [x] Volume Slider

## 2 Usage

### 2.1 Windows

Download portable application from the [Release](https://github.com/Mehver/iController/releases) page.

Currently, the program is CLI interactive. When starting, you can manually provide the port number, and the program will automatically detect to ensure that the port is available and conflict-free. After starting, use the mobile browser to access the LAN IP address and port of the computer.

### 2.2 macOS

> [!IMPORTANT]
> Due to the introduction of additional features starting from `v0.6.0`, it is difficult to perfectly support macOS through the non-installation method. Therefore, the packaging files for macOS are temporarily not provided, `v0.5.1` is the last stable version that supports macOS.

For `v0.5.1`, you can download from the [Release v0.5.1](https://github.com/Mehver/iController/releases/tag/v0.5.1) page.

Note: For macOS, due to permission issues, the
directly downloaded iController cannot be trusted by the system, the only solution at present is to open the switch
of `Settings > Privacy & Security > Developer Tools > Terminal`.

## 3 Development

### 3.1 Requirements

- [Node.js](https://nodejs.org/en/) v16.20.2
- [Python](https://www.python.org/) v3.10.10

### 3.2 Frontend

**Development**

```shell
npm run react
```

**Build**

```shell
npm run build
```

### 3.3 Backend

**Windows**

For Python environment, recommend using `./bin/dev-pyvenv/newenv.bat` to create a new virtual environment. Then run:

```shell
venv\Scripts\activate
```

to enter the virtual environment. Or add the virtual environment to your IDE.

**macOS**

For Python environment, recommend using `./bin/dev-pyvenv/newenv.sh` to create a new virtual environment. Then run:

```shell
source venv/bin/activate
```

to enter the virtual environment. Or add the virtual environment to your IDE.

### 3.4 Compile / Package

Recommend use `win-onefile.bat` / `mac-onefile.sh` in `./bin/packaging/` to package the application. **Note that after testing, some Python v3.10.x versions may have
mysterious errors. Only Python v3.10.10 is recommended.**

## 4 Built With / Tech Stack

- Node.js
- React.js
- Material UI (https://github.com/mui/material-ui)
- Prime React (https://github.com/primefaces/primereact)
- React Color (https://github.com/casesandberg/react-color)
- Lodash (https://github.com/lodash/lodash)
- Python
- (≤v0.4.5) ~~Flask (https://github.com/pallets/flask)~~
- (v0.5.0+) Quart (https://github.com/pallets/quart)
- Hypercorn (https://github.com/pgjones/hypercorn)
- PyAutoGUI (https://github.com/asweigart/pyautogui)
- Pycaw (https://github.com/AndreMiras/pycaw)
- Psutil (https://github.com/giampaolo/psutil)
- PyInstaller (https://github.com/pyinstaller/pyinstaller)

## 5 License

MPL 2.0

Copyright © 2024-PRESENT GitHub@Mehver/iController , All Rights Reserved.