Steam Controller

Steam Controller

Kaon Jul 9, 2018 @ 1:00am
Android Gamepad Support (not just for Steam Link)
I received my Steam Controller a few days ago, and it's great. For PC use, it's everything I expected it to be. However, I also had what felt like a reasonable expectation that Android would be able to recognise the device as a gamepad, and it appears that that is not the case.

Lizard mode makes sense for the most part - being able to use the controller as a basic PC input is a cool way to get to Steam before it's up and serving your custom controller profiles... unless your system requires a login or you've locked your screen or you need to type anything at all before actually getting into Steam, in which case you're out of luck and need to use a mouse and keyboard anyhow (which is usually the case for me).

But attempting to use the controller in Android without a config overlay is so disappointingly impossible, and for me it even becomes a hindrance since connecting a 'physical keyboard' (as the Steam Controller appears to Android) totally prevents my software keyboard from displaying. I expected to be able to use the touchpads to replicate my thumbs being physically on the screen, because with the design of the Steam Controller that seems obvious, but there's no way to do it. Even just basic generic gamepad support would be thrilling, but no.

So question one, dear Gaben, is thus - what is your plan re: Android? Please... do have a plan.

Question two - could there ever be a way for the Steam Controller itself to support on-board profiles (allowing manual switching from lizard mode to something more useful)?

Barring that, if it's technically feasible, I'd love to see a Valve-built Android config app of the sort deployed with PC Steam, which is mostly marvellous, but ideally including smartphone-specific stuff like touchscreen emulation for the pads. This being either built in to the main Steam app or broken out into an offline version (the latter would be preferable to me, but both would be nice).

Has there been any official word on any of these points? Could there be? Please?
Last edited by Kaon; Jul 9, 2018 @ 1:01am
< >
Showing 1-9 of 9 comments
figmentPez Jul 9, 2018 @ 7:24am 
Originally posted by Nobu:
However, I also had what felt like a reasonable expectation that Android would be able to recognise the device as a gamepad, and it appears that that is not the case.

Your expectation was not at all reasonable. What makes the Steam Controller work is software. Namely the support for the controller that is built into Steam. The controller simply cannot translate the touchpad input into gamepad inputs on it's own. A device capable of doing that would get worse battery life and be more expensive, because it would need more processing power in order to translate the touchpads into gamepad inputs.

As for Valve's plans for the future... I don't think they even post here, and since they kept the Steamlink App a secret until just before they released it, I don't think they'll do any different for future smartphone plans.

I don't know what the exact technical specs are for the SC, but given that they had to pull off some amount of tech wizardry just to be able to enable Bluetooth with the limited amount of memory on the controller, I'm going to guess that adding more on-board profiles is completely out of the question. Maybe in the next version of the SC in a few years?

There may be coders working on a third-party app to get the Steam Controller working on Android. There is Linux code to get the SC working there without Steam, and that could be ported to Android. I have no idea what the project name is, how far along it is, or if it will ever work without needing root, but I've heard rumors of the possibility.
Kaon Jul 9, 2018 @ 12:49pm 
Sure, but at face value the device is a gamepad. Lizard mode itself is a weird choice versus basic gamepad functionality, especially given the challenges with logins and typing that I mentioned in the OP. If the device somehow pulled off lizard mode and gamepad functionality without Steam running, or even just gamepad first and foremost, then that would likely be more understandable to a Steam Controller layman, but it doesn't, and having been uninitiated in the grand order of Steam Controller wizardry, I gotta say it was unexpected.

You don't have to dash my hopes, though. They're not high. I'm posting here because I didn't see anything recent on the subject, and I figured it's worth broaching whether there's strong official communication or not. Doesn't hurt to ask.

Based on this teardown:

https://www.ifixit.com/Teardown/Steam+Controller+Teardown/52578

the SC has the following components:

- NXP LPC11U37F 32-bit ARM Cortex-M0 microcontroller

- Nordic Semiconductor nRF51822 Bluetooth Smart and 2.4GHz proprietary SoC

- Invensense MPU-6500 Six-Axis (Gyro + Accelerometer) MEMS MotionTracking device

which leads us to the following documents:

https://www.nxp.com/docs/en/data-sheet/LPC11U3X.pdf
https://www.nordicsemi.com/eng/Products/Bluetooth-low-energy/nRF51822

which tells us that the ARM SoC has 128kb of program memory, and various amounts granted to other purposes. For your information. Obviously we don't know exactly how all of that memory is being used. I tried to find some example of gaming mouse memory values/usage which seems like it would relate to this, but I didn't have any luck. That said, I also haven't seen any reason to expect the Steam Controller lacks sufficient storage to host on-board profiles, so do you have any reference to support your claim that 'they had to pull off some amount of tech wizardry' due to memory shortage?

