AntiMicro is a graphical program for Linux that can be used to map keyboard keys and mouse controls to a gamepad. This functionality allows a user to be able to play PC games that have no built-in controller support or poor controller support with a controller. Besides games, AntiMicro can be used to control any application running in an XWindows environment. The program has some neat features that go beyond simple button mapping.
AntiMicro is able to map a sequence of actions to one controller button press; an example use case would be mapping Shift+Tab to a button in order to bring up the Steam overlay interface in a game. AntiMicro supports macros for button presses in order to add conditional actions; an example is the hold action which can be used to only perform an action if the button is held over a period of time (prone in the Call of Duty games). Some other noteworthy features are 8-way control support for playing rougelike games, set support for defining multiple button configurations in one profile, and the ability to save and load configuration profiles for individual games and individual controllers.
AntiMicro version 2.0 and later support unified controller profiles by utilizing the SDL Game Controller API. One profile can be created that supports many different controllers. In case you have a controller that is not directly supported by SDL 2, AntiMicro has a way for you to map your controller as an SDL Game Controller so you will be able to use a game controller profile. In the future, it might be possible to download pre-configured profiles for applications. That would allow for a near plug and play experience.