The controller basically acts as a mouse and keyboard if you’re not using it in combination with the SDK. The layout of the controller is like this:
buttons:
A = Return
B = Space
X = PageUp
Y = PageDown
Left bumper = Left Ctrl
Right bumper = Left Alt
Left trigger = Mouse button 1 (no axis)
Right trigger = Mouse button 0 (no axis)
Left flipper = Mouse button 3
Right flipper = Mouse button 4
pad button left = Mouse button 2
pad button right = Left shift
arrow next to steam button left = Tab
arrow next to steam button right = Escape
Axes:
Joystick = acts as Horizontal/Vertical by sending (Left, Right, Up, Down arrow keys)
pad left = acts as Mouse ScrollWheel axis
pad right = acts as Mouse X and Mouse Y
I’m also trying to use the controller in Unity Steam, with negative results. For now, what I have achieved is through a simple reading of the event log with this code:
`
void OnGUI()
{
Event e = Event.current;
if (e.isKey)
Debug.Log("Detected a keyboard event!" + e.modifiers +" + " + e.keyCode + " " );
if (e.isMouse)
Debug.Log("Detected a Mouse event!" + e.type);
}
`
If you try it you will see that some analog events are detected as keys. And there are some events not even detected, as the XY buttons.
Apparently, you can program games with the Steam control if you are part of SteamWorks. Then you can download the SDK STEAM with which you can develop or adapt applications using C ++ but not using Unity