(I also use Mint 17 with Cinnamon as my primary desktop)
You might consider using Xephyr, which can create a nested xserver inside of your Cinnamon desktop. I am able to use my gamepad (a Thrustmaster PS3-type) in a Xephyr server. I don't have Steam installed, but I verified this with another game (alex4). I ran into a problem forking Xephyr (which did not exist in older versions), but was able to work around this by launching from an xterm window. Looking at what I did might help you get started:
sudo apt-get install xterm xserver-xephyr alex4
Then from a terminal:
xterm -e Xephyr :1 -ac -screen 640x480 &
"xterm -e" causes xterm to launch and execute the following command.
"Xephyr :1" means the new display will be :1. Choose something different if you have multiple monitors. It needs to be something that doesn't yet exist. (If you have one monitor, it is display :0, a second is display :1 and so on.)
"Xephyr -ac" means to disable access controls, which I believe means the new xserver will have full access to the system.
"Xephyr -screen widthxheight" is the resolution (it can also take a third number for bit-depth, which I have used to get old windows programs that require 256 color mode to work via wine).
"&" causes xterm to fork, allowing you to enter another command in the terminal.
Next in the terminal:
DISPLAY=:1 alex4
Set the DISPLAY system variable to whatever display you created with Xephyr, then launch your desired program.
If you write a shell script to run these commands, put some sleep in it to give Xephyr enough time to start the new display, or your attempt to launch your program will fail with a segmentation fault.
Xephyr has a "-fullscreen" flag which you can use, but you need to make the resolution of your Cinnamon desktop match the screen resolution of your Xephyr server for it to work properly. Use xrandr for this, and remember your old resolution because you will have to set it back afterward. For example, in my case:
xrandr -s 640x480 && xterm -e Xephyr :1 -ac -screen 640x480 -fullscreen & sleep 3 && DISPLAY=:1 alex4 && killall xterm && xrandr -s 1920x1080 && killall Xephyr
(In case you don't know, the && symbol means wait for the first process to finish, then run the next. The single & symbol means fork the first process and continue on to the next one.)
Hopefully that helps you. (Type "Xephyr -help" for a full list of options. The man page is unfortunately sparse.)
unredirect
?