Giter Site home page Giter Site logo

sensmatch's Introduction

SensMatch

sensmatch

A Python based tool for matching your mouse sensitivity between 3D games on Linux. Probably only works on systems using X11 display server protocol as it uses the Xlib extension XTEST for simulating mouse events. If you run Wayland, please give it a go with XWayland.

Heavily inspired by Kovaak's Sensitivity Matcher. I could not get it to work in Linux so I set out to make a viable alternative as I have enjoyed using it under Windows.

Installation

Manual

Using your base Python installation or favourite virtual enviroment:

# Setup
git clone https://github.com/grindzohr/SensMatch.git
cd SensMatch
python3 -m pip install -r requirements.txt

# Run
python3 sensmatch.py

PyInstaller package

A bundled package is available under releases. It's rather large as it contains a full Python enviroment and dependencies. The upside is that you don't need to have any knowledge of Python or even have it installed to use the tool.

# Make it executable
sudo chmod +x sensematch-0.1.0-beta

#Run
./sensematch-0.1.0-beta

Usage

Run the tool, then:

  1. Select the game/engine you want to convert the sensitivity from.
  2. Input your sensitivity value from this game/engine.
  3. If the game/engine you are converting to exists in the preset list, then select it now. The correct sensitivity value will be automatically calculated and displayed in the 'Sens' field. Great, you are done. If not, proceed to the next step.
  4. Aim at specific point in your new game and press Alt+., this will trigger a mouse event equivalent to a 360 degree rotation in the game/engine you are converting from.
  5. Depending on if you are under- or overshooting your target, adjust the the mouse sensitivity in your new game until Alt+. performs a perfect (or close enough) 360 degree rotation.

Configuration (optional)

SensMatch will look for a JSON configuration file in the following location:

~/.config/sensmatch/config.json

See example_config.json for syntax.

TODO

  • Despair when I realize how broken the tool is.
  • Create an in app tutorial.
  • Create tooltips for all the parameters.
  • Enable input of 'Spin' settings.
  • Add more common presets people might want.
  • Add support for custom 'spin' hotkey in config file.
  • Add support for user defined presets.
  • Make a proper icon.

sensmatch's People

Contributors

grindzohr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.