Skip to content

This script converts your steelseries controller into a mouse.

License

Notifications You must be signed in to change notification settings

TheMimitProject/SteelSeries

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SteelSeries Controller �� Mouse (macOS)

Turns a SteelSeries controller into a macOS mouse/scroll/drag controller using pygame, pyautogui and the native Quartz mouse events.

Highlights

  • Low-latency mouse movement using Quartz native events
  • Left-stick cursor movement with acceleration and deadzone
  • Right-stick scroll
  • A/X button: click / double-click / hold-to-drag
  • B/Circle: right-click
  • Back/Select: exit

Requirements

  • macOS (Quartz native API used)
  • Python 3.8+
  • Accessibility permission enabled for the running Python interpreter (see below)
  • A supported controller recognized by pygame (your SteelSeries controller)

Quick install (recommended in a virtualenv)

  1. Create and activate a virtualenv:

    python3 -m venv venv
    source venv/bin/activate
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run directly:

    python -m controller_mouse.main
    

Or install as a console script:

pip install .
controller-mouse

macOS Accessibility / Permissions

  • To move and control the mouse programmatically, macOS requires the process to be granted Accessibility (Input Monitoring / Accessibility) permissions.
  • On first run you will likely be prompted. If not, open: System Settings � Privacy & Security � Accessibility (and/or Input Monitoring) and add your terminal or Python interpreter (e.g. /usr/bin/python3 or your virtualenv python).
  • You may need to restart the terminal or the process after granting permission.

Files

  • controller_mouse/main.py — the converted script as an importable module and CLI entrypoint
  • controller_mouse.py — thin launcher with the original filename (calls package main)
  • pyproject.toml — project metadata and console script
  • requirements.txt — runtime dependencies
  • LICENSE — MIT license
  • .gitignore — ignores caches and venvs

Configuration

  • Edit constants at the top of controller_mouse/main.py:
    • MOUSE_SPEED — base pixels per frame
    • DEADZONE — stick deadzone
    • SCROLL_SPEED — scroll multiplier
    • ACCELERATION — curve exponent

Usage notes

  • Run with a controller connected and pygame detecting it.
  • If you experience jitter, try reducing MOUSE_SPEED or increasing DEADZONE.
  • Run at your own risk; the script posts native mouse events.

License

  • MIT — see LICENSE file

About

This script converts your steelseries controller into a mouse.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages