Ой...
TDIJoyState2 = packed record
// skipped...
(1) rgdwPOV: Array [0..3] of DWORD; (* POV directions *)
(2) rgbButtons: Array [0..127] of BYTE; (* 128 buttons *)
// skipped...
end;
т.е. со 128 кнопами (стр.2) разобрался, а с 4-мя кнопами хатки (стр.1) нет? Я хоть и не Станиславский, но не верю![]()
Это позволяет сделать аналог шифта (модификатора) на кнопке джоя. Т.е. вешаешь на одну из кнопок - Shift (или Ctrl), на вторую, допустим "m", и получается, что когда жмешь одну кнопу получаешь m, когда ОБЕ (кнопа + кнопа-модификатор) получаешь Shift+m, т.е. кол-во комбинаций удваивается.Отвечу по пунктам Oleg_BS.
Мне просто в голову не приходило, что такое - тоже необходимо.
Спасибо за оперативность!Поэтому сделано в билде 1.0.0.51. Переобновил вложение.
Но предыдущий пункт работает не так как хотелось бы. Т.е. хочется, чтобы при нажатии ДВУХ перечисленных выше кнопок, я на выходе получал нажатие Shift+m, т.е. М. Сейчас выходит следующее - (Нажать Shift, отпустить Shift, нажать m, отпустить m)
Посыпаю голову пеплом :confused: Я написал этот пункт не проверяя. почему то решил, что если не обрабатывается Shift, Ctrl etc., то и комбинаций быть не может. Сорри, все работает!Вообще говоря было задумано чтобы так тоже работало. Что интересно, у меня-таки оно работает. Попробуйте в другом порядке задать модификаторы - т.е. сначала Shift, потом Ctrl.![]()
Я не знаю как реализована передача нажатий клавы, но почему обычная задержка не подходит?Пока что для меня сие сложновато.
В этом варианте необходимо использование отдельных потоков - Threads. Надо развиваться в этом русле![]()
Первое что приходит в голову без глобальных переделок интерфейса - два дополнительных столбца грида(профиль при нажатии / профиль при отпускании), при клике на которых появляется стандартное окно открытия файла (профиля), и если диалоговое окно открытия файла завершилось по "ОК" - очищаем поля замапленых кнопок, а в соответствующее поле профиля вписываем имя файла профиля.Не подскажете, как оформить внутри интерфейса?
Но повторюсь, это самое простое решение, которое пришло в голову, скорее всего существуют более "красивые".
И эта-а-а... Мы ж на форуме. "Выкать" мне не обязательно, даже (скажу по секрету) вредно. А то я зазнаюсь и начну требовать тако-о-о-о-го...![]()
Да и фиг с ним. Как минимум покаОй, вот последний пункт вообще караул. Это надо сильно много думать![]()
Вернемся к этому потом (напоминаю, цель - создание уникальной программы). У меня еще есть несколько идей по обработке осей, но не все сразу
![]()
И еще? Что там такого пишется в профиль, что при замапленых ДВУХ кнопках на нажатие он размерчиком в 180 кил?
Зачем туда писать названия джоев?
Как по мне,
1)джои в конфиге должны описываться по номерам. Грубо говоря "Джой1, кнопка 3" Это кстати позволит обмениваться профилями.
2) конфиг должен быть либо .txt, либо *.ini. Судя по наличию config.ini работа с ini-файлами не составляет проблем? Но профиль, при наличии прямых рук, можно будет подправить руцями, да и просто понять что куда замаплено, просто открыв профиль в ноутпаде ;-)
P.S. сам относительно недавно выступал в роли автора софта для ИЛа, и знаю как порой достают "юзеры", которым вечно чего то нехватает, которые просят какую то "х.фигню", которая на мой взгляд нафиг не нужна, и т.д. и т.п.
Так что прошу не обижаться. Я не в коей мере не пытаюсь "учить", я просто идеи генерю, которые можно принимать, можно отбрасывать, или расставлять по приоритетам![]()
P.P.S я бы все таки перенес первый пост в новый топик, и там продолжим. Ибо (что-то мне подсказывает) тема эта будет развиваться, так к чему выискивать нужные посты среди вопросов о МДжое?