Regarding third-party config apps and such, I've seen talk of this elsewhere. I've seen esoteric workarounds to getting the controller running on a smartphone. I've used sc-controller on Linux, and it's fantastic, but that's not the point. Right now, Valve has a greater opportunity than console hardware developers to have the best controller for touch devices as well as mouse-heavy games (not to mention everything else). Lizard mode default is quirky and weird, and borderline not useful. I think they should fix that, and I hope they can. That's all there is to it.
Last edited by Kaon; Jul 9, 2018 @ 12:56pm
figmentPez Jul 9, 2018 @ 1:11pm 
The reason why lizard mode works and gamepad emulation would be impossible is because computers have touchpad drivers built-in to the OS. The Steam controller says "hi, I'm a touchpad" and proceeds to send the raw input from the pad to the OS, which does the heavy lifting. The SC can't do the work of changing the touchpad into gamepad output, it relies on the host computer to do that. If the SC had some sort of default gamepad mode, it would be the analog stick and buttons only, neither pad would be able to function as anything other than a mouse input. It wouldn't help to navigate enough to get Steam running, which is the point of lizard mode.

As for my evidence that the SC is running out of room. It's from discussions about the latest firmware updates, and how you can't just load the firmware on without going through Steam. The memory accessible via USB isn't the only part that had to be modified to get Bluetooth support. They ran out of room on the microcontroller for custom code, so they had to use the microcontroller to then update the Bluetooth chipset. That's why there are more issues with the BLE update than their have been with previous firmware updates. I don't have the time or energy today to track down old posts. Believe me or don't, it matters not to me.
Kaon Jul 9, 2018 @ 1:46pm 
Right, but my point was that lizard mode basically doesn't help much anyway because you will very often have to use a keyboard to get to Steam before lizard mode is helpful. If Steam starts on boot, the only case where it wouldn't be running is when you've rebooted and are sitting at a login prompt (requiring keyboard entry), switched users and need to log back in (requiring keyboard entry), or Steam has crashed, which would be a useful situation for lizard mode unless for some reason Steam requires you to log back in (which does happen). I don't personally see a reason to stop and start Steam all the time, so lizard mode seems far less useful to me than just supporting a generic or Xinput device profile out of the box and allowing the controller to be useful for many other applications (like all touch devices). Mouse beats lizard almost every time.

Regarding memory usage, sure, I believe you, but that doesn't mean the device can't theoretically be changed for the better by taking out old code. Modifying the current state of the controller is exactly the point. If there's a way to change the default behaviour from lizard to Xinput or generic or PS4 via an optional firmware update, then I would take any other option in a heartbeat, even if it were only the hardware controls. Obviously I'm ignorant as to the memory economics necessary to accomplish this, and maybe it's not possible, but I think it would be a huge step up, and again, doesn't hurt to ask.
Last edited by Kaon; Jul 9, 2018 @ 1:53pm
figmentPez Jul 9, 2018 @ 2:02pm 
Originally posted by Nobu:
sitting at a login prompt (requiring keyboard entry),

Windows 10, and I think Win 7 as well, have an on screen keyboard that can be accessed from the login prompt.
Kaon Jul 9, 2018 @ 8:17pm 
Okay, but again, the choice is either to inefficiently dodder around in your operating system or to support already massive and ever growing mobile gaming platforms. I don't personally think lizard mode is a great default, but there are other options, and my hope is that Valve will come up with something. I'm glad you're satisfied, though. Godspeed you, sir.
figmentPez Jul 9, 2018 @ 8:31pm 
Originally posted by Nobu:
Okay, but again, the choice is either to inefficiently dodder around in your operating system or to support already massive and ever growing mobile gaming platforms. I don't personally think lizard mode is a great default, but there are other options, and my hope is that Valve will come up with something. I'm glad you're satisfied, though. Godspeed you, sir.

Okay, but again, some sort of default gamepad mode wouldn't be the Steam Controller, it'd just be a half-broken gamepad. That's not really support. There are lots of gamepads that already work with Android, and do a much better job than the Steam Controller could do without some sort of application to actually make it the Steam Controller.
Last edited by figmentPez; Jul 9, 2018 @ 8:41pm
Kaon Jul 9, 2018 @ 8:47pm 
But it could be a usable gamepad. It's just a fact that supporting even a basic hardware gamepad profile would make the controller more useful on more systems. If there's a way for Valve to create a config app to support the touchpads and more complex configurations, it could be properly great.

We're going in circles though, so let me say that I hear you - you don't think the Steam Controller can or will be improved. Understood. I'm interested in other thoughts now, if there are any.
Last edited by Kaon; Jul 9, 2018 @ 9:26pm
figmentPez Jul 14, 2018 @ 2:43pm 
Sorry you didn't get more discussion. You might find more discussion on the potential of the Steam Controller on https://www.reddit.com/r/SteamController/ . There's a pretty active community there, including people really pushing the limits of what the SC can do.
< >
Showing 1-9 of 9 comments
Per page: 1530 50

Date Posted: Jul 9, 2018 @ 1:00am
Posts: 9