notes-games-steamController

Review

the advertised reason to have a controller is that you can easily sit on a couch far away from the computer and use the controller (compare to setting up a station with a keyboard and mouse on a desk in front of where you are sitting). But it might also have user interface advantages over a keyboard and mouse in some situations.

the steam controller has an amazing amount of controls and buttons. I think the idea here is to make very easy to hold your hands in one position and then reach as many buttons, and analog directional controls, as possible without moving them. Compare to a keyboard, which (a) requires you to move your hands to reach all the keys (exposing you to potential imprecision when you move them back until you become a really good typist) and (b) doesn't have analog controls. The benefits of a keyboard, though, is that (a) it has many more buttons overall, and (b) it is fast to move your hands away from a keyboard and to something else (like a mouse); a controller is meant to be held with two hands, and it takes much more time to (1) put the controller down, (2) move your hands to something else and use it, (3) pick the controller up again.

the controller also has haptic feedback

ergonomically, i find the controller to be slightly too large, but only slightly (it's mainly too large in that the two bulbous 'grips' are a little too tall/long for me; the rest would be fine if they were slightly shorter). Imo the right way to hold the controller is to put your pointer finger on the shoulder buttons and your middle fingers on the triggers (at first i held it with my pointer fingers over the triggers, which made the controller even more too big). It's also a bit too heavy. But i haven't used an xbox controller recently, so maybe in comparison it's not any worse, i don't know.

Types of customization

when in steam, there is an amazing amount of customization available; this allows you to map the controller's inputs to other things so that you can use them even for games that weren't designed for them. And, for each game, Steam maintains a library of controller mappings that other users have shared, sorted by popularity, so that you don't have to figure out a good mapping yourself. Also, you can program 'mode shift' buttons, which, like the 'SHIFT' key on keyboards, allows you to have multiple mappings for the other buttons on the controller and 'mode shift' between them. There is also something called 'action sets', which is a total remapping of the controller depending on context, or triggered by a button.

Touch Menus, which are Input Styles that can only be associated with the two trackpads, allow you to quickly select a hotkey out of up to 16 hotkeys. The video on this page explains how to use the Touch Menu feature: http://tay.kinja.com/steam-controller-touch-menus-mindblown-1739615996

with Touch Menu, if you have many items, most of the items are configured under Advanced.

To use the Action Sets, create an Action Set, which is an alternate mode (that is, an alternate mapping of the entire controller). You can set Action Sets to automatically switch based on whether the cursor is or isn't showing (using 'MANAGE ACTION SET' at the bottom of the screen when you select an Action Set); i think some games may support other context-dependent switches also. You can also set other buttons to switch between action sets by assigning it to the special 'SET' key on the virtual keyboard. Each Action Set can have its own Mode Shifts, too.

The purpose of Mouse Regions is shown in https://www.youtube.com/watch?v=Thg_iWTfMAc . To use Mouse Regions, select the 'Mouse Region' Style of Input.

The Steam Controller has a Steam Controller HUD option that shows a graphical overlay when you use some of the inputs (seems to me to be mainly the joystick inputs) to show you what the game is receiving. I didn't find this too useful; but it would be if it were more comprehensive (showing ALL inputs being sent to the game).

You can program one button on the Steam Controller to output a multiple-key combo, eg Alt-Tab.

" You can also use multi-button option to switch action sets automatically during an action - eg. opening the inventory, entering a vehicle..."

" First, I had no idea what "haptic feedback" even was. When I began using the controller it was immediately clear. The controller has these little motors in it, similar to how current controllers rumble. The key here is that these motors are extremely fine and precise. It completely corrected the fears of not being able to "feel" where the mouse was using the track pads. The motors can be adjusted to provide different feelings. It can mimic mouse scroll wheel clicks, mouse clicks, provide resistance when moving the mouse etc. It's just about impossible to explain, but when you use it you understand instantly. The controller would have instantly failed if this wasn't implemented, I feel it's that important. The other part of the controller is the ability to customize the controller in any possible way you can imagine. I've never seen anything like this. The controller's inputs are 2 touchpads, ABXY buttons, analogue stick, home button, 2 start/select buttons, 2 shoulder buttons, 2 trigger buttons which provide a light pull and full pull trigger, and as a great surprise it has 2 "squeeze buttons" on the back of the handles of the controller called grip buttons and finally a gyro inside the controller

Every one of these inputs can be customized in whatever way you can possibly think of... options include - Directional Pad, Button pad, Mouse, Mouse Joystick, Joystick Move, Joystick Camera, Scroll Wheel, Touch Menu Hotkeys and Mouse region ((my note: touchpads now also have 'Outer Ring Binding')). You can assign any of these options to any input you want. Each of these has advanced options that im just going to blurt out in no particular order... Swipe Direction offset, friction through haptic feedback, haptic intensity, defined keyboard combinations such as Ctrl+1, alt+p etc etc. Direction inversion, sensitivity, hotkey lists, scroll lists, mouse dead zones, touch or click inputs, different ring bindings for the touch pads, digital or analogue dpad layouts, hold to repeat, repeat intervals time, button radius on pad, button distances on pad, trackball mouse mode, trackball friction, vertical and horizontal friction scales, momentum and acceleration, smoothing, edge spin radius/speed, touch binding, trigger press mouse dampening, double tab duration and binding, minimum movement threshold, confirmation beeps, stick response (linear, aggressive, relaxed, Wide, Extra Wide), swipe duration, output anti-deadzones and buffer, # of touch menu buttons, touch menu button display positions, display bindings, opacity, size, up to 16 hotkey bindings, mouse region size, invert ring bindings, snap back mouse on stop... and probably the craziest option is that you can bind a button to do mode shifting, essentially allowing you to hold down whatever desired button to change the function of the current thing you are editing. Example, I want to use my left track pad as a mouse, but I can bind mode switching to the right grip button and then have the left track pad as a hotkey menu, when I let go of the grip button it goes back to a mouse. " -- http://www.amazon.com/Steam-Controller-SteamOS/product-reviews/B016KBVBCS?pageNumber=7

Remapping the controller for non-Steam games

But i don't think there is any way to remap the controller if you are using it outside of Steam. However, there is a way to run non-Steam applications under Steam to get around this: https://support.steampowered.com/kb_article.php?ref=2219-YDJV-5557 ; i tried that with RetroArch? and indeed, using that method, i can run RetroArch? under Steam and press the Steam button on the controller to access the Steam overlay which has controller configuration options; i was able to successfully remap the controller in this fashion; i didn't even have to be in Steam Big Picture Mode (although if i long-pressed the Steam button on the controller it seemed to start Big Picture Mode; and if i pressed the Steam button while in the Steam UI it focused the Steam window and i couldn't figure out how to get back into the Steam overlay within the external application anymore after that time). You can even see community controller configs for external games!

Inventory of controls

directional controls that a steam controller has:

total: 8 dof (degrees-of-freedom)

buttons/clicks:

total: 17 buttons (the controller also has an on/off/GUI/'steam' button but i don't think that can be used for controlling games or applications)

note: not counted in the above each of the two trackpads could be set to act as 4 buttons (one in each cardinal directions), but this means not using them as directional controls. This would be 2*4 = 8 more buttons.

note: not counted in the above, in "joystick move" input style (any others?), you can also set the outer ring of the trackpads to additionally output a button press, eg to activate 'run' while sending directional move commands. This would be 2 more buttons.

However, the Steam Controller excels in providing a variety of configurable combination input methods to quickly access many more than 15 things, including: Action Sets (multiple controller mappings that can be swapped into by pressing a button), Mode Shifts (not sure about this but i think this is how you would program key combo type things, eg so 'X+A' could have some meaning different from 'A'), and Touch Menus (which allows you to select between a small number of hotkeys using an onscreen menu controlled by one of the trackpads).

(is there anything this controller does NOT have that other popular controllers commonly have? Yes, it only has one analog stick (on the left), instead of two (on the left and on the right); but you can map one of the trackpads to output as the other analog stick; also, it has an analog trackpad instead of a digital directional pad ("d-pad"), but again, you can map one of the trackpads to output as a dpad. For an overview of gamepads, see https://en.wikipedia.org/wiki/Gamepad and http://wiki.libretro.com/images/6/68/Retropad_360pad.png (picture from http://www.libretro.com/index.php/getting-started-with-retroarch/ ))

Conventions for controls

for ppl who play video games, it seems like the various buttons on the controller have some conventional roles:

Controls for Windows

here's the mapping you get if you try to just use the steam controller in Windows, with Steam running in the background:

(see https://www.reddit.com/r/SteamController/wiki/index#wiki_desktop_mode_bindings for more)

Big picture mode

to setup the controller you might have to activate 'big picture mode' in steam. It's the little 'controller' icon near the top-right of the steam application screen.

'big picture mode' sometimes has some information scrolling off the bottom of the screen when you start, depending on what sort of info is in the list of things to maybe show you. This is normal.

to make Steam big picture mode less demanding on your GPU:

Battery

the steam controller can be used wirelessly or with a USB cable.

the controller has 2 AA batteries. They are included, so you don't have to buy them to get started. If the batteries run out you can just plug it in via the USB cable.

these days you can buy rechargable AA batteries and buy a charger for them (my supermarket had this), i recommend this eventually.

Setting up the Retroarch emulator (with the Steam controller)

Random tips

a guy says "Push steam+A, to cycle between different paired devices so you don't have to re-pair every time you move. " I haven't tested that myself.

Touch menu numerology

intriguingly, the Steam Controller touch menu has the following options for # of buttons, some of which are not square numbers:

i was curious what the rule was for working in 13 (which is prime), and my wife pointed out that you take any factor of 4 and then add one (so the factor of 4 is divided into four even sides, and the added one is the center button).

Issues/ suggestions

the controller isn't documented nearly enough.

the controller only outputs 2 gyro axes, not 3.

it seems like sometimes my changes to controller configuration get lost in between Steam invocations. I think the way to solve this is to 'export controller configuration' with Y in the Steam controller configuration screen after configuring. The release notes from a recent update suggest they've fixed this, but i haven't tested it since.

if your computer is not very powerful, then running Steam big picture mode, and then alt-tabbing out of it to eg use a web browser, slows down the web browsing significantly, even if in Steam you are just on the main menu, not playing a game; i think Steam Big Picture mode must be hogging the graphics card, because neither the CPU nor the memory appears to be under load according to Task Manager.

(some of the following is redundant with the above)

needed improvements for the steam controller:

would be nice's:

Issues

actually, at least with Elite (i havent really played anything else yet), i have semi-frequent problems with the Steam Controller, so i'm not sure if i can recommend it anymore. Sometimes when in Big Picture mode it crashes for no reason. Other times, even if in normal mode, the controller somehow forgets its configuration (goes back to the default), seemingly when i alt-tab a lot between a fullscreen Elite and Windows. These seem to require restarting my computer, which is really annoying to my friends with whom i am playing.

By 'semi-frequent' i mean maybe once per 4 hours of play.

in some situations Big Picture crashes mid-game and then i can't use the controller! i can't figure out what causes it, so i try not to use Big Picture when actually playing, only when reconfiguring controls.

sometimes stuff gets a little screwy but switching the Action Set using the controller seems to fix it.

which controls are good for which

---

example: Elite Dangerous

This is too bad, because it's much more fun to use the gyro for roll and pitch. The gyro is precise.

wishlist

need way to switch which action set is the default

Links