В 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% но опять-таки он работает в терминале, но не из параметров запуска.

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

2
задан 13 April 2017 в 15:25

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 среды Пара, потому что dconf не может найти, что x64 освобождает (возможно, существует лучший путь). Это - причина, почему она перестала работать от 'опций запуска', я думаю.

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

P. S. , Как знать что случилось? Просто распечатайте stderr в файл:

dconf write /org/compiz/integrated/show-hud "['']" 2>>/home/velkan/errr
1
ответ дан 14 April 2017 в 01:25

Другие вопросы по тегам:

Похожие вопросы: