navrocky / urtconnector

Automatically exported from code.google.com/p/urtconnector
0 stars 0 forks source link

Расширенный запуск игры #82

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
    Я столкнулся вот с какой проблеммой: новые иксы используют динамическое ускорение мыши по умолчанию, чтобы его отключить надо вызвать это "xset m 1 10". Я потыркался с существующими у нас запусками но это реализовать не смог. 
    И вот у меня предложение: реализовать расширеный запуск в виде редактирования скрипта - тогда там можно будет задавать последовательность команд. Нашел два способа это сделать механически:

 1. Через скрипт - формируем временный скрип и запускаем его системным интерпретатором
    * Linux: /bin/sh
    * Windows: cmd

 2. Через поток - запускаем системный интерпретатор и кормим его командами:
    *Linux:
         /bin/sh - сначала имеем просто запущеный шелл который читает со своего входа команды и запускает их
         если надо его можно перевести на другие иксы: записать ему на вход "xinit /bin/sh -- :1 vt8"
         тут мы имеем такойже шелл но уже в иксах - ему можно кормить другие команды.
         а когда все готово пишем ему во вход "/usr/bin/urbanterror" и все запускается

    *Windows:
        В теории все тоже самое.

    По линуксом я проверил - все работает прекрасно, можно запускать любые цепочки команд, можно использовать shell-синтаксис типа запуска в потоке через "&".
    Под виндой надо бы проверить - у меня она в очередной раз умерла...

Original issue reported on code.google.com by kinna...@gmail.com on 16 Apr 2011 at 5:06

GoogleCodeExporter commented 9 years ago
Глядя на это можно с уверенностью 
утверждать что виндовозный cmd.exe работает 
также как и линуксовый: 
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/r
edirection.mspx?mfr=true

Так что я буду голосовать за второй вариант 
:)

Original comment by kinna...@gmail.com on 16 Apr 2011 at 5:10

GoogleCodeExporter commented 9 years ago
а так разве нельзя?

"bla-bla-bla; olo-lo"

Original comment by navrocky.vlad on 18 Apr 2011 at 12:34

GoogleCodeExporter commented 9 years ago
нет конечно, потому что QProcess не 
интерпретатор он ищет и запускает бинарник.
Это первое.
А второе то что мы запускаем xinit <с 
аргументом который тоже является 
бинарником>

Теоретически можно так:
xinit "/bin/sh -c ''xset m 1 10; /usr/bin/urbanterror "  -- :1 vt8 но это 
адский изврат

Original comment by kinna...@gmail.com on 18 Apr 2011 at 7:07

GoogleCodeExporter commented 9 years ago
ну вот ты и ответил правильно )

только xinit и так автоматически 
дописывается, так что остается:

/bin/sh -c "xset m 1 10; %bin% <параметры>"

Мне кажется это не так страшно.

Но можно конечно сделать специальную опцию 
- запустить скрипт...

Original comment by navrocky.vlad on 19 Apr 2011 at 7:25

GoogleCodeExporter commented 9 years ago
если так написать то не получается, ибо 
возникают проблеммы с эскейп-символами 
тогда писать надо так:
/bin/sh -c \"xset m 1 10; %bin% <параметры>\" 
или даже эскейпить двумя "\\". а это все равно 
кошмар

Но в любом случае проблем много:
/bin/sh -c "kcalc&;kcalc" - не работает как хочется в 
шеле(не просто в конекторе). Тоесть строить 
какие либо конструкции очень сложно, а 
написать скрипт такого вида:
-------
kcalc&
kcalc
-------
это вполне нормально, его 
работоспособность можно проверить так:
echo -e "kcalc&\nkcalc" | /bin/sh

Поэтому я думаю если реализовать такой 
способ можно сделать запуск гораздо более 
удобно.

И кроме того если ты под виндой захочешь 
реализовать запуск конектора с mumble или еще 
с чем - там вообще это очень сложно, но если 
принять "расширенный запуск игры" - то это 
получается не сложнее чем написать bat-файл. 

- не работает по

Original comment by kinna...@gmail.com on 20 Apr 2011 at 6:46

GoogleCodeExporter commented 9 years ago
Ошибся - с эскейп-символами _в этом примере_ 
проблем нет.

Original comment by kinna...@gmail.com on 20 Apr 2011 at 6:48

GoogleCodeExporter commented 9 years ago
мутная тема, переносим в отдаленное будущее

Original comment by navrocky.vlad on 11 Oct 2011 at 3:13