Vigilant Gambit
Member
If you have a Steam Controller and you want to use a custom template on a non-Steam game, it's easy enough to set up. Just modify one of the default templates and save it.
The problem is, Steam has no way of mapping your game to an app id, so you can't download community configurations. This means that if, for example (like me ), you have the Gog version of Witcher III, you can't directly download any configs. You would have to make them from scratch yourself, or follow this tutorial to import them:
Also, I haven't figured out where these templates are stored for local games.
Anyway, the whole point of this thread is to share configs, so go ahead and paste the contents of some vdfs.
Here's my Alpha Protocol config to start:
The problem is, Steam has no way of mapping your game to an app id, so you can't download community configurations. This means that if, for example (like me ), you have the Gog version of Witcher III, you can't directly download any configs. You would have to make them from scratch yourself, or follow this tutorial to import them:
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.
Also, I haven't figured out where these templates are stored for local games.
Anyway, the whole point of this thread is to share configs, so go ahead and paste the contents of some vdfs.
Here's my Alpha Protocol config to start:
Code:
"controller_mappings"
{
"version" "2"
"title" "Alpha Protocol KB+M"
"description" "Slightly modified version of the default console button config. The face button conversation selection system will use the left analog stick instead of the face buttons."
"creator" "76561197965364472"
"group"
{
"id" "0"
"Mode" "four_buttons"
"bindings"
{
"button_A" "key_press SPACE, Interact/Cover"
"button_B" "key_press E, Melee"
"button_X" "key_press R, Reload"
"button_Y" "mouse_wheel SCROLL_UP, Change Weapon"
}
"settings"
{
"hold_repeat_inverval" "99"
"button_size" "17990"
"button_dist" "19990"
}
}
"group"
{
"id" "1"
"Mode" "dpad"
"bindings"
{
"dpad_north" "key_press Z, Skills"
"dpad_south" "key_press C, Gadgets"
"dpad_west" "key_press X, Weapons"
}
"settings"
{
"hold_repeat_inverval" "99"
"deadzone" "5000"
"edge_binding_radius" "24996"
"analog_emulation_period" "29"
}
}
"group"
{
"id" "2"
"Mode" "absolute_mouse"
"bindings"
{
"click" "key_press F, Scope Zoom/Center Camera"
}
"settings"
{
"sensitivity" "275"
"rotation" "15"
"doubetap_max_duration" "320"
}
}
"group"
{
"id" "3"
"Mode" "dpad"
"bindings"
{
"dpad_north" "key_press W, Move Forward"
"dpad_south" "key_press S, Move Back"
"dpad_east" "key_press D, Move Right"
"dpad_west" "key_press A, Move Left"
"click" "key_press LEFT_SHIFT, Sprint"
}
"settings"
{
"requires_click" "0"
"hold_repeat_inverval" "99"
"edge_binding_radius" "24995"
}
}
"group"
{
"id" "4"
"Mode" "trigger"
"bindings"
{
"edge" "mouse_button RIGHT, Aim Weapon"
}
"settings"
{
"hold_repeat_inverval" "99"
}
}
"group"
{
"id" "5"
"Mode" "trigger"
"bindings"
{
"edge" "mouse_button LEFT, Fire Weapon"
}
"settings"
{
"hold_repeat_inverval" "99"
}
}
"preset"
{
"id" "0"
"name" ""
"group_source_bindings"
{
"0" "button_diamond active"
"1" "left_trackpad active"
"2" "right_trackpad active"
"3" "joystick active"
"4" "left_trigger active"
"5" "right_trigger active"
}
"switch_bindings"
{
"bindings"
{
"button_back_right" "key_press R, Reload"
"button_escape" "key_press ESCAPE, Menu"
"right_bumper" "key_press G, Use Gadget"
"left_bumper" "key_press Q, Use Skill"
"button_menu" "key_press TAB, Intel"
"button_back_left" "key_press V, Crouch"
}
}
"settings"
{
}
}
}