PDA

Просмотр полной версии : MCab Mapper - ещё один мэппер джойстика



Mercury13
24.01.2008, 22:04
Программа MCab Mapper. Рассчитывалась в основном на железнодорожные симы, но, думаю, и авиаторам пригодилась бы.

http://mercury13.tut.su

ulmar
24.01.2008, 22:29
мегамаппер!
теперь трастмаппер однозначно в топку, если тестирование будет успешным.
еще и как калибратор осей работает.

параметр "шум джойстика" - задает мертвую зону оси или я неправильно понял?
нет ли в планах возможность сделать ось нелинейной?

спасибо!

ulmar
24.01.2008, 22:57
предложения принимаете?

Mercury13
24.01.2008, 23:03
Параметр "Шум" задаёт гистерезис, чтобы ось в пограничных положениях не "колбасило" туда-сюда.

Предложения принимаю.

По поводу линейности... это же просто программа конвертации команд джойстика в нажатия клавиш. MCM делался как попытка наладить управление поездным симулятором (который ничего, кроме клавы, не поддерживает) через джойстик. Нет там никакой настройки линейности и прочего.

на что нужно то, что вы приняли за "калибратор"... Дело элементарно в том, что ось поездного контроллера (как минимум для советских поездов; я делал по чужому ТЗ и поездов практически не знаю) - это галетный переключатель с ОГРОМНЫМ количеством положений. И вот эти n положений (их там от 10 до 30 шт.) надо снять.

ulmar
24.01.2008, 23:33
просто слово незнакомое, а суть, как я понял, одна.

не знаю, может ли быть это полезным для машинистов, но пока хочется две функции (может быть они частично уже заложены, и я их пропустил?):
1. возможность ограничить ось в крайних положениях, или наоборот, расширить. затрудняюсь без графика понятно обяснить, но попробую.
допустим, ось Х отрабатывает крайнее левое положение (0 или -100%).
а мне нужно, чтоб маппер на это положение отсылал -90%, т.е. чуть меньше, таким образом понижая чувствительность оси, но не уменьшая ее физическую амплитуду.

2. возможность нелинейного отклика оси, которое есть в большинстве мапперов для авиаджойстиков.
curve, настройка кривых, итп - так это обычно называется.
смысл в том, чтобы обычный линейный отклик (на входе) маппер менял на параболическую кривую (на выходе).
с задаваемой кривизной, разумеется.
чтоб получилось как на рисунке 2, на первом же - линейный отклик, без изменений.

ulmar
24.01.2008, 23:35
а, сорри тогда, все вопросы снимаются, пока писал - появилось ваше дополнение в ответе.

в любом случае - спасибо за труд!

Mercury13
24.01.2008, 23:38
просто слово незнакомое, а суть, как я понял, одна.

1. возможность ограничить ось в крайних положениях, или наоборот, расширить. затрудняюсь без графика понятно обяснить, но попробую.
допустим, ось Х отрабатывает крайнее левое положение (0 или -100%).
а мне нужно, чтоб маппер на это положение отсылал -90%, т.е. чуть меньше, таким образом понижая чувствительность оси, но не уменьшая ее физическую амплитуду.
Это всё могут делать программы ручной калибровки наподобие DxTweak. Кстати, пару дней назад начал писать программу JoyHacker - замену DxTweak для DirectX9.


2. возможность нелинейного отклика оси, которое есть в большинстве мапперов для авиаджойстиков.
curve, настройка кривых, итп - так это обычно называется.
смысл в том, чтобы обычный линейный отклик (на входе) маппер менял на параболическую кривую (на выходе).
с задаваемой кривизной, разумеется.
чтоб получилось как на рисунке 2, на первом же - линейный отклик, без изменений.
Ой... не это было целью разработки MCabMapper. Он предназначен чисто для имитации нажатий клавиш по командам джойстика. А как переопределять положения джойстика - я просто не знаю.

И, наконец, про незнакомое слово "гистерезис". Пусть при сдвиге оси вверх программа выбивает "Вверх". Если сделать простой порог (скажем, 50% ), то когда джойстик будет на 50%, из-за шумов будет пробиваться куча нажатий кнопки (кто играл в Need for Speed 1 или Grand Prix 3 на шумном джойстике, тот знает всё это). Поэтому делаю так. Когда джойстик сдвигаю на 51%, пробивается нажатие. Чтобы нажатие пробило второй раз, надо вернуть его до 49%, а потом опять на 51.

ulmar
24.01.2008, 23:48
дх-твик мне не показался удобным, к тому же иметь все в одной утилите и сохраняя в один профиль - это желание естественное, думаю )))

Ой... не это было целью разработки MCabMapper.
да я понял, вопрос снял.
"а счастье было так близко" )))

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

Mercury13
24.01.2008, 23:54
дх-твик мне не показался удобным, к тому же иметь все в одной утилите и сохраняя в один профиль - это желание естественное, думаю )))

Объединить, что ли, MCab Mapper и JoyHacker? %)
Кстати: в JoyHacker будет новая функция - автоматический расчёт мёртвых зон.


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

Совершенно верно.

ulmar
25.01.2008, 00:02
Объединить, что ли, MCab Mapper и JoyHacker?
не буду ничего говорить, как надумаете, так и ладно. ))

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

п.с. при использовании повышающей клавиши WIN блокируется ли ее системное использование? можно ли сочетать клавиатурные нажатия с джойстиковыми или это упирается в ограничения самих игр?

Mercury13
25.01.2008, 00:14
а что из себя собирается представлять JoyHacker? какие задумки по нему и ориентиры?
JoyHacker будет простой корявой программой, предназначенной для замены DxTweak на WinXP+DirectX9. Никаких функций W98 (я имею в виду мёртвые зоны DirectInput). Зато он будет поддерживать до восьми осей.
Также будет функция вычисления мёртвых зон. В смысле: если мы хотим с одного конца отрезать 10% и с другого 20%, мы ничего не вычисляем. В "калькуляторе мёртвых зон" вводим 10 и 20, и получим окончательные калибровочные величины.

А у меня появилась маленькая идея. В MCab Mapper'е для каждой оси по желанию можно будет задать калибровочные величины (мин-центр-макс). Ну и сделать галочку: "Восстанавливать калибровку при выходе".

ulmar
25.01.2008, 00:47
А у меня появилась маленькая идея. В MCab Mapper'е для каждой оси по желанию можно будет задать калибровочные величины (мин-центр-макс). Ну и сделать галочку: "Восстанавливать калибровку при выходе".
шикарно! а там и до п.1 недалеко будет, наверное..

допустим, при указании "макс" < 100% ось будет так же отрабатывать до порога, а дальнейшее движение не будет меняться, посылая указанное в "макс" значение.
если так, то это наверное может пригодиться только владельцам сильно шумящих по границам осей джоев.
куда полезней мне видится другой вариант: при указании "макс" 90% будут отрабатываться эти 90% именно при максимальном положении, т.е. как бы умножатся на коэффициент max/100

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


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

Mercury13
25.01.2008, 00:54
Получать/записывать реестровые калибровочные величины через DirectInput я вроде научился. А вот как подменять значения джойстика - это я уже не знаю. Надо разбираться с хуком на DInput...

MichaelRyazan
25.01.2008, 01:09
http://mercury13.tut.su ::


Forbidden
You don't have permission to access / on this server.
--------------------------------------------------------------------------Apache/2.2.0 (Fedora) Server at mercury13.tut.su Port 80


??!!!

ulmar
25.01.2008, 01:10
ну такая калибровка - это тоже хорошо.
т.е. - просто рубим по заданному значению, как я выше написал?
к тому же, иногда может быть полезно иметь центр не в 0.

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

ulmar
25.01.2008, 01:12
Forbidden
You don't have permission to access / on this server.
открывается без проблем..

Mercury13
25.01.2008, 01:58
Да, сервер был недоступен несколько минут в районе 00:00 по Киеву. Это проблема хостера, а не моего сайта (с сайтом вообе ничего не делал).

USSR_Rik
25.01.2008, 09:24
Планируется ли поддержка нескольких девайсов? Вообще - я считаю, что ограничение на один джойстик надо вынести в анонс, это достаточно важно, чтобы принять/не принять решение о скачивании, дело тут не в 300 кБ трафика.

mr_tank
25.01.2008, 10:05
B плз, поподробнее опишите возможности маппера на странице сайта. Скачать не проблема, но все-же ...

ulmar
25.01.2008, 15:59
в архиве - подробный мануал.

ulmar
25.01.2008, 16:00
я считаю, что ограничение на один джойстик надо вынести в анонс
помоему - мультиджоевый маппер это не правило, а исключение..

Karlson
25.01.2008, 16:22
мультиджоевый маппер это не правило, а исключение..---которое должно стать правилом :bravo:

USSR_Rik
25.01.2008, 16:54
помоему - мультиджоевый маппер это не правило, а исключение..Я знаю три маппера (включая сабжевый), из них два работают со всеми девайсами. Плюс "мапперная" часть NewView, насколько помню - тоже. Счет 3:1.

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

Так что на данный момент ситуация противоположная твоей оценке. И чем дальше - тем больше.

ulmar
25.01.2008, 16:57
Счет 3:1
ну тогда 2:1 что ли...
а еще два - это какие?
знаю только еще два - японский и тот что тут выкладывался (SV Mapper).
у японского беда с хаткой, у тутошнего мне тоже чтото не подошло (давно пробовал, не помню. может та же проблема с хаткой? проблема такая - вместо плавных движений обзора получаем дерганные рваные. сегодня попробую сабжевый)
а так как джой у меня один, даже не представлял о возможных возникновениях подобных требований.

USSR_Rik
25.01.2008, 17:23
Исходный от MeanDog, SVMapper, NewView (хоть это и не маппер, собственно - но умеет). А что за японский, кинь ссылку? Мне, собственно, из любопытства - SVMapper устраивает пока.

У меня девайсов куча, так что я сразу на этом и заострился, когда он подцепил HeadJoyFree и ни в какую не захотел видеть остальные.

ulmar
25.01.2008, 18:13
помоему это здесь:
http://hp.vector.co.jp/authors/VA016823/
но в нем 4 позиции хаты, вместо 8.
а св не дает нормальный обзрор.

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

ulmar
25.01.2008, 20:15
протестировал хатку - работает без заиканий, гладко.
с остальными кнопами проблем по идее вообще возникнуть не должно.
я искал замену трастмапперу и вот ее нашел.
с осями... ну придется както выкручиваться другим способом.

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

кстати, а какой ж/д сим имеется ввиду?
у меня был когдато трайнц 2004, но чегото в нем мне не хватало.

Zeliboba
25.01.2008, 21:43
Кстати, пару дней назад начал писать программу JoyHacker - замену DxTweak для DirectX9.


Возможно, я что-то не так понял в Вашей задумке... но программа DxTweak2 реализует весь описаный функционал.
http://www.wingmanteam.com/files/Tools/DXTweak2/
...Сори, если действительно ошибся...

ulmar
25.01.2008, 21:49
так если оно будет в маппере - тогда дх-твик так же отвалится за ненадобностью, как и мой трастмаппер.
ну мне так кажется...

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

Mercury13
26.01.2008, 14:17
Возможно, я что-то не так понял в Вашей задумке... но программа DxTweak2 реализует весь описаный функционал.
http://www.wingmanteam.com/files/Tools/DXTweak2/
...Сори, если действительно ошибся...
DxTweak2 не подхватывает больше 5 осей. Сказывается устарелая версия DInput.

Mercury13
26.01.2008, 14:32
в принципе такой проге не помешала бы горячая смена профилей по какому-нибудь хоткею...
Я немного думал... допустим, делаем специализированную клавиатуру для игры DotA (мод Warcraft3, кто не знает; в нём ты управляешь одним-единственным персонажем). У каждого персонажа есть до пяти собственных функций, каждая из которых повешена на СОБСТВЕННЫЕ кнопки клавиатуры. В Warcraft есть переопределение управляющих клавиш, но в доте оно работает лишь для 99% функций. Получается вот что... Перед тем, как начать игру, ставим профиль "Generic". Начинается игра, попадается нам, например, Mogul Kahn the Axe. Так, у него не переопределяется Berserker's Call. Поэтому специальными кнопочками устанавливаем профиль "MogulKahn" - и играем! Если бы нам попался другой герой, мы бы остались на Generic.

Bond.K
26.01.2008, 15:04
Возможно, я что-то не так понял в Вашей задумке... но программа DxTweak2 реализует весь описаный функционал.
http://www.wingmanteam.com/files/Tools/DXTweak2/
...Сори, если действительно ошибся...

Не понимает более 6-ти осей.

На контроллерах типа Мджой16 вылетает.

VadNik
26.01.2008, 15:37
Точно, MJoy8 видит все 6, но это зависит от прошивки. У меня были прошивки где DxTweak2 вылетал как и у MJoy16

mr_tank
28.01.2008, 09:07
А как эта прога выбирает джойстики? она у меня привязывается исключительно к педалям. Смена ID ни к чему не приводит. Я понимаю, что работает только с одним девайсом, но как выбрать нужный?

ulmar
28.01.2008, 10:42
надо ждать автора для разъяснений.
видимо выбирается тот, который в реестре идет первым.

Mercury13
28.01.2008, 23:53
Берёт первый попавшийся - видимо, по USB ID.

Bond.K
29.01.2008, 02:38
Берёт первый попавшийся - видимо, по USB ID.

Планируешь сделать "привязку" к нужному джойстику?

mr_tank
29.01.2008, 07:11
Берёт первый попавшийся - видимо, по USB ID.
т.е. если местами разъемы поменять, то может и наоборот? Проверим, на смену ID устройства не реагирует.

denis-sturmovik
29.01.2008, 18:24
Вопрос:

- как можно с попощью этой программы назначить несколько кнопок джойстика как "шифтовые"(как в Трастмаппере) и составить комбинации с другими кнопками джойстика, задавая им значения кнопок клавиатуры?
Например
Удерживаем кнопку 8 как шифтовую, нажимаем кнопку 1= кнопка клавиатуры

Что-то никак разобраться не получается...
:dontknow:

Mercury13
21.02.2008, 14:04
Нет, шифтовых кнопок я не делал.

mr_tank
22.02.2008, 09:11
Похоже, программа берет первый по алфавиту джой - оригинально, т.е. надо джойстики переименовывать :(

Очень желательно прикрутить привязку, несколько джойстиков, особенно у симуляторщиков - распространенное явление.

Jameson
24.05.2011, 19:02
Заюзал с Hotas.x под семеркой 64 бита в Ил-2- работает.

Sanekin
22.11.2012, 22:48
Проблема такая: программа не видит часть кнопок Mjoy16 и нумерация начинается с 56 кнопки. В винде и других мапперах их видно и нумеруются нормально.
Может где настроить можно?

StorkNet
20.12.2012, 21:51
Потрясающая софтинка — удобно, интуитивно, функционально. Жаль, что «на лету» подхватывает только один девайс, но это обходится одновременным запуском нескольких мапперов.
Премногие благодарности разработчику )

Upd. Еще цикличных последовательностей не хватает )