Просто не было потребности - хатку на MJ16 я не распаивал, вот-с
Поэтому пока не копался.
Необходимо переключить назначенную на роль Shift'а кнопку в Continous режим. По идее должно помочь.
Потому как если в основном потоке сформировать sleep(N), то весь поток обработки нажатий кнопок джойстика "отстанет" на это самое время задержки N.
Если паузы составляют 20-40 мс, заметно не особо будет, но вот если кому-то придет в голову отстреливать пакет ДО и ЛТЦ (эдак 5-6 пачек) с задержкой по 1000мс между выбросом - разница будет весьма ощутимой.
Поэтому по-человечески надо порождать отдельную нить, которая отправит SendInput (комбинация1), потом заснет на время задержки, потом отправит еще один SendInput и т.д.
При этом основной поток будет все также обрабатывать кнопки джойстика.
Про профиль подумаю, но пока что сложновато
Ответ простой - сбрасывается вся структура на описание кнопок.
По идее можно прицепить ZLIB.DLL и архивировать перед сохранением, но пока что не до того.
Туда пишется не столько название, сколько ProductName и его GUID.
Пишется исключительно для того, чтобы при загрузке профиля кнопки, назначенные на один джой, цеплялись именно к нему. Мне не пришло в голову, как при подключенных нескольких контроллерах иным путем определить что к чему.
Если сделать именно Джой1, кнопка 3 - то, допустим следующую ситуацию - было подключено два джойстика, один из них вдруг решено выдернуть из компа. Причем первый.
Теперь второй джойстик стал первым на запуске программы.
Какой будет результат?..
Он там .ini назван просто "по моему личному удобству". На самом деле в тот ini скидывается исключительно путь к прошлому профилю.
Не стал использовать для той же цели обращение к реестру, хотя так правильнее.
Насчет того, что профили лучше хранить в текстовом формате пока что не соглашусь.
Вероятно, поколдую на досуге со сбросом-чтением в текстовый файл, но гораздо проще и легче сделать как сейчас - отдать в поток структуру данных без преобразований.
Пусть пока тут поживет, так как вроде бы продукт пока что больше к MJ16 относится![]()