/umaru

A small Switch Pro Controller driver which lets you use your computer with it !

Primary LanguagePythonMIT LicenseMIT

Umaru

A small Switch Pro Controller driver which lets you use your computer with it !



PyPI version Downloads PyPI - Downloads PyPI - Python Version PyPI - Status GitHub - License GitHub top language CodeQL Checks Badge Code Size Repo Size Issues

Index

Features

  • A cool looking Bluetooth device selection screen
  • Control your mouse using your controller
  • Use a virtual keyboard with your controller

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

You will need Python 3 to use this module

# vermin output
Minimum required versions: 3.7
Incompatible versions:     2

Installing

Option 1: From PyPI

pip install --upgrade umaru

This will install the latest stable version from PyPI

Option 2: From Git

pip install --upgrade git+https://github.com/Animenosekai/umaru.git

This will install the latest development version from the git repository

You can check if you successfully installed it by printing out its version:

$ umaru --version
1.0

Usage

usage: umaru [-h] [--filter FILTER]

options:
  -h, --help            show this help message and exit
  --filter FILTER, -f FILTER
                        The default filter. Can be used to skip the controller discovery step.

You can use the --filter parameter to give a default filter for the discovery step, which automatically selects the controller if it is the only result which comes up.

If you are using umaru for the first time, I would recommend using the interactive discovery window first:

Start by running umaru

umaru

Select your device

You should see the device discovery scene appear :

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┓                                                                                            
┃ Device                             ┃ Manufacturer ┃ Serial Number         ┃                                                                                            
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━┩                                                                                            
│                                    │ Apple        │                       │                                                                                            
│                                    │ Apple        │                       │                                                                                            
│ Apple Internal Keyboard / Trackpad │ Apple Inc.   │ FM70*************+F** │                                                                                            
│ Apple Internal Keyboard / Trackpad │ Apple Inc.   │ FM70*************+F** │                                                                                            
│ Apple Internal Keyboard / Trackpad │ Apple Inc.   │ FM70*************+F** │                                                                                            
│ Apple Internal Keyboard / Trackpad │ Apple Inc.   │ FM70*************+F** │                                                                                            
│ Apple Internal Keyboard / Trackpad │ Apple Inc.   │ FM70*************+F** │                                                                                            
│ Apple Internal Keyboard / Trackpad │ Apple Inc.   │ FM70*************+F** │                                                                                            
│ Apple Internal Keyboard / Trackpad │ Apple Inc.   │ FM70*************+F** │                                                                                            
│ Apple Internal Keyboard / Trackpad │ Apple Inc.   │ FM70*************+F** │                                                                                            
│ Apple Internal Keyboard / Trackpad │ Apple Inc.   │ FM70*************+F** │                                                                                            
│ Apple Internal Keyboard / Trackpad │ Apple Inc.   │ FM70*************+F** │                                                                                            
│ BTM                                │ APPL         │                       │                                                                                            
│ Headset                            │ Apple        │                       │                                                                                            
│ Keyboard Backlight                 │              │                       │                                                                                            
└────────────────────────────────────┴──────────────┴───────────────────────┘                                                                                            
                                                                                                                                                                         
                                                                                                                                                                         
                                                                                                                                                                         
⠴ Searching for a controller — 0:00:07                                                                      

Here, you can search your Switch Pro Controller using the arrows on your keyboard. You can also filter the results by typing a keyword.

┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓                                                                                                                    
┃ Device         ┃ Manufacturer ┃ Serial Number     ┃                                                                                                                    
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩                                                                                                                    
│ Pro Controller │              │ 58:**:**:**:**:D9 │                                                                                                                    
└────────────────┴──────────────┴───────────────────┘                                                                                                                    
                                                                                                                                                                                                                                                                                                                                       
⠸ Filter: pro — 0:00:13                                             

Press ENTER to select the device.

Use your controller

It should now connect to your controller.

  • You can use the directional pad (the arrows) to move your cursor
  • You can use the A button to left-click
  • You can use the B button to right-click
  • You can use the left stick to move the cursor up and down
  • You can use the right stick to scroll
  • You can use the share button (the square with a square in it) to bring up the virtual keyboard
    • With the keyboard opened you can use the ZR button to capture or remove the controller capturing : this switches if the controller controls the mouse or the keyboard.
    • When captured, you can use the directional pad (the arrows) to move around the keys
    • When captured, you can use the A button to press a key, B to delete
    • The capture also releases the scroll, which is might act weird if the controller is not captured by the keyboard
    • You can press the share button again to remove the capture and close the virtual keyboard

Keyboard Screenshot

Quitting Umaru

Go back to your terminal and press CTRL+C or just press the left and right stick at the same time to quit umaru