Steam Input Desktop Config — Mapping Referenz
How Deckery handles Steam Input
Deckery disables ALL Steam Desktop Input by using Steam's own Local Selection mechanism. It writes a single entry into configset_controller_neptune.vdf (App ID 413080 — Steam's universal internal ID for the Desktop controller config) that points Steam's Desktop controller profile to its built-in empty.vdf, which contains no bindings at all. No sudo is required and Steam updates work normally.
The result is that Steam applies zero button mappings in desktop mode. Makima takes over full input handling instead.
When a Steam game is launched, makima automatically detects it via the Steam process tree (reaper → steam ancestor chain) and switches to Gaming Mode — passing all input through raw so the game receives the controller directly. See Gaming Mode for details.
Reference: Steam's default Desktop layout
The tables below document what Steam's default Desktop controller layout (desktop_neptune.vdf) contains. None of these mappings are active when Deckery is configured — they are preserved here for reference only.
Aktive Gruppen (Default Preset)
| group_source_binding | Hardware | Gruppe ID | Modus |
|---|---|---|---|
| switch active | Buttons (L1,R1,L4,L5,R4,R5,Start,Select,Steam) | 7 | switches |
| button_diamond active | ABXY | 0 | four_buttons |
| left_trackpad active | Linkes Trackpad | 26 | scrollwheel |
| right_trackpad active | Rechtes Trackpad | 14 | absolute_mouse |
| joystick active | Linker Stick | 3 | joystick_move |
| right_joystick active | Rechter Stick | 25 | joystick_mouse |
| left_trigger active | L2 | 4 | trigger |
| right_trigger active | R2 | 5 | trigger |
| dpad active | D-Pad | 9 | dpad |
Button-Mappings (Gruppe 7: switches)
| Button | Steam-Name | Key |
|---|---|---|
| L1 | left_bumper | KEY_LEFTCONTROL |
| R1 | right_bumper | KEY_LEFTALT |
| Select | button_escape | KEY_ESCAPE |
| Start | button_menu | KEY_TAB |
| L4 | button_back_left | KEY_LEFTWINDOWS (Super) |
| L5 | button_back_left_upper | KEY_LEFTSHIFT |
| R4 | button_back_right | KEY_PAGEDOWN |
| R5 | button_back_right_upper | KEY_PAGEUP |
| Steam-Button | button_capture | system_key_1 |
ABXY (Gruppe 0: four_buttons)
| Button | Key |
|---|---|
| A | KEY_RETURN |
| B | KEY_ESCAPE |
| X | SHOW_KEYBOARD (OSK) |
| Y | KEY_SPACE |
Trigger + Trackpads
| Input | Output |
|---|---|
| L2 (Gruppe 4, trigger) | mouse_button RIGHT |
| R2 (Gruppe 5, trigger) | mouse_button LEFT |
| Rechtes Trackpad (Gruppe 14, absolute_mouse) | Cursor-Bewegung |
| Rechter Trackpad-Click (Gruppe 14, Soft_Press) | mouse_button LEFT |
| Rechter Stick R3 (Gruppe 25, joystick_mouse) | Mausbewegung, kein Key-Mapping |
| Linkes Trackpad (Gruppe 26, scrollwheel) | Scroll Up/Down |
Kritische Kombinationen
L1 + R4 -> Sprachsteuerung (OpenWhispr)
- L1 (left_bumper) ->
KEY_LEFTCONTROL - R4 (button_back_right) ->
KEY_PAGEDOWN - Kombiniert: Ctrl + PageDown = OpenWhispr Push-to-Talk Hotkey
makima-Aequivalent (fuer Phase 2)
[remap]
BTN_TL = ["KEY_LEFTCTRL"] # L1 -> Ctrl
# R4 evdev-Code muss noch per evtest verifiziert werden
# (vermutlich BTN_C oder aehnlich fuer back paddle)
BTN_TL-<R4> = ["KEY_LEFTCTRL", "KEY_PAGEDOWN"] # L1+R4 -> Ctrl+PageDown
D-Pad (Gruppe 9: dpad)
Pfeiltasten UP/DOWN/LEFT/RIGHT - unveraendert bleiben.
Wichtige Aenderung (von uns)
- Linker Stick war: Gruppe 27 (dpad, Pfeiltasten) aktiv
- Linker Stick jetzt: Gruppe 3 (joystick_move, echte Achswerte) aktiv
- Kando kann damit Joystick-Navigation nutzen