Steam Controller

Steam Controller

ugafan Apr 14, 2022 @ 3:51pm
A simple demonstration of a mode shift vs. a layer
I'm posting this because there seems to be some confusion over the difference between a mode shift and a layer. The two are not equivalent. I've created a desktop configuration to demonstrate this.

steam://controllerconfig/413080/2794411487

1. Open WordPad
2. Press "A button" to start.
3. Click left trackpad. This is a mode shift.
4. Click right trackpad. This applies a layer.

As you can see from running the test, the mode shift does not interrupt input from the "A Button", whereas the action layer does.

Currently, we only have Layers in Deck UI. Please add mode shifts to Deck UI.
< >
Showing 1-5 of 5 comments
Resolve64 Aug 18, 2024 @ 9:48am 
But can’t you make inputs inherited from the parent layer? My question would be what is the point of mode shifts if you can do everything you want with a layer shift?
DaMu Aug 20, 2024 @ 6:13am 
Originally posted by Resolve64:
But can’t you make inputs inherited from the parent layer? My question would be what is the point of mode shifts if you can do everything you want with a layer shift?
Well, no.

Layers are more versatile because there any digital input or a different press type of that input can call and cancel layers, whereas Mode Shifts are only called when a button from a given list is held active, similar to a Chord Binding.

But ugafan has a point. Mode shifts don't interrupt ongoing turbo actions from the default set, but the Action Layer does, even if the layer has nothing to do with the button.

Do note, that while Mode Shift was finally added to modern Big Picture configurator, it currently doesn't work as expected. There are blank D-Pad Mode Shifts in the Action Layer for both pads that must be removed, could be an import bug. We only need a Mode Shift in the default set for this test.

But another thing to add? If the intention is to have an Always-On action, use another Layer with the Always-On binding, not a toggleable turbo persisting from a button. I did this with the B button to add a new Layer that does the turbo "-" test, and neither trackpad click interrupts.
Resolve64 Sep 2, 2024 @ 3:32pm 
Huh. Would a layer hold interrupt a turbo function if it is inherited from a parent layer? I thought the point of inherited bind was to not change between layer shifts unless edited manually.

I'm just not sure I see the value in mode shifting over layer shifting in the case of, say, a joystick. For instance, in a first-person shooter, I'd like Flick-Stick set by default (perhaps it's a fast-paced game where I'd want to whip around to check my 6:00), but when I ADS it switches to the standard Relative Mouse setting which is way more useful in that scenario. I can set that up easily with a layer shift or a mode shift.

My question is what can a mode shift do that a layer shift can't? And why can mode shifts only be called from a given list? Could the interruption of the A button be an unintended glitch from the layer shift function? Why the distinction?
Resolve64 Sep 2, 2024 @ 3:54pm 
Just tested it in notepad++. Action Layers do not interrupt things like turbo functions. Perhaps you were thinking of Action Sets?

The test:

The A Button was held down and was turbo outputting the letter "A" into the text editor. I tapped the left bumper and was getting a single output of the letter "L". I set the Back button the shift the layer (also the letter "V" so you can see), and when I pressed it, the constant stream of the letter "A" was unchanged. To test, I set the left bumper to the "T" button in the child layer. When I tapped it, I got a single output of that letter.

Data:

aaaaaaaaaaalaalaalaaaaaaaavaaataataataataaaaaaaavaaalaalalaaaa

With this, I've proven Layer Shifts do not affect inherited inputs.
Last edited by Resolve64; Sep 2, 2024 @ 3:55pm
ugafan Sep 2, 2024 @ 4:38pm 
Set up this scenario:

A button = A key. Enable turbo and toggle.

Left trackpad = As Mouse
Create a mode shift to change left trackpad. Set mode shift button to Left Pad Click.

Right trackpad = As Mouse. Click to hold action layer.
< >
Showing 1-5 of 5 comments
Per page: 1530 50