В Steam, как я могу автоматически отключить горячую клавишу HUD при запуске игры и включить ее после закрытия игры?
Я посмотрел на этот вопрос, но в нем нет ничего автоматического, я не пытаюсь открывать графический интерфейс и играть с настройками каждый раз, когда начинаю и заканчиваю играть в игру.
В Steam можно редактировать параметры запуска игры. Например, я использую шмеля, чтобы включить карту 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 ответ
Сделайте сценарий nohudrun, как это сделано в primusrun:
#!/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 предназначена для выхода из среды x32 Steam, потому что dconf не может найти библиотеки x64 (возможно, есть лучший способ). Я думаю, что именно поэтому он не работает с "опциями запуска".
Вы также можете добавить некоторые блокировки, чтобы можно было правильно восстановить привязку клавиш, когда через этот скрипт запускается несколько игр.
PS Как узнать что не так? Просто напечатайте stderr в файл:
dconf write /org/compiz/integrated/show-hud "['']" 2>>/home/velkan/errr