well I asked if I could post this in the thread and they stopped responding... but they brought it to my attention, so hopefully I'm not stepping on any toes here. but check it out - a way to import and export steam configurations, and load them for non-steam games. It's a wonky work around at the moment, but it works.
Inside your steam install folder, there is a folder called
controller_base. This is where all the controller configurations are. They are stored as VDF files that are human-readable. Inside this "controller_base" folder is another folder called
templates. Any vdf file in this folder will show up in the templates listing for any game, including non-steam games.
If you edit a vdf file by hand and drop it into that templates folder, you can access the binding on any game. Here's a quick test, save the following into your template folder as "test.vdf"
Code:
"controller_mappings"
{
"version" "2"
"game" "Gamepad with Mouse_2"
"title" "#Title"
"description" "#Description"
"group"
{
"id" "0"
"mode" "four_buttons"
"bindings"
{
"button_a" "xinput_button A"
"button_b" "xinput_button B"
"button_x" "xinput_button X"
"button_y" "xinput_button Y"
}
}
"group"
{
"id" "1"
"mode" "dpad"
"bindings"
{
"dpad_north" "xinput_button dpad_up"
"dpad_south" "xinput_button dpad_down"
"dpad_east" "xinput_button dpad_right"
"dpad_west" "xinput_button dpad_left"
}
"settings"
{
"deadzone" "5000"
}
}
"group"
{
"id" "2"
"mode" "joystick_camera"
"bindings"
{
"click" "xinput_button JOYSTICK_RIGHT"
}
"settings"
{
"output_joystick" "1"
}
}
"group"
{
"id" "3"
"mode" "joystick_move"
"bindings"
{
"click" "xinput_button JOYSTICK_LEFT"
}
"settings"
{
"adaptive_centering" "0"
}
}
"group"
{
"id" "4"
"mode" "trigger"
"bindings"
{
"click" "xinput_button TRIGGER_LEFT"
}
"settings"
{
"output_trigger" "1"
}
}
"group"
{
"id" "5"
"mode" "trigger"
"bindings"
{
"click" "xinput_button TRIGGER_RIGHT"
}
"settings"
{
"output_trigger" "2"
}
}
"group"
{
"id" "6"
"mode" "absolute_mouse"
"bindings"
{
"click" "xinput_button JOYSTICK_RIGHT"
}
"settings"
{
"sensitivity" "99"
"rotation" "15"
"doubetap_max_duration" "324"
}
}
"group"
{
"id" "7"
"mode" "joystick_move"
"bindings"
{
"click" "xinput_button JOYSTICK_RIGHT"
}
"settings"
{
"output_joystick" "1"
}
}
"group_source_bindings"
{
"0" "button_diamond active"
"1" "left_trackpad active"
"2" "right_trackpad inactive"
"6" "right_trackpad active"
"3" "joystick active"
"4" "left_trigger active"
"5" "right_trigger active"
"7" "right_trackpad inactive"
}
"switch_bindings"
{
"bindings"
{
"button_escape" "xinput_button start"
"button_menu" "xinput_button select"
"right_bumper" "xinput_button shoulder_right"
"left_bumper" "xinput_button shoulder_left"
"button_back_left" "xinput_button a"
"button_back_right" "xinput_button x"
}
}
"settings"
{
"left_trackpad_mode" "0"
"right_trackpad_mode" "0"
}
"Localization"
{
"english"
{
"Title" "Gamepad with High Precision Camera/Aim"
"Description" "The template works best for games that are designed with a gamepad in mind, but also support a desktop mouse for camera control or aim. This will do the best job of specifically taking advantage of the right side pad on your controller for precise aiming and camera control."
}
}
}
If this is saved into your template folder, you should see a new, 4th template appear when you look in your controller configuration under templates.
Even better - I'm dinking around with the files ATM, but it might be able to rebind the non-steam controls using this stuff. I'll post later if I find anything interesting.
enjoy!
EDIT: seeing the way these files are created and edited, I might be able to whip up a program that lets you rebind your games outside of steam BPM. It looks like the personal mappings are stored in the game folders themselves, but they are named according to steamID, which obfuscates the process a bit.