ControllerMate vous permet de reprogrammer les boutons d'un contrôleur de jeu.

Vous pouvez assigner de nombreuses tâches et macros à chaque bouton.
L'innovation apportée par ce logiciel consiste en une programmation de manière schématique, par blocs.
Il peut allouer une action à un changement de vitesse d'un périphérique, comme une souris ou un trackball.
Il gère également les périphériques virtuels.
Il possède 58 types de blocs, regrouppés en plusieurs catégories: des timers, pour des actions limités en durée, des calculs, des scripts, ou des opérateurs logiques.

En anglais, il est limité à 10 blocs d'action et à 20mn de fonctionnement.