???
Математика на уровне МГУ

Показано с 1 по 25 из 195

Тема: Маппер джойстика SVMapper от Nihil

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Re: USB контроллер джоистика

    Цитата Сообщение от Oleg_BS Посмотреть сообщение
    т.е. со 128 кнопами (стр.2) разобрался, а с 4-мя кнопами хатки (стр.1) нет? Я хоть и не Станиславский, но не верю
    Просто не было потребности - хатку на MJ16 я не распаивал, вот-с
    Поэтому пока не копался.

    Цитата Сообщение от Oleg_BS Посмотреть сообщение
    Но предыдущий пункт работает не так как хотелось бы. Т.е. хочется, чтобы при нажатии ДВУХ перечисленных выше кнопок, я на выходе получал нажатие Shift+m, т.е. М. Сейчас выходит следующее - (Нажать Shift, отпустить Shift, нажать m, отпустить m)
    Необходимо переключить назначенную на роль Shift'а кнопку в Continous режим. По идее должно помочь.

    Цитата Сообщение от Oleg_BS Посмотреть сообщение
    Я не знаю как реализована передача нажатий клавы, но почему обычная задержка не подходит?
    Потому как если в основном потоке сформировать sleep(N), то весь поток обработки нажатий кнопок джойстика "отстанет" на это самое время задержки N.
    Если паузы составляют 20-40 мс, заметно не особо будет, но вот если кому-то придет в голову отстреливать пакет ДО и ЛТЦ (эдак 5-6 пачек) с задержкой по 1000мс между выбросом - разница будет весьма ощутимой.
    Поэтому по-человечески надо порождать отдельную нить, которая отправит SendInput (комбинация1), потом заснет на время задержки, потом отправит еще один SendInput и т.д.
    При этом основной поток будет все также обрабатывать кнопки джойстика.

    Про профиль подумаю, но пока что сложновато

    Цитата Сообщение от Oleg_BS Посмотреть сообщение
    И еще? Что там такого пишется в профиль, что при замапленых ДВУХ кнопках на нажатие он размерчиком в 180 кил?
    Ответ простой - сбрасывается вся структура на описание кнопок.
    По идее можно прицепить ZLIB.DLL и архивировать перед сохранением, но пока что не до того.

    Цитата Сообщение от Oleg_BS Посмотреть сообщение
    Зачем туда писать названия джоев?
    Как по мне,
    1)джои в конфиге должны описываться по номерам. Грубо говоря "Джой1, кнопка 3" Это кстати позволит обмениваться профилями.
    Туда пишется не столько название, сколько ProductName и его GUID.
    Пишется исключительно для того, чтобы при загрузке профиля кнопки, назначенные на один джой, цеплялись именно к нему. Мне не пришло в голову, как при подключенных нескольких контроллерах иным путем определить что к чему.
    Если сделать именно Джой1, кнопка 3 - то, допустим следующую ситуацию - было подключено два джойстика, один из них вдруг решено выдернуть из компа. Причем первый.
    Теперь второй джойстик стал первым на запуске программы.
    Какой будет результат?..

    Цитата Сообщение от Oleg_BS Посмотреть сообщение
    2) конфиг должен быть либо .txt, либо *.ini. Судя по наличию config.ini работа с ini-файлами не составляет проблем? Но профиль, при наличии прямых рук, можно будет подправить руцями, да и просто понять что куда замаплено, просто открыв профиль в ноутпаде ;-)
    Он там .ini назван просто "по моему личному удобству". На самом деле в тот ini скидывается исключительно путь к прошлому профилю.
    Не стал использовать для той же цели обращение к реестру, хотя так правильнее.
    Насчет того, что профили лучше хранить в текстовом формате пока что не соглашусь.
    Вероятно, поколдую на досуге со сбросом-чтением в текстовый файл, но гораздо проще и легче сделать как сейчас - отдать в поток структуру данных без преобразований.

    Цитата Сообщение от Oleg_BS Посмотреть сообщение
    P.P.S я бы все таки перенес первый пост в новый топик, и там продолжим. Ибо (что-то мне подсказывает ) тема эта будет развиваться, так к чему выискивать нужные посты среди вопросов о МДжое?
    Пусть пока тут поживет, так как вроде бы продукт пока что больше к MJ16 относится

  2. #2
    Механик Аватар для Oleg_BS
    Регистрация
    26.07.2002
    Адрес
    Киев, Украина
    Возраст
    55
    Сообщений
    535

    Re: USB контроллер джоистика

    Необходимо переключить назначенную на роль Shift'а кнопку в Continous режим. По идее должно помочь.
    Я хоть и не в Америке живу, но Жванецкий, произнося слово "Ну тупы-ы-ы-е" явно про меня думал
    Работает, спасибо!
    Потому как если в основном потоке сформировать sleep(N), то весь поток обработки нажатий кнопок джойстика "отстанет" на это самое время задержки N.
    Согласен, был не прав.
    Но IMHO это (задержка) очень нужная фича. По приоритетам я бы ее на №1 воткнул.
    Кстати посмотрел сейчас свои профили для ИЛ-2 и МСФС и понял, что прижившийся на компе JoyToKey будет выброшен моментально после появления задержек ;-)
    Про профиль подумаю, но пока что сложновато
    Главное, что остается надежда, а не мгновенный ответ "не будет"
    Туда пишется не столько название, сколько ProductName и его GUID.
    Пишется исключительно для того, чтобы при загрузке профиля кнопки, назначенные на один джой, цеплялись именно к нему. Мне не пришло в голову, как при подключенных нескольких контроллерах иным путем определить что к чему.
    Если сделать именно Джой1, кнопка 3 - то, допустим следующую ситуацию - было подключено два джойстика, один из них вдруг решено выдернуть из компа. Причем первый.
    Теперь второй джойстик стал первым на запуске программы.
    Какой будет результат?..
    Предлагаю рассмотреть следующую ситуацию. В системе ОДИН джой - МДжой16. И тут вдруг как нибудь он отключается. Какой будет результат?
    Правильно, пользователю будет пофиг маппер, замапленные кнопки в ИЛ/Локон/МСФС и он будет решать одну единственную задачу - как сделать так, чтобы система увидела джой.
    К чему это я? Да к тому, что отслеживание аппаратных проблем не есть задача маппера. Соответственно структуру профиля можно упростить.

    Пример номер 2. Человек поменял один джой на другой. Допустим Сайтек 52 на Сайтек 52Про. Кнопы те же, раскладка та же, но продакт-АйДи поменялся. И что, перемапливать все кнопки по новому?
    ИМХО, значительно удобнее было бы чтоб профиль продолжал работать без привязки к точным параметрам джоя.
    Насчет того, что профили лучше хранить в текстовом формате пока что не соглашусь.
    Вероятно, поколдую на досуге со сбросом-чтением в текстовый файл, но гораздо проще и легче сделать как сейчас - отдать в поток структуру данных без преобразований.
    Проще - возможно. Лучше - не уверен. В делфи очень легкая работа с ini файлами. Посему лучше бы все таки в ini а не в txt. (я не про расширения файлов, а про их структуру)
    Хотя повторюсь, по приоритетам, задержки на первом месте, как для меня.
    И еще раз спасибо за отличный софт!!!
    Чукча не писатель, чукча - читатель.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •