Jump to content
VictorUs

Программирование джойстиков от VKB

Recommended Posts


Приложение I. Описание файла zconfig.ini

Имя раздела   Параметр

[user]             User=Developer Обеспечение работы с макросами и светодиодами

 

Будет так.

 

post-15866-0-09375400-1514981256_thumb.png

Share this post


Link to post
Share on other sites

Понятно. Спасибо, Виктор.

Share this post


Link to post
Share on other sites

Что-то не найду, как замапить на одну кнопку/линию нажатие нескольких клавиш клавиатуры последовательно и с определенными задержками.

Share this post


Link to post
Share on other sites

Для этого потребуются макросы, но для начала надо включить виртуальную клавиатуру.

 

Итак, степ-бай-степ ( как записывать новые параметры в контроллер - упоминать не буду) :

 

Включаем клавиатуру, режим - Classic

 

post-6112-0-44753900-1515143733_thumb.jpg

 

Конфигуратор должен обнаружить новое устройство ( оно пока еще в OC без установленных драйверов)

post-6112-0-29551000-1515143829_thumb.jpg

 

Затем должна радостно блямкнуть винда, обнаружив новый девайс и установить драйверы.

После этого можно либо переподключить устройство (USB), либо стартануть конфигуратор заново.

 

В итоге мы должны увидеть либо такую картинку {[Common] / DeviceListShort=1}:

post-6112-0-06823400-1515143843_thumb.jpg

 

либо такую { [Common] / DeviceListShort=0} :

post-6112-0-36757500-1515144165_thumb.jpg

 

Если такого нет ( операционная система может решить что нет никакого нового составного устройства - такое бывает), то возможны варианты:

 

1. Переподключаем контроллер в другой порт (самый простой способ, но не самый лучший).

2. Чистим ручками реестр на предмет удаления записей о контроллере

3. Используем для этого программу ( USBDEview)

4. Формируем reg-file (кнопка MakeRegFile) - находим его в папке с конфигуратором и запускаем.

5. Прописываем новый серийный номер USB-контроллера:

post-6112-0-68190700-1515144738_thumb.jpg

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

 

После того, как клавиатура запустилась, для проверки делаем маппинг какой-либо кнопки (в данном случае "Приведение к горизоту" - на кнопку A:

 

post-6112-0-54074700-1515144986_thumb.jpg

 

Сохраняем, проверяем (CapsLock в данном случае включен, раскладка -EN):

 

post-6112-0-70228300-1515145208_thumb.jpg

 

 

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

Собственно макросы. Переходим на вкладку Macro ( если такой вкладки нет - надо проапгрейдить настройки юзера до Ace или Developer).

 

Более подробно изучаем в мануале, я же отмечу основные моменты настроек:

 

post-6112-0-57253900-1515146588_thumb.jpg

 

Используем две тайм-группы ( темп 10 симв/сек - 100 (ms) и 2 симв/сек - 500 (ms))

Включаем автоcчитывание из контроллера (Auto) и разрешаем работу (Enable).

 

Далее набиваем сам макрос, рекомендуется включенная опция Autofill - заполнение пустой ячейки (No Function) по шаблону текущей при переходе.

 

В примере использован большой "склеенный" макрос - посему не забывам поставить чекбоксы "+" в нужных местах (подробно - см. мануал)

 

Далее сохраняем макрос в контроллер - Set ( вкладка Macro !!!! - к  параметрам контроллера макросы не относятся, поэтому требуют отдельных действий по чтению-записи ).

 

Ну и теперь надо назначить кнопку, которая запустит макрос:

 

post-6112-0-97834100-1515146953_thumb.jpg

 

Проверяем ( клавиатура - EN, CapsLock = off) (анимированный GIF):

 

post-6112-0-18259300-1515147147_thumb.gif

 

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

Заглавные буковки под левым SHIFT отбиваются как и положено.

 

Ну, как-то так...

 

 

PS.

В процессе подготовки этого материала обнаружилась несовместимость параметра виртуальной клавиатуры Dly (задержка нажатия основной клавиши при наличии управляющих - специальная функция для БЗХ) c использованием управляющих в ходе исполнения макроса.

Так что пока в БЗХ клавиатурные макросы - без Ctrl-Alt-Shift.

Разумеется, подлежит устранению (не в БЗХ, хотя и там бы неплохо было бы - на других контроллерах сия проблема { невозможность корректной обработки одновременного нажатия кнопки с контролами } также  удовольствия не доставляет)

Edited by Alex_Oz

Share this post


Link to post
Share on other sites

Еще один макрос для примера:

 

post-6112-0-77641800-1515157262_thumb.jpg

 

Думаю, понятно и без комментариев:

 

post-6112-0-74163700-1515157295_thumb.gif

Share this post


Link to post
Share on other sites

Спасибо Алекс, буду внедрять.

Share this post


Link to post
Share on other sites

Есть вопрос.

Есть возможность иметь виртуальную клавиатуру. А есть ли возможность заиметь виртуальный виндовс геймпад? XBOX я так понимаю.

Чтобы оси и кнопки джойстика системой воспринимались как оси и кнопки геймпада, есть игры которые понимают только геймпад и надо ставить сторонние ПО чтобы такой маппинг осуществить.

Share this post


Link to post
Share on other sites

Мы не можем эмулировать геймпад X-BOX. За это по закону полагается конфискация и уничтожение всей произведенной продукции. И штраф. И сесть можно.

  • Upvote 1

Share this post


Link to post
Share on other sites

Мы то нет.. а вот какой-нибудь анонимус мог бы левую прошивку запилить...

Но это чисто теоретически, практически вероятность нулевая. Ему и так заняться есть чем...

  • Upvote 2

Share this post


Link to post
Share on other sites

Еще один макрос для примера:

 

attachicon.gifMacro 2.jpg

 

Думаю, понятно и без комментариев:

 

attachicon.gifGIF2.gif

 

Алекс, а у вас на скринах какие-то супер новые версии прошивки ганфайтер и конфигуратора?

Вроде последние 9.17, а конфиг 83.85

Edited by Ykolov

Share this post


Link to post
Share on other sites

Алекс, а у вас на скринах какие-то супер новые версии прошивки ганфайтер и конфигуратора?

Вроде последние 9.17, а конфиг 83.85

Прошивка уже есть 1.919 и 1.91С (недавно появилась). Конфигуратор уже есть 83.94.

  • Upvote 1

Share this post


Link to post
Share on other sites

ТРЕБОВАНИЕ - обратиться к мануалу в бескозырке! )))  :biggrin:

 

Не лізь поперд батька в пекло. :scratch_one-s_head:

 

Edited by =Mr.G.B.=Vumpel18
  • Upvote 2

Share this post


Link to post
Share on other sites

Если не использовать кривые на 1-оси, то базовую прошивку менять нет смысла.

На днях была обнаружена иссьюшка - настройки кривой  оси №1 иногда странным образом влияли на работу курка ( ну как влияли - умножали его на ноль по факу :)).

Пофиксено.

Также пофиксена проблема с Numpad - но им пользовался, как мне кажется, всего один человек, да и он давно не объявлялся на форуме.

Остальное - так, вольные упражнения по поводу новых структур параметров.

 

И да, "по просьбам" прошивки версии 1.91.E+ сбросят параметры в дефолт - сохраните вашу конфигурацию прежде, чем обновляться. Потом откалибровать джойстик.

Edited by Alex_Oz
  • Upvote 2

Share this post


Link to post
Share on other sites

Алекс, а у вас на скринах какие-то супер новые версии прошивки ганфайтер и конфигуратора?

Вроде последние 9.17, а конфиг 83.85

Это бета-версии. Лучше дождаться официальных прошивок и конфигураторов, которые будут залиты на фтп

Share this post


Link to post
Share on other sites

Комби-триммер на примере Гладиаторa:

 

Первым делом  организуем виртуальную ось триммера (Dial - Slider 1) с приводом от кнопок A1, B1, C1:

(Абсолютно свободная ось на Гладаторе - #4)

 

post-6112-0-65205600-1516040782_thumb.jpg

 

Ну и замиксуем её с осью #2 (Y):

post-6112-0-47000800-1516040983_thumb.jpg

 

Результат (микс 100%):

post-6112-0-81922300-1516041072_thumb.gif

 

Можно понизить "степень участия"  оси Y ( Combine - 50%):

 

post-6112-0-19964700-1516041164_thumb.gif

 

Знаки полярности расставить по вкусу или согласно потребности.

 

Примерный профиль:

Gladiator_trimmer_combi.zip

Edited by Alex_Oz
  • Upvote 3

Share this post


Link to post
Share on other sites

Вместо функции TrRst вероятно лучше будет использовать функцию TrimmerSet c нужным знаком:

 

post-6112-0-80137900-1516198376_thumb.jpg

 

 

 

 

  • Upvote 2

Share this post


Link to post
Share on other sites

post-6112-0-09682300-1512925855_thumb.jp

 

 

 

Is possible set the button in position Safety as momentary, instead the hold pressed?

 

One momentary button press when trigger is folded up for Safety position, and another momentary button press when trigger folded down for Armed position., or when leave Safety position.

 

This is for match "safety/master arm" for certain DCS World planes.

 

E.g. In Ka-50 press "C" fold the in game trigger up, and put weapons in safety, press "C" fold the in game trigger down and arm weapons. Or in Spitfire Mk.IXe the "BBC" trigger is blocked or un-blocked.

 

The momentary button when MCG trigger reach and leave "Safety" position will mimic this command.

 

 

  • Upvote 1

Share this post


Link to post
Share on other sites

Не постоянный, сигнализирующий, моргающий (blinking), подмигивающий ;) :biggrin: .

Share this post


Link to post
Share on other sites

тут вообще, похоже, вырисовывается такая картинка:

 

post-6112-0-93457900-1516545688_thumb.jpg

 

 

  • Upvote 2

Share this post


Link to post
Share on other sites

Is possible set the button in position Safety as momentary, instead the hold pressed?

 

...

 

Yes, try it. And thank you - now Trigger-puzzle  is complete for me ;)

 

post-6112-0-49107500-1516553278_thumb.jpg

 

Изменения:

Стало 4 кнопки вместо трёх - Safe, Armed, Fire1,Fire2.

 

Кнопка Armed - всегда оппозитна кнопке Safe.

Режим кнопок Armed/Safe  может быть постоянно включено/импульсно (Pulse) ( подобно импульсу тумблера)

 

Время импульса задаётся T_Tgl

post-6112-0-97726200-1516553335.jpg

 

Работа в постоянном режиме:

post-6112-0-39524900-1516553707_thumb.gif

 

в импульсном :

post-6112-0-79954600-1516553767_thumb.gif

 

Все благодарности адресуем Sokol-One :)

Edited by Alex_Oz
  • Upvote 5

Share this post


Link to post
Share on other sites

Стесняюсь спросить - в физических осях самая левая колонка для чего :blush: ?

Share this post


Link to post
Share on other sites

Как сделать, чтобы кнопкой Safe отключать логические кнопки кнопки огня 1 и 2? Пытался создать shift из кнопки safe, но она не доступна на физическом уровне и shift не работает.


O4kzTZx.jpg

HP3eEMi.jpg

 

Share this post


Link to post
Share on other sites

Предположу, что логичнее использовать "логические функции". Алекс?

Share this post


Link to post
Share on other sites

Совершенно верно, тут пример использования логических  (Boolean) функций в чистом виде.

 

Итак, для начала определимся - что будем использовать. Явно требуется выполнение двух условий одновременно - нажатие кнопки и состояние триггера - Not Safe. А это операция логического И (AND)- в качестве 1-го операнда наша кнопка, в качестве  2-го - виртуальная линия Safe с инверсией.

 

Первым делом найдем нужные нам операнды кнопок (поскольку маппинг  всегда путает все кнопки , нафига он только нужен? ;)):

1-й способ (универсальный) - через просмотр  поллинга :

post-6112-0-63503200-1516599851_thumb.jpg

2-способ - сразу на логическом уровне

post-6112-0-97031200-1516599859_thumb.jpg

 

Итак, нужные нам виртуальные линии, связанные с логическими кнопками 1 и 2 контроллера - это 6 и 7.

 

Виртуальная линия Safe - 25

post-6112-0-09949000-1516601081_thumb.jpg

 

Настало время взять в руки кусачки и решительно отрезать провода, ведущие от линий 6-7 к выходам:

 

post-6112-0-88943100-1516600098_thumb.jpg

 

Ну а теперь переходим к десерту:

 

post-6112-0-01394300-1516600194_thumb.jpg

 

Повторяем для второй кнопки курка ( самостоятельно ).

 

На логическом уровне наблюдаем такую картину:

post-6112-0-64685100-1516600326_thumb.jpg

 

 

В качестве "разрешительного" операнда можно использовать логическую линию 24 ( на неё мапится виртуальная 25-я Safe)

 

Примечание: - начиная с версии прошивки 1.92.A в качестве 2-го операнда можно использовать вирт.линию Armed  (28)- но уже без инверсии

 

Вообщем, как-то так...

Edited by Alex_Oz
  • Upvote 6

Share this post


Link to post
Share on other sites

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

  • Upvote 1

Share this post


Link to post
Share on other sites

Нет. Когда подходим к переделу, мы переходим на контроллер с бОльшим объемом памяти.

Share this post


Link to post
Share on other sites

Виктор нас простит и поймёт, надеюсь... :)

 

post-6112-0-00690800-1516605053_thumb.png

 

 

