# AirCursor - Remote Mouse Control Server
```
_ ___ ____ ____ _ _ ____ ____ ___ ____
/ \ |_ _| _ \ / ___| | | | _ \/ ___| / _ \| _ \
/ _ \ | || |_) | | | | | | |_) \___ \| | | | |_) |
/ ___ \ | || _ <| |___| |_| | _ < ___) | |_| | _ <
/_/ \_\___|_| \_\____\___/|_| \_\____/ \___/|_| \_\
```
A lightweight, cross-platform HTTP server that transforms your computer into a remote-controllable mouse. Perfect for presentations, media centers, IoT projects, and accessibility solutions.
**Created by:** [NiqueWrld](https://github.com/NiqueWrld)
[](https://badge.fury.io/py/aircursor)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
## Quick Start
### Installation
```bash
pip install aircursor
```
### Running the Server
```bash
# Run directly
aircursor
# Or with Python module
python -m aircursor
```
## Features
- **Full Mouse Control**: Move cursor, click, scroll, and drag operations
- **Web Interface**: Clean, responsive interface accessible from any device
- **RESTful API**: Programmatic control for automation and integration
- **QR Code Access**: Instant connection via generated QR codes
- **Multi-Platform**: Works on Windows, macOS, and Linux
- **Local Network**: Secure operation within your local network
- **Lightweight**: Minimal resource usage and fast response times
## API Reference
### Get Cursor Position
```http
GET /api/v1/cursor
```
### Set Cursor Position
```http
PUT /api/v1/cursor
Content-Type: application/json
{"x": 500, "y": 300}
```
### Move Cursor (Relative)
```http
PATCH /api/v1/cursor
Content-Type: application/json
{"dx": 10, "dy": -5}
```
### Mouse Click
```http
POST /api/v1/click
Content-Type: application/json
{
"button": "left",
"count": 1,
"at": {"x": 100, "y": 200}
}
```
### Scroll
```http
POST /api/v1/scroll
Content-Type: application/json
{"dx": 0, "dy": -3}
```
## Contributing
Contributions are welcome! Please visit the [GitHub repository](https://github.com/NiqueWrld/AirCursor) for more information.
## License
This project is licensed under the MIT License.
---
** Give it a star on [GitHub](https://github.com/NiqueWrld/AirCursor)!**
Raw data
{
"_id": null,
"home_page": null,
"name": "aircursor",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "flask, mouse, automation, remote, control, REST, qr, web",
"author": null,
"author_email": "NiqueWrld <niquewrld@outlook.com>",
"download_url": "https://files.pythonhosted.org/packages/75/a7/9c971a4bed7d177f8f33b159cd8b179d6dd8590dea5d3f591e77f3562723/aircursor-1.0.6.tar.gz",
"platform": null,
"description": "\ufeff# AirCursor - Remote Mouse Control Server\r\n\r\n```\r\n _ ___ ____ ____ _ _ ____ ____ ___ ____ \r\n / \\ |_ _| _ \\ / ___| | | | _ \\/ ___| / _ \\| _ \\ \r\n / _ \\ | || |_) | | | | | | |_) \\___ \\| | | | |_) |\r\n / ___ \\ | || _ <| |___| |_| | _ < ___) | |_| | _ < \r\n /_/ \\_\\___|_| \\_\\____\\___/|_| \\_\\____/ \\___/|_| \\_\\\r\n```\r\n\r\nA lightweight, cross-platform HTTP server that transforms your computer into a remote-controllable mouse. Perfect for presentations, media centers, IoT projects, and accessibility solutions.\r\n\r\n**Created by:** [NiqueWrld](https://github.com/NiqueWrld)\r\n\r\n[](https://badge.fury.io/py/aircursor)\r\n[](https://www.python.org/downloads/)\r\n[](https://opensource.org/licenses/MIT)\r\n\r\n## Quick Start\r\n\r\n### Installation\r\n\r\n```bash\r\npip install aircursor\r\n```\r\n\r\n### Running the Server\r\n\r\n```bash\r\n# Run directly\r\naircursor\r\n\r\n# Or with Python module\r\npython -m aircursor\r\n```\r\n\r\n## Features\r\n\r\n- **Full Mouse Control**: Move cursor, click, scroll, and drag operations\r\n- **Web Interface**: Clean, responsive interface accessible from any device\r\n- **RESTful API**: Programmatic control for automation and integration\r\n- **QR Code Access**: Instant connection via generated QR codes\r\n- **Multi-Platform**: Works on Windows, macOS, and Linux\r\n- **Local Network**: Secure operation within your local network\r\n- **Lightweight**: Minimal resource usage and fast response times\r\n\r\n## API Reference\r\n\r\n### Get Cursor Position\r\n```http\r\nGET /api/v1/cursor\r\n```\r\n\r\n### Set Cursor Position\r\n```http\r\nPUT /api/v1/cursor\r\nContent-Type: application/json\r\n\r\n{\"x\": 500, \"y\": 300}\r\n```\r\n\r\n### Move Cursor (Relative)\r\n```http\r\nPATCH /api/v1/cursor\r\nContent-Type: application/json\r\n\r\n{\"dx\": 10, \"dy\": -5}\r\n```\r\n\r\n### Mouse Click\r\n```http\r\nPOST /api/v1/click\r\nContent-Type: application/json\r\n\r\n{\r\n \"button\": \"left\",\r\n \"count\": 1,\r\n \"at\": {\"x\": 100, \"y\": 200}\r\n}\r\n```\r\n\r\n### Scroll\r\n```http\r\nPOST /api/v1/scroll\r\nContent-Type: application/json\r\n\r\n{\"dx\": 0, \"dy\": -3}\r\n```\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please visit the [GitHub repository](https://github.com/NiqueWrld/AirCursor) for more information.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License.\r\n\r\n---\r\n\r\n** Give it a star on [GitHub](https://github.com/NiqueWrld/AirCursor)!**\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Remote mouse control server with web interface and REST API",
"version": "1.0.6",
"project_urls": {
"Documentation": "https://github.com/NiqueWrld/AirCursor#readme",
"Homepage": "https://github.com/NiqueWrld/AirCursor",
"Issues": "https://github.com/NiqueWrld/AirCursor/issues",
"Repository": "https://github.com/NiqueWrld/AirCursor"
},
"split_keywords": [
"flask",
" mouse",
" automation",
" remote",
" control",
" rest",
" qr",
" web"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "fdf574b80310a27b8b7fa087e3e6ab4d8006903a157c56b4d0d43b0de57cf3be",
"md5": "d314e84acc62032b2bb7be2d2accb67f",
"sha256": "2a862f47b7781a03918b52ef27ecdcf4bfc87de68368c2574765eac6110939b4"
},
"downloads": -1,
"filename": "aircursor-1.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d314e84acc62032b2bb7be2d2accb67f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 11311,
"upload_time": "2025-09-19T12:31:28",
"upload_time_iso_8601": "2025-09-19T12:31:28.619657Z",
"url": "https://files.pythonhosted.org/packages/fd/f5/74b80310a27b8b7fa087e3e6ab4d8006903a157c56b4d0d43b0de57cf3be/aircursor-1.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "75a79c971a4bed7d177f8f33b159cd8b179d6dd8590dea5d3f591e77f3562723",
"md5": "b3da801f40dc9c2bd422edf4f0b406c2",
"sha256": "3401a3d46f8d52d22b1739060e6c8a156d69044badb99eceada40fc8e10bd07c"
},
"downloads": -1,
"filename": "aircursor-1.0.6.tar.gz",
"has_sig": false,
"md5_digest": "b3da801f40dc9c2bd422edf4f0b406c2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 11479,
"upload_time": "2025-09-19T12:31:29",
"upload_time_iso_8601": "2025-09-19T12:31:29.870855Z",
"url": "https://files.pythonhosted.org/packages/75/a7/9c971a4bed7d177f8f33b159cd8b179d6dd8590dea5d3f591e77f3562723/aircursor-1.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-19 12:31:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "NiqueWrld",
"github_project": "AirCursor#readme",
"github_not_found": true,
"lcname": "aircursor"
}