Как в Steam можно автоматически отключить горячую клавишу HUD при запуске игры и включить ее снова после закрытия игры?

Как в Steam можно автоматически отключить горячую клавишу HUD при запуске игры и включить ее снова после закрытия игры?

Я посмотрел наэтот вопросно в этом нет ничего автоматического, я не пытаюсь открывать графический интерфейс и возиться с настройками каждый раз, когда начинаю и заканчиваю игру.

В Steam можно редактировать параметры запуска игры. Например, я использую bumblebee, чтобы включить карту nvidia на моем ноутбуке, добавив primusrun %command%к параметрам запуска. Здесь мы должны иметь возможность вызывать начальные и конечные скрипты (или просто связывать вместе некоторые команды), чтобы отключать горячие клавиши HUD во время игры и включать их снова после. Что-то вроде этого, launchscript ; %command% ; endscriptвозможно.

Это значит, что нам нужен способ командной строки для включения и отключения горячих клавиш HUD.Этот ответпоказывает метод CLI. Я пробовал это, и это работает из терминала, но не когда я пытаюсь вызвать его через параметры запуска в Steam. При попытке этого bash -cя сталкиваюсь с проблемами с разделителями, но это решается с помощью gsettings.

Я перепробовал все нижеперечисленное, но безуспешно:

dconf write /org/compiz/integrated/show-hud '[""]' ; primusrun %command%

bash -c 'dconf write /org/compiz/integrated/show-hud '[""]'' ; primusrun %command%

bash -c 'dconf write /org/compiz/integrated/show-hud '[""]' ; primusrun %command%'

bash -c "dconf write /org/compiz/integrated/show-hud '[""]' ; primusrun %command%"

Я также пробовал использовать gsettings вместо dconf. например, bash -c 'gsettings set org.compiz.integrated show-hud '[""]'' ; primusrun %command%но это снова работает в терминале, но не из параметров запуска.

Я почти уверен, что у меня просто проблемы с синтаксисом. Как заставить это работать правильно?

решение1

Сделать сценарийнохудрункакпримусрунготово:

#!/bin/sh

old_key="$(LD_LIBRARY_PATH=/usr/lib dconf read /org/compiz/integrated/show-hud)"
LD_LIBRARY_PATH=/usr/lib dconf write /org/compiz/integrated/show-hud "['']" 
"$@"
LD_LIBRARY_PATH=/usr/lib dconf write /org/compiz/integrated/show-hud "$old_key"

И вызовите его вот так:

nohudrun primusrun %command%

LD_LIBRARY_PATH=/usr/lib — для выхода из среды Steam x32, поскольку dconf не может найти библиотеки x64 (возможно, есть способ получше). Думаю, именно поэтому он не может запуститься из «параметров запуска».

Вы также можете добавить некоторую блокировку, чтобы иметь возможность корректно восстанавливать привязку клавиш, когда через этот скрипт запускается несколько игр.

ПСКак узнать, что не так? Просто выведите stderr в файл:

dconf write /org/compiz/integrated/show-hud "['']" 2>>/home/velkan/errr

Связанный контент