Цитата Сообщение от 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 относится