Профиль для вышеприведенного примера :

 

GF_MCG_PRO_Safe_but1_2.zip

Edited by Alex_Oz
  • Upvote 2

Share this post


Link to post
Share on other sites

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

Не дождетесь)))

Я только за. Отдых есть перемена рода занятий, как говаривал Карл наш Маркс)) Вот вчера почистил снег, попереводил мануал, попутно внес изменения в базовую, то есть русскую версию. Заодно пообщался с настоящими человеками. Вот когда сбудется мечта и комбинирование осей будетработать теми же способами, как и их триммирование -вздохну спокойно)))

А насчет памяти - еще пару лет назад я предлагал дооснастить контроллер гнездом для флешки))) Туда можно будет засунуть и конфигуратор, и прошивальщик, и все профили. А в идеале и БзХ)))

Со временем - верю - наше firmware попросту заменит собой операционку. То есть достаточно будет подключить контроллер и загрузиться с него.)))

Если все пойдет в указанном направлении, то еще через пару месяцев на нем будет и PCIExpress, и какой-нить 1151 socket и все остальное.  :fly:

  • Upvote 3

Share this post


Link to post
Share on other sites

Если все пойдет в указанном направлении, то еще через пару месяцев на нем будет и PCIExpress, и какой-нить 1151 socket и все остальное.  :fly:

 

Ну тогда уже сразу и кресло с контроллером комплектуйте, а то как-то не солидно выходит.

Share this post


Link to post
Share on other sites

Кресло будет интегрировано в контроллер, конечно. Никак не наоборот!!!

  • Upvote 1

Share this post


Link to post
Share on other sites

Что я делаю не так? Хочу настроить триммер. Двигая стик на MCG (ось 3 Rot X), нужно триммировать ось тангажа (ось 2 Y). 
 
Настройки:
post-94823-0-72929000-1516655494_thumb.jpg
 
Двигая ось Rot X получается не так как нужно:
post-94823-0-62201400-1516655503_thumb.gif

 

Если настроить триммер наоборот, изменяя ось Y ось Rot X триммируется как надо.

 

Настройки:

post-94823-0-41697500-1516656231_thumb.jpg

 

Двигаю ось Y:

post-94823-0-37669000-1516656306_thumb.gif

 

 

Дело в типе входного сигнала Virtual?

Share this post


Link to post
Share on other sites

Триммер физического уровня - это совсем отдельная история. Это как бы  второй вход  физической оси. На этот вход нужно подать сигнал -  от внешнего устройства ( назначить тип оси не Virtaul / Normal, а Trimmer. Но в случае MCG такой номер не прокатит - оси микростиков с возвратом в центр, поэтому триммирование будет только на момент отклонения микростика.Поэтому триммер на физ.осях можно выключить ( кстати ACl и ACn выключать не стоит - они действуют  ровно до момента калибровки , после калибровки можно поправить KD и Bias вручную).

 

В данном варианте нужно использовать комбайны на логических осях - 1 с 3-й, 2 c 4-й.

 

Тип комбайна с разбегу не скажу, надо посмотреть.

Вероятно рабочим вариантом будет такой - замешивать как во втором примере (Combi1) , оси Rx /Ry переименовать в X/Y , основные X/Y - отключить видимость в HID (Vs)

Edited by Alex_Oz
  • Upvote 1

Share this post


Link to post
Share on other sites

Alex_Oz! На министике MCG (тот, что с кнопкой в виде "тарелочки") хочу реализовать уже давнишнюю идею, которая обломалась на моем руде Кабана из-за плохого министика там:

1) Короткое нажатие кнопки министика - вызов карты

2) После вызова карты - движения по X и Y вызывают перемещение курсора по карте.

3) Удержание кнопки министика+движения по X и Y- перемещение карты по экрану.

 

Для этой реализации необходимо:

а) кнопке министика назначить функцию Тепмо (умею)

б) на команду Темпо1 назначить обычную кнопку (вызов карты) на Темпо2 - назначить левую кнопку мыши (ЛКМ) (умею)

в) оси министика привязать к осям мыши (не умею)

 

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

Edited by 72AGs_Olega
  • Upvote 1

Share this post


Link to post
Share on other sites

кстати ACl и ACn выключать не стоит - они действуют ровно до момента калибровки , после калибровки можно поправить KD и Bias вручную

Таким образом я хотел выключить автокалибровку и самое главное сброс центра оси при подлючению к компу. Т. к у меня рус не четко возвращается в центр(держат демпферы) и может находиться в споконом состоянии на +- 5 градусов.

Edited by =ScX=O4kO

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...