SteamOS icon indicating copy to clipboard operation
SteamOS copied to clipboard

Rog Ally - Steam Button long press commands cannot be entered properly by long pressing Command Center Button

Open 0Chencc opened this issue 6 months ago • 5 comments

Your system information

  • Steam client version:1748301070
  • SteamOS version: 3.7.9
  • Opted into Steam client beta?: [Yes]
  • Opted into SteamOS beta?: [Yes]
  • Have you checked for updates in Settings > System?: [Yes]

Please describe your issue in as much detail as possible:

This problem was discovered when I tried to take a screenshot by pressing the steam button + R1 while playing the game

I understand that when rog ally installs steamos, it maps rog ally's command centre button to the steam deck's steam button.

My problem at this point is that my machine is not reading the long press events, I tried to test this in controller-test device input and I found that each of my taps is recognised correctly, but each long press is recognised as a press of the steam button + x button after roughly a second.

This issue has been bugging me all night. Also my back button is in a state where input is not detected on the current system.

Steps for reproducing this issue:

  1. Installation of the system via the official steam documentation https://help.steampowered.com/en/faqs/view/1B71-EDF2-EB6D-2BB3
  2. SteamOS Login
  3. Long press Command Center Button

0Chencc avatar May 28 '25 22:05 0Chencc

So my understanding here is that it's actually a hardware limitation due to Asus.

If I'm remembering right, the Command Center (cc) button and Armory Crate (ac) button both do not support hold actions, only press actions.

Also, the press only registers right when you release the button, not when you initially press it.

So if you press ac button, then do your controller combo while releasing the ac button, it will register if you time it correctly.

aarron-lee avatar May 29 '25 01:05 aarron-lee

Replying to https://github.com/ValveSoftware/SteamOS/issues/1937#issuecomment-2917961797

If you're correct it'd be great if there's some way to rebind the home button to a different button. I haven't been able to figure out how to. I could easily bind a back button to the home button to solve it.

skorpeyon avatar Jun 10 '25 22:06 skorpeyon

If you're correct it'd be great if there's some way to rebind the home button to a different button. I haven't been able to figure out how to. I could easily bind a back button to the home button to solve it.

You should look into InputPlumber, it's what Valve is using for to handle the Ally controller on SteamOS.

You should be able to create custom capability maps that lets you remap buttons to your preference.

The easiest way will probably be to copy the already existing capability map yaml file on SteamOS into the equivalent directory in /etc, then customize the yaml to your preference.

aarron-lee avatar Jun 11 '25 01:06 aarron-lee

Replying to https://github.com/ValveSoftware/SteamOS/issues/1937#issuecomment-2960988824

Is there any kind of guide as to what commands would need run to use that to bind, say, the Xbox button to the L4 button? Because at a cursory glance it looks like I'd really need to dig to figure that out. No searches are coming up with any real guide, and working two jobs I don't have the time to really dive into it at the moment. If not, that's alright. It'd just be a good feature for Valve to add I think, some way in the controller UI to map the Xbox button itself. Everything else seems pretty mappable.

skorpeyon avatar Jun 11 '25 01:06 skorpeyon

You can try pinging the InputPlumber devs on the ChimeraOS discord.

aarron-lee avatar Jun 15 '25 02:06 aarron-lee

If you're still experiencing this issue there are a few ways that it can be resolved.

This is where the buttons are configured for the ROG Ally: https://github.com/ShadowBlip/InputPlumber/blob/main/rootfs/usr/share/inputplumber/capability_maps/ally_type1.yaml

If you copy this from /usr/share/inputplumber/capability_maps/ally_type1.yaml to /etc/inputplumber/capability_maps.d/ally_type1.yaml you can reconfigure it as desired.

If you want access to all functions then I'd recommend you swap start/select with guide/QAM

  - name: Select 
    source_events:
      - gamepad:
          button: Select
    target_event:
      gamepad:
        button: Guide
  - name: Start
    source_events:
      - gamepad:
          button: Start
    target_event:
      gamepad:
        button: QuickAccrss
  - name: Control Center (Short)
    source_events:
      - keyboard: KeyF16
    target_event:
      gamepad:
        button: Select
  - name: Armory Crate (Short)
    source_events:
      - keyboard: KeyProg1
    target_event:
      gamepad:
        button: Start

If you only care about adding the screenshot function and don't care about the keyboard function then I'd recommend changing the CC long press action:

  - name: Control Center (Long)
    source_events:
      - keyboard: KeyLeftCtrl
      - keyboard: KeyLeftAlt
      - keyboard: KeyDelete
    target_event:
      gamepad:
        button: Screenshot

If you really just want to map a back paddle, then you'll do this:

  - name: Control Center (Short)
    source_events:
      - keyboard: KeyF16
    target_event:
      gamepad:
        button: LeftPaddle1
  - name: Left Paddle
    source_events:
      - keyboard: KeyF14
    target_event:
      gamepad:
        button: Guide

In all cases, make sure you replace any existing entries rather than just adding them or you'll get off behavior.

pastaq avatar Sep 20 '25 13:09 pastaq

Thanks for the detailed explanation.

I tested both swap Start/Select with Guide/QAM and swap LeftPaddle with Guide, and they both worked correctly.

If you only care about adding the screenshot function and don't care about the keyboard function then I'd recommend changing the CC long press action:

  - name: Control Center (Long)
    source_events:
      - keyboard: KeyLeftCtrl
      - keyboard: KeyLeftAlt
      - keyboard: KeyDelete
    target_event:
      gamepad:
        button: Screenshot

However, I couldn’t bind Screenshot to Control Center (Long) — nothing happens after holding the button.

Environment

  • SteamOS: build 20250925.1001 with inputplumber v0.61
  • CachyOS: with inputplumber v0.64

Now I have to mapped paddles to the Guide button using the following config, and holding the Guide works as expected:

- name: Paddles to Guide
  source_events:
    - keyboard: KeyF14
    - keyboard: KeyF15
  target_event:
    gamepad:
      button: Guide

HolaFlight avatar Sep 27 '25 01:09 HolaFlight

Thanks for the report. I'll look into it and make sure the binding is still accurate with the latest Asus drivers

pastaq avatar Sep 27 '25 03:09 pastaq

Replying to https://github.com/ValveSoftware/SteamOS/issues/1937#issuecomment-3314967879

Thank you for providing the solution—it successfully resolved my issue. :)

0Chencc avatar Oct 20 '25 04:10 0Chencc

Since SteamOS updates overwrite my settings, I wrote this sh script on GitHub to handle automatic updates. Now I no longer need to worry about reconfiguring everything each time—I just run my sh script once after updating.https://github.com/0Chencc/MRAB

curl -fsSL https://github.com/0chencc/MRAB/releases/latest/download/install.sh | sudo bash

0Chencc avatar Nov 08 '25 21:11 0Chencc

you can whitelist files in /etc to keep between updates, you can read about it in /etc/atomic-update.conf.d/example-additional-keep-list.conf

matte-schwartz avatar Nov 08 '25 23:11 matte-schwartz

you can whitelist files in /etc to keep between updates, you can read about it in /etc/atomic-update.conf.d/example-additional-keep-list.conf

Thank you, I've adjusted and applied this method.

0Chencc avatar Nov 10 '25 02:11 0Chencc