Steam client version (build number or date): 1535062307
Distribution (e.g. Ubuntu): Arch Linux
Opted into Steam client beta?: Yes
Have you checked for system updates?: Yes
Please describe your issue in as much detail as possible:
Currently, when the user creates a new layer for a selected Action Set, the new layer will copy the current configuration and allow the user to overwrite it.
This becomes an issue when manipulating 2 separate layers activated by separate buttons (one for left pad and one for right pad, for example).
Suggestion to change the method of layer change from a simple selection to an "Object.assign" like function (assuming javascript, due to the JSON format for the configs).
Using this method, only the keys that are actually changed by the layer will replace the current one, insted of a full layer copy.
Steps for reproducing this issue:
In any game, create a simple configuration in a default action set (example: default gamepad);
Select the default action set and create a new layer replacing the ABXY buttons for a right analog emulation (down, right, left, up) and the right pad as buttons;
Select the default action set again and create another layer replacing the left pad and the analog pad, just like the previous step;
Select the default action set and change the action for the Right Trigger Full to "hold action layer" and select the layer created on step 2;
Select the "Always on" button from the default set, set it to "apply action layer" and select the layer created on step 3;
Go to the game and notice that, by default, the left pad and analog will be inverted and the right pad/button will be the default (expected)
Hold the RT button and notice that the right pad and buttons are inverted (expected) but the left pad and analog are back to the default set (issue);
Expected
It should be expected in this case that only the affected buttons from the RT layer are changed, instead of changing everything. This is also an issue if the user tries to change the original Default Set (due to a new configuration they're trying to create, for example), as the layers will use the originally saved version of it, and the user will have to edit all the layers to make it work.
Your system information
Please describe your issue in as much detail as possible:
Currently, when the user creates a new layer for a selected Action Set, the new layer will copy the current configuration and allow the user to overwrite it.
This becomes an issue when manipulating 2 separate layers activated by separate buttons (one for left pad and one for right pad, for example).
Suggestion to change the method of layer change from a simple selection to an "Object.assign" like function (assuming javascript, due to the JSON format for the configs).
Using this method, only the keys that are actually changed by the layer will replace the current one, insted of a full layer copy.
Steps for reproducing this issue:
Expected
It should be expected in this case that only the affected buttons from the RT layer are changed, instead of changing everything. This is also an issue if the user tries to change the original Default Set (due to a new configuration they're trying to create, for example), as the layers will use the originally saved version of it, and the user will have to edit all the layers to make it work.