World of Warcraft: Gyrocamera

World of Warcraft and similar games pose a unique challenge when you try to find a binding for them. You need movement and camera controls while also simultaneously access to a ton of different bindings. The traditional setup for 3rd person games with your two thumbs controlling movement and camera heavily restricts your access to the face buttons and to the pads which could provide those keybinds. If my right thumb was free I could have access to 40 spells with one finger. ABXY and a 16 touch menu both with mode shifting. So step one is to FREE YOUR THUMBS. How do we do this? There only really is one option. Use the gyro. Technically you could move movement to the triggers and shoulder buttons but that's clunky as hell. I tried it and it just felt wrong. Moving movement to the Gyro also feels wrong, it's difficult to control and easy to mess up. The only reason i tried it was for science.

So Gyro for camera it is. But which mode? First I tried normal mouse mode. right trigger would activate the gyro and press the right mouse button. While it works quite well there are some major problems. If you want to change direction you'd have to steer in that direction, let go of the trigger and then readjust your grip on the controller otherwise if you reset your grip while still pressing the trigger you would face in the original direction again. That plays incredibly clunky. Here's what I ended up with. The gyro is set to a very small mouse region that's centered on the character. Since you can't set an activation button to that setting I have to set it to modeshift so it only activates when i pull the left trigger which is also set to right mouse. That way you can easily and smoothly control your camera with the gyro. Tilt it to the left just a few degrees and your camera will turn to the left and will keep turning as long as you keep it tilted. Tilt it more and you will turn faster. Recenter the controller and the movement will stop without going to the right. In essence it behaves like a joystick.The different horizontal and vertical scales are there to dampen vertical movement so i don't end up starring at the sky or the ground all the time.

This still will require some adjustment but I was able to circle strafe while casting different spells within minutes. It includes a regular mouse on the left pad for interaction with the world and a big touchmenu on the right pad. left grip is mode shift. it shifts the face buttons the right touch menu and turns the left pad into a touch menu for stuff like inventory, character screen, dungeon finder etc. The reason put gyro activation on the left trigger was that it allows me to move my right thumb more freely without cramping up.

You are going to have to adjust the keybind for spells to your particular binds in WoW. The ones included in this set up are for my install of WoW but as we all know every install is different.

For instructions on how to use this mapping with the Steam Controller in World of Warcraft, click the Download button or check out the instructions here.

Config Details

Gyrocamera
Elchtoeter
0
50

Need help with how to use these configs? Click here!

Download

Code

