Antimicro
[NOT maintained anymore] Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support
Install / Use
/learn @AntiMicro/AntimicroREADME
antimicro
🚨 Important information 🚨
This repo is currently unmaintained. The code hasn't been updated for a while.
There is new recommended version of this app called AntiMicroX
Installers can be downloaded from release page.
In case of Windows you can just download antimicrox-x.x.x-AMD64.exe from release page
What will happen to this repo?
Old issues will be triaged/cleaned up: https://github.com/AntiMicro/antimicro/issues/350
And after releasing the last release this repo will be archived.
Old README
We've Moved!
As of May 24, 2016, antimicro has moved from https://github.com/Ryochan7/antimicro to https://github.com/AntiMicro/antimicro. Additionally, project management has passed from Travis (Ryochan7) to the AntiMicro organization due to Travis having other interests and priorities.
So, thank you for your patience as we settle in. And a special thank you to the following GitHub users who have helped us make the transition:
- 7185
- DarkStarSword
- est31
- mtdeguzis
- qwerty12
- WAZAAAAA0
- zzpxyx
Description
antimicro is a graphical program used to map keyboard keys and mouse controls to a gamepad. This program is useful for playing PC games using a gamepad that do not have any form of built-in gamepad support. However, you can use this program to control any desktop application with a gamepad; on Linux, this means that your system has to be running an X environment in order to run this program.
This program is currently supported under various Linux distributions, Windows (Vista and later), and FreeBSD. At the time of writing this, antimicro works in Windows XP but, since Windows XP is no longer supported, running the program in Windows XP will not be officially supported. However, efforts will be made to not intentionally break compatibility with Windows XP.
Also, FreeBSD support will be minimal for now. I don't use BSD on a daily basis so the main support for FreeBSD is being offered by Anton. He has graciously made a port of antimicro for FreeBSD that you can find at the following URL: http://www.freshports.org/x11/antimicro/.
License
This program is licensed under the GPL v.3. Please read the gpl.txt text document included with the source code if you would like to read the terms of the license. The license can also be found online at http://www.gnu.org/licenses/gpl.txt
Download
Source code archives and Windows binaries are available from the antimicro Releases section on GitHub:
https://github.com/AntiMicro/antimicro/releases
As well as on BinTray:
https://bintray.com/antimicro/antimicro/antimicro
AntiMicro is currently in the official Fedora repository and can be installed with
$ sudo dnf install antimicro
For Debian and Debian-based distributions, such as Mint, Ubuntu, and Steam OS, please check the LibreGeek Repositories generously hosted by mtdeguzis:
http://packages.libregeek.org/
AntiMicro is currently available for Slackware via SlackBuilds, thanks to NK and Klaatu:
https://slackbuilds.org/result/?search=antimicro&sv=
Ubuntu users may also check the antimicro page on Launchpad:
Latest: https://launchpad.net/~mdeguzis/+archive/ubuntu/libregeek
Deprecated: https://launchpad.net/~ryochan7/+archive/ubuntu/antimicro
Command line
Usage: antimicro [options] [profile]
Options:
-h, --help Print help text.
-v, --version Print version information.
--tray Launch program in system tray only.
--no-tray Launch program with the tray menu disabled.
--hidden Launch program without the main window
displayed.
--profile <location> Launch program with the configuration file
selected as the default for selected
controllers. Defaults to all controllers.
--profile-controller <value> Apply configuration file to a specific
controller. Value can be a
controller index, name, or GUID.
--unload [<value>] Unload currently enabled profile(s).
Value can be a controller index, name, or GUID.
--startSet <number> [<value>] Start joysticks on a specific set.
Value can be a controller index, name, or GUID.
-d, --daemon Launch program as a daemon.
--log-level (debug|info) Enable logging.
--eventgen (xtest|uinput) Choose between using XTest support and uinput
support for event generation. Default: xtest.
-l, --list Print information about joysticks detected by
SDL.
--map <value> Open game controller mapping window of selected
controller. Value can be a controller index or
GUID.
Pre-made Profiles
There is a repository for pre-made antimicro profiles. Using a pre-made profile, you can have a controller layout that is suitable for playing a game without having to map everything yourself. It makes using antimicro really convenient. In order to use those pre-made profiles, you have to be running at least antimicro version 2.0 and antimicro must have been compiled with SDL 2 support.
https://github.com/AntiMicro/antimicro-profiles
Wiki
An effort is now being done to utilize the Wiki section on GitHub more. Please check out the Wiki at https://github.com/AntiMicro/antimicro/wiki to read various help pages that have been created. The Wiki is currently open to all GitHub users so feel free to add a new page or modify an existing page.
Build Dependencies
This program is written in C++ using the Qt framework. A C++ compiler and a proper C++ build environment will need to be installed on your system prior to building this program. Under Debian and Debian-based distributions like Ubuntu, the easiest way to get a base build environment set up is to install the meta-package build-essential. The following packages are required to be installed on your system in order to build this program:
- g++
- cmake
- libqt4-dev (Qt 4 support) or qttools5-dev and qttools5-dev-tools (Qt 5 support)
- libsdl2-dev (SDL 2) or libsdl1.2-dev (SDL 1.2)
- libxi-dev (optional. Needed to compile with X11 and uinput support)
- libxtst-dev (optional. Needed to compile with XTest support)
- libX11-dev (optional when compiled with Qt 5 support)
Building under Linux
In order to build this program, open a terminal and cd into the antimicro directory. Enter the following commands in order to build the program:
cd antimicro
mkdir build && cd build
cmake ..
make
sudo make install
The installation path of antimicro can be customized by specifying the CMAKE_INSTALL_PREFIX variable while running cmake.
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
This will install the antimicro executable to /usr/bin/antimicro. By default, the executable will be installed to /usr/local/bin/antimicro.
The cmake step will use pkg-config to attempt to find any SDL libraries that you have installed. The project is set up to look for a copy of SDL 2 followed by SDL 1.2. This behavior should work fine for most people. You can override this behavior by using the -DUSE_SDL_2 option when you run cmake. Using -DUSE_SDL_2=ON when you run cmake will mean that you want antimicro compiled with SDL 2 support. Using -DUSE_SDL_2=OFF when you run cmake will mean that you want antimicro compiled with SDL 1.2 support.
Here is an example of how to specify that you want antimicro to be compiled with SDL 2 support when you run qmake.
cmake -DUSE_SDL_2=ON ..
Building under Windows
Instructions provided by aybe @ https://github.com/aybe. Modified by Travis Nickles.
-
Download and install CMake: http://www.cmake.org/cmake/resources/software.html
-
You will need Qt with MinGW support: https://www.qt.io/download-open-source/. The current version of Qt that is being used to create builds is 5.6.0.
-
download SDL development package : http://www.libsdl.org/release/SDL2-devel-2.0.3-mingw.tar.gz
-
open the archive and drop the 'SDL2-2.0.3' folder in the 'antimicro' folder
-
open the project (CMakeLists.txt) in Qt Creator The CMake Wizard will appear the first time you open the project in Qt Creator.
-
Choose a Build Location. The recommendation is to create a "build" folder under the root antimicro folder and choose that for the build location.
-
In the Run CMake section, in the Arguments field, please input
-DCMAKE_PREFIX_PATH=<Path to MinGW Qt install>-DCMAKE_BUILD_TYPE=Release. Replace "<Path to MinGW Qt install>" with the actual path to your Qt installation. The default path for version Qt 5.6.0 is C:\Qt\Qt5.6.0\5.6\mingw49_32. -
Choose "MinGW Generator" for the Generator option in the Run CMake section
-
Click the Run CMake button and then click Finish
-
In the main IDE window, open the Build menu and select "Build All" (Ctrl+Shift+B)
-
The application will need SDL2.DLL. A build step has been added to CMakeLists.txt in order to automate the process. Click the "Projects" icon in the sidebar to bring up the "Build Settings" section. Within "Build Steps", click the "Details" button on the Make entry. In the expanded menu, uncheck the "all" checkbox and then check the "copy_sdl_dll" checkbox and run "Build All".
-
At this point, antimicro has been built for Windows and is runnable from Qt Creator. A couple more steps are required in order to make a distributable package.
-
Under "Build Settings", expand the Make menu and check the "install" and "install_dlls" c