"controller_mappings"
{
	"version"		"2"
	"title"		"GyrocameraWoW"
	"Description"		"Joystick moves you around, left trigger activates the Gyro for camera controls, abilities are on the face buttons and on the right pad, Left pad for mouse interactions, triggers and bumpers for clicks and modifiers. "
	"creator"		"76561197995736859"
	"group"
	{
		"id"		"0"
		"Mode"		"four_buttons"
		"bindings"
		{
			"button_A"		"key_press 2"
			"button_B"		"key_press 4"
			"button_X"		"key_press 1"
			"button_Y"		"key_press 3"
		}
		"settings"
		{
			"haptic_intensity"		"3"
		}
	}
	"group"
	{
		"id"		"1"
		"Mode"		"dpad"
		"bindings"
		{
			"dpad_north"		"key_press W"
			"dpad_south"		"key_press S"
			"dpad_east"		"key_press D"
			"dpad_west"		"key_press A"
			"click"		"key_press SPACE"
		}
		"settings"
		{
			"requires_click"		"0"
			"haptic_intensity"		"0"
		}
	}
	"group"
	{
		"id"		"2"
		"Mode"		"dpad"
		"bindings"
		{
			"dpad_north"		"key_press W"
			"dpad_south"		"key_press S"
			"dpad_east"		"key_press D"
			"dpad_west"		"key_press A"
			"click"		"mouse_button RIGHT"
		}
		"settings"
		{
			"requires_click"		"0"
			"haptic_intensity"		"3"
		}
	}
	"group"
	{
		"id"		"3"
		"Mode"		"absolute_mouse"
		"bindings"
		{
			"click"		"key_press TAB, Target."
		}
		"settings"
		{
			"sensitivity"		"523"
			"haptic_intensity"		"2"
			"friction"		"1"
		}
	}
	"group"
	{
		"id"		"4"
		"Mode"		"trigger"
		"bindings"
		{
			"click"		"mouse_button BACK, Autowalk"
			"edge"		"mouse_button RIGHT"
		}
		"settings"
		{
			"output_trigger"		"1"
			"adaptive_threshold"		"2"
		}
	}
	"group"
	{
		"id"		"5"
		"Mode"		"trigger"
		"bindings"
		{
			"edge"		"mouse_button LEFT"
		}
		"settings"
		{
			"output_trigger"		"2"
			"adaptive_threshold"		"3"
		}
	}
	"group"
	{
		"id"		"6"
		"Mode"		"touch_menu"
		"bindings"
		{
			"touch_menu_button_0"		"key_press LEFT_CONTROL"
			"touch_menu_button_0"		"key_press 1"
		}
		"settings"
		{
			"touch_menu_button_count"		"16"
		}
	}
	"group"
	{
		"id"		"7"
		"Mode"		"absolute_mouse"
		"settings"
		{
			"sensitivity"		"274"
			"haptic_intensity"		"3"
			"sensitivity_vert_scale"		"43"
			"mouse_smoothing"		"30"
			"gyro_button"		"9"
		}
	}
	"group"
	{
		"id"		"8"
		"Mode"		"touch_menu"
		"bindings"
		{
			"touch_menu_button_0"		"key_press 5, 5"
			"touch_menu_button_1"		"key_press Q"
			"touch_menu_button_2"		"key_press E"
			"touch_menu_button_3"		"key_press R"
			"touch_menu_button_4"		"key_press F"
			"touch_menu_button_5"		"key_press C"
			"touch_menu_button_6"		"key_press Z"
			"touch_menu_button_7"		"key_press BACK_TICK"
			"touch_menu_button_8"		"key_press LEFT_SHIFT, Mount, ghost_060_vehicle_0010.png #3D0000 #ad5d00"
			"touch_menu_button_8"		"key_press F, Mount, ghost_060_vehicle_0010.png #3D0000 #ad5d00"
			"touch_menu_button_9"		"key_press C"
			"touch_menu_button_10"		"key_press Y"
			"touch_menu_button_11"		"key_press BACK_TICK"
		}
		"settings"
		{
			"touch_menu_button_count"		"9"
			"touch_menu_scale"		"57"
		}
	}
	"group"
	{
		"id"		"9"
		"Mode"		"absolute_mouse"
		"bindings"
		{
			"click"		"mouse_button RIGHT"
		}
		"settings"
		{
			"sensitivity"		"297"
			"haptic_intensity"		"2"
			"friction"		"1"
		}
	}
	"group"
	{
		"id"		"10"
		"Mode"		"touch_menu"
		"bindings"
		{
			"touch_menu_button_0"		"key_press LEFT_SHIFT, Inv, ghost_030_inv_0070.png #232323 #E4E4E4"
			"touch_menu_button_0"		"key_press B, Inv, ghost_030_inv_0070.png #232323 #E4E4E4"
			"touch_menu_button_1"		"key_press L, Map, ghost_050_menu_0030.png #232323 #E4E4E4"
			"touch_menu_button_2"		"key_press I, Dungeonfinder, ghost_040_act_0070.png #232323 #ad0000"
			"touch_menu_button_3"		"key_press N, Talent, ghost_050_menu_0080.png #232323 #00adad"
			"touch_menu_button_4"		"key_press LEFT_SHIFT, Mounts, ghost_060_vehicle_0010.png #000000 #ad0000"
			"touch_menu_button_4"		"key_press P, Mounts, ghost_060_vehicle_0010.png #000000 #ad0000"
			"touch_menu_button_5"		"key_press LEFT_SHIFT, Char Fenster, ghost_050_menu_0040.png #00663D #00adad"
			"touch_menu_button_5"		"key_press C, Char Fenster, ghost_050_menu_0040.png #00663D #00adad"
		}
		"settings"
		{
			"touch_menu_button_count"		"7"
		}
	}
	"group"
	{
		"id"		"11"
		"Mode"		"touch_menu"
		"bindings"
		{
			"touch_menu_button_0"		"key_press LEFT_CONTROL"
			"touch_menu_button_0"		"key_press 1"
			"touch_menu_button_1"		"key_press LEFT_CONTROL"
			"touch_menu_button_1"		"key_press 2"
			"touch_menu_button_2"		"key_press LEFT_CONTROL"
			"touch_menu_button_2"		"key_press 3"
			"touch_menu_button_3"		"key_press LEFT_CONTROL"
			"touch_menu_button_3"		"key_press 4"
			"touch_menu_button_4"		"key_press LEFT_CONTROL"
			"touch_menu_button_4"		"key_press 5"
			"touch_menu_button_5"		"key_press LEFT_CONTROL"
			"touch_menu_button_5"		"key_press Q"
			"touch_menu_button_6"		"key_press LEFT_CONTROL"
			"touch_menu_button_6"		"key_press E"
			"touch_menu_button_7"		"key_press LEFT_CONTROL"
			"touch_menu_button_7"		"key_press R"
			"touch_menu_button_8"		"key_press LEFT_CONTROL"
			"touch_menu_button_8"		"key_press F"
			"touch_menu_button_9"		"key_press LEFT_CONTROL"
			"touch_menu_button_9"		"key_press C"
			"touch_menu_button_10"		"key_press LEFT_CONTROL"
			"touch_menu_button_10"		"key_press Y"
			"touch_menu_button_11"		"key_press LEFT_CONTROL"
			"touch_menu_button_11"		"key_press BACK_TICK"
		}
		"settings"
		{
			"touch_menu_button_count"		"12"
		}
	}
	"group"
	{
		"id"		"12"
		"Mode"		"dpad"
	}
	"group"
	{
		"id"		"13"
		"Mode"		"four_buttons"
		"bindings"
		{
			"button_A"		"key_press LEFT_CONTROL"
			"button_A"		"key_press 2"
			"button_B"		"key_press LEFT_CONTROL"
			"button_B"		"key_press 4"
			"button_X"		"key_press LEFT_CONTROL"
			"button_X"		"key_press 1"
			"button_Y"		"key_press LEFT_CONTROL"
			"button_Y"		"key_press 3"
		}
	}
	"group"
	{
		"id"		"14"
		"Mode"		"mouse_region"
		"settings"
		{
			"scale"		"25"
		}
	}
	"group"
	{
		"id"		"15"
		"Mode"		"dpad"
		"bindings"
		{
			"dpad_east"		"key_press 0"
			"dpad_west"		"key_press 9"
		}
		"settings"
		{
			"deadzone"		"0"
			"haptic_intensity"		"3"
			"gyro_button"		"2"
			"gyro_neutral"		"16383"
		}
	}
	"group"
	{
		"id"		"16"
		"Mode"		"mouse_region"
		"settings"
		{
			"scale"		"20"
			"sensitivity_horiz_scale"		"24"
			"sensitivity_vert_scale"		"24"
		}
	}
	"group"
	{
		"id"		"17"
		"Mode"		"mouse_region"
		"settings"
		{
			"haptic_intensity"		"0"
			"scale"		"6"
			"position_y"		"51"
			"sensitivity_horiz_scale"		"56"
			"sensitivity_vert_scale"		"27"
		}
	}
	"group"
	{
		"id"		"18"
		"Mode"		"joystick_move"
	}
	"group"
	{
		"id"		"19"
		"Mode"		"joystick_move"
	}
	"preset"
	{
		"id"		"0"
		"name"		""
		"group_source_bindings"
		{
			"0"		"button_diamond active"
			"12"		"button_diamond inactive modeshift"
			"13"		"button_diamond active modeshift"
			"1"		"joystick active"
			"2"		"left_trackpad inactive"
			"6"		"left_trackpad inactive"
			"9"		"left_trackpad active"
			"10"		"left_trackpad active modeshift"
			"14"		"left_trackpad inactive"
			"19"		"left_trackpad inactive"
			"3"		"right_trackpad inactive"
			"8"		"right_trackpad active"
			"11"		"right_trackpad active modeshift"
			"4"		"left_trigger active"
			"5"		"right_trigger active"
			"7"		"gyro active"
			"15"		"gyro inactive"
			"16"		"gyro inactive"
			"17"		"gyro active modeshift"
			"18"		"gyro inactive"
		}
		"switch_bindings"
		{
			"bindings"
			{
				"left_bumper"		"key_press LEFT_SHIFT"
				"right_bumper"		"key_press LEFT_CONTROL"
				"button_escape"		"key_press ESCAPE, Menu"
				"button_back_right"		"key_press TAB"
				"left_trigger_threshold"		"mode_shift gyro 17"
				"button_menu"		"key_press M, Map"
				"button_back_left"		"mode_shift left_trackpad 10"
				"button_back_left"		"mode_shift right_trackpad 11"
			}
		}
		"settings"
		{
		}
	}
}