Маппинг клавиатуры

О программах, прилагаемых к продукции ВКБ

Moderator: AdminGroup

Alex Oz
Posts: 979
Joined: Mon May 12, 2008 9:10
Location: Минск
Has thanked: 4 times
Been thanked: 57 times

Re: Маппинг клавиатуры

Postby Alex Oz » Wed Mar 23, 2016 23:04

skoder wrote:Alex Oz подскажите будет ли исправление энтера сейчас при его выборе он назначается с доп клавиатуры.


Не совсем понял. Точней совсем не понял. Scan code у них одинаковый (0x13).
Соответственно это одна клавиша. Или нет?

Ilya Kaiten wrote:Алекс, в Вашей гениальности присутствующих убеждать нет необходимости XD


От жеж, лишь бы подколоть :)
Я вообще-т про того , кто первый придумал USE HatID AS KEYPAD.
Надеюсь он на нас не обидится - за использование идеи.
Крайние прошивки и софт / Latest firmware & software
viewtopic.php?f=15&t=908

Ilya Kaiten
Posts: 69
Joined: Thu Sep 27, 2012 14:31
Been thanked: 1 time

Re: Маппинг клавиатуры

Postby Ilya Kaiten » Thu Mar 24, 2016 3:28

Не совсем понял. Точней совсем не понял. Scan code у них одинаковый (0x13).
Соответственно это одна клавиша. Или нет?

В играх довольно часто есть разница между enter основной клавиатуры и нумпада...

Я вообще-т про того , кто первый придумал USE HatID AS KEYPAD.
Надеюсь он на нас не обидится - за использование идеи.

Когда-то где-то слышал, что основная часть софта под Кугар написана энтузиастами - бетатестерами...

Что до самого оператора... Пожалуй процитирую весь блок (может ещё чего пригодится):

[spoiler]
4.1.6 Использование хэта для эмуляции клавиш цифровой клавиатуры

Конфигурационное выражение

USE HatID AS KEYPAD [- дополнительные модификаторы]

Разрешенные дополнительные модификаторы:
REVERSE_UD, REVERSE_LR, FORCED_CORNERS, NOHOLD, KP5

напр.: USE HAT4 AS KEYPAD

Очень часто необходимо при помощи хэта воспроизводить клавиши цифровой клавиатуры. В приведенном примере хэт 4 эмулирует клавиши цифровой клавиатуры, при этом в промежуточных положениях (UL UR, DL, DR) генерируются клавиши "7 9 1 3" соответственно.

Проблема с цифровой клавиатурой заключается в том, что в различных авиасимуляторах она работает по-разному. Более того, в некоторых играх еще имеет значение статус кнопки Num LOCK, или игры в принудительном порядке включают или выключают ее. Однако в большинстве случаев цифровая клавиатура работает согласно названию - то есть воспроизводит цифры.

Как и в предыдущих примерах, можно использовать инверсию:

USE HAT1 AS KEYPAD - REVERSE_UD
USE HAT2 AS KEYPAD - REVERSE_LR
USE HAT3 AS KEYPAD - REVERSE_UD, REVERSE_LR

Как было сказано, использование данного выражения позволяет при перемещениях хэта генерировать клавиши цифровой клавиатуры. Но там есть еще одна клавиша - "5". В некоторых симуляторах эта клавиша используется для центровки вида или положения чего-либо, и можно запрограммировать эту клавишу на центральное положение хэта:

USE HAT4 AS KEYPAD - KP5

Можно также использовать принудительное генерирование промежуточных положений:

USE HAT4 AS KEYPAD - FORCED_CORNERS

В данном случае при отклонении хэта 4, скажем, вправо-вверх будет сгенерировано сочетание "KP8" и "KP6" вместо KP9, то есть комбинация символов, назначенных на соседние основные положения.
В некоторых симуляторах это может оказаться полезным.

Опять же, если вы не хотите, чтобы клавиши цифровой клавиатуры удерживались, используйте модификатор NOHOLD:

USE HAT3 AS KEYPAD - NOHOLD

В этом случае при перемещении хэта в определенное положение будет генерироваться одиночный символ.

Все описанные модификаторы могут использоваться совместно:

USE HAT4 AS KEYPAD - REVERSE_UD, REVERSE_LR, FORCED_CORNERS, NOHOLD, KP5

4.1.7 Каким образом компилятор преобразует выражения USE HatID AS

Данный раздел предназначен для продвинутых пользователей, желающих ознакомиться со всеми подробностями!

Для того, чтобы понять данный раздел, необходимо прочесть другие разделы руководства. Итак, для любителей технических подробностей: как компилятор преобразует выражения USE HATx AS что-то_полезное. Начнем с выражения USE HATx AS MOUSE.

USE HAT1 AS MOUSE (2) преобразуется компилятором в следующее:

USE HAT1 FORCED_CORNERS
BTN H1U /P MSY(2-) /R MSY(2+)
BTN H1R /P MSX (2+) /R MSX (2-)
BTN H1D /P MSY (2+) /R MSY (2-)
BTN H1L /P MSX (2-) /R MSX (2+)

Точно также:

USE HAT1 AS MOUSE (2) - REVERSE_UD

преобразуется в:

USE HAT1 FORCED_CORNERS
BTN H1U /P MSY(2+) /R MSY(2-)
BTN H1R /P MSX (2+) /R MSX (2-)
BTN H1D /P MSY (2-) /R MSY (2+)
BTN H1L /P MSX (2-) /R MSX (2+)

и наконец:

USE HAT1 AS MOUSE (2) - REVERSE_UD, REVERSE_LR

в:

USE HAT1 FORCED_CORNERS
BTN H1U /P MSY(2+) /R MSY(2-)
BTN H1R /P MSX (2-) /R MSX (2+)
BTN H1D /P MSY (2-) /R MSY (2+)
BTN H1L /P MSX (2+) /R MSX (2-)

Теперь рассмотрим преобразование выражения ARROWKEYS:

USE HAT2 AS ARROWKEYS

преобразуется в:

USE HAT2 FORCED_CORNERS
BTN H2U /H UARROW
BTN H2R /H RARROW
BTN H2D /H DARROW
BTN H2L /H LARROW

соответственно:

USE HAT2 AS ARROWKEYS - REVERSE_UD, NOHOLD

преображается в:

USE HAT2 FORCED_CORNERS
BTN H2U DARROW
BTN H2R RARROW
BTN H2D UARROW
BTN H2L LARROW

Заметьте, что верхнее и нижнее положения поменялись местами, а добавление модификатора NOHOLD убирает из выражений ключ /H.

И наконец:

USE HAT4 AS KEYPAD

преобразуется в:

BTN H4U /H KP8
BTN H4R /H KP6
BTN H4D /H KP2
BTN H4L /H KP4
BTN H4UR /H KP9
BTN H4DR /H KP3
BTN H4DL /H KP1
BTN H4UL /H KP7

соответственно:

USE HAT4 AS KEYPAD - REVERSE_UD, NOHOLD

в:

BTN H4U KP2
BTN H4R KP6
BTN H4D KP8
BTN H4L KP4
BTN H4UR KP3
BTN H4DR KP9
BTN H4DL KP7
BTN H4UL KP1

Отметьте, что при инверсии верхнего и нижнего положений изменяются автоматически и промежуточные положения.

То же самое справедливо и для REVERSE_LR:

USE HAT4 AS KEYPAD - REVERSE_LR

преобразуется в:

BTN H4U /H KP8
BTN H4R /H KP4
BTN H4D /H KP2
BTN H4L /H KP6
BTN H4UR /H KP7
BTN H4DR /H KP1
BTN H4DL /H KP3
BTN H4UL /H KP9

Если используется принудительное генерирование промежуточных положений:

USE HAT4 AS KEYPAD - FORCED_CORNERS

компилятор выполняет следующие преобразования:

USE HAT4 FORCED_CORNERS
BTN H4U /H KP8
BTN H4R /H KP6
BTN H4D /H KP2
BTN H4L /H KP4

И, наконец, при:

USE HAT4 AS KEYPAD - KP5

компилятор генерирует дополнительную строку:

BTN H4M KP5

Заметьте, что на центральном положении ключ /H не используется - там нужен единичный символ.
[/spoiler]
Defender Cobra M5 + NJoy32 Pro + метал. механика

Ilya Kaiten
Posts: 69
Joined: Thu Sep 27, 2012 14:31
Been thanked: 1 time

Re: Маппинг клавиатуры

Postby Ilya Kaiten » Thu Mar 24, 2016 3:40

Упс... А тег "спойлер" движок-то и не знает... И кнопка "редактировать" активна для меня только в теме, которую сам создал... =(
Defender Cobra M5 + NJoy32 Pro + метал. механика

skoder
Posts: 66
Joined: Sun Feb 15, 2015 20:24
Has thanked: 3 times

Re: Маппинг клавиатуры

Postby skoder » Thu Mar 24, 2016 8:50

Alex Oz wrote:Не совсем понял. Точней совсем не понял. Scan code у них одинаковый (0x13).
Соответственно это одна клавиша. Или нет?

В DCS это не одна клавиша. По крайне мере там захват по умолчанию на энтер и он не работает при назначении в мапинге

Alex Oz
Posts: 979
Joined: Mon May 12, 2008 9:10
Location: Минск
Has thanked: 4 times
Been thanked: 57 times

Re: Маппинг клавиатуры

Postby Alex Oz » Thu Mar 24, 2016 23:49

Ilya Kaiten wrote:В играх довольно часто есть разница между enter основной клавиатуры и нумпада...


skoder wrote:В DCS это не одна клавиша. По крайне мере там захват по умолчанию на энтер и он не работает при назначении в мапинге


Ilya Kaiten wrote:Что до самого оператора... Пожалуй процитирую весь блок (может ещё чего пригодится):


Спасибо. Полностью переносить функционал наверно смысла нет, но базу - вполне.

Покурил тему со сканкодами - коды Enter действительно разные (один - расширенный, но штатными средствами дельфи-сибилдер их не различает - оттого и захват как одной клавиши). Ранее ENTER с основной клавиатуры можно было ввести из списка ( "Return"). Переименовал его в списке в просто "Enter". Он будет теперь основным при капче клавиатуры. Старый - остался 'KPenter". Добавил еще нештатный захват для этого Enterа-а - но работать это может и не всегда. на XP требуется нажать клавишу два раза . В любом случае можно ввести его из списка - поэтому копать дальше пока не вижу смысла .

Также перекинул BackSpace <-> Delete.

Добавлю HAT as Numpad - всё вместе уже и будет в новом софте.
Крайние прошивки и софт / Latest firmware & software
viewtopic.php?f=15&t=908

Ilya Kaiten
Posts: 69
Joined: Thu Sep 27, 2012 14:31
Been thanked: 1 time

Re: Маппинг клавиатуры

Postby Ilya Kaiten » Fri Mar 25, 2016 2:50

Alex Oz wrote:Спасибо. Полностью переносить функционал наверно смысла нет, но базу - вполне.

Не за что =)
Полностью, разумеется, незачем. Тем более, что в виду современного засилья фритреков-трэкиров актуальность нумпада на хатке таки ниже. Привёл просто как пример реализации и информацию к размышлению =)
Копипаста взята из перевода старой версии оф мануала "HOTAS Cougar Ref Book Final v1.0_rus.doc". Возможно имеет смысл полистать в свободное время ;)
Замечу, что за прошедшее с первых версий время ВКБ конфигуратор реализовал многие заложенные в Target функции. Некоторые, кстати, являются прямой калькой. Обьяснений тому, видимо, два - та же сфера применения (формирование сходных признаков под воздействием среды, ага) и заявки\хотелки пользователей, ориентировавшихся в том числе и на функционал Кугара.
Defender Cobra M5 + NJoy32 Pro + метал. механика

User avatar
Victorus
Posts: 1013
Joined: Wed Sep 21, 2011 13:25
Has thanked: 158 times
Been thanked: 130 times

Re: Маппинг клавиатуры

Postby Victorus » Fri Mar 25, 2016 10:37

Ну да, например, TEMPO попрошена именно по примеру из TARGET)))

oskar356
Posts: 67
Joined: Wed Feb 12, 2014 21:56

Re: Маппинг клавиатуры

Postby oskar356 » Sat Mar 26, 2016 12:58

Если не трудно подскажите как сделать. Есть 2позиционный переключатель (toggle) и рядом энкодер. Нужно что бы в верхнем положении переключателя, энкодер управлял водо радиатором, а в нижнем масло радиатором. Это делается через sub shift?

User avatar
Victorus
Posts: 1013
Joined: Wed Sep 21, 2011 13:25
Has thanked: 158 times
Been thanked: 130 times

Re: Маппинг клавиатуры

Postby Victorus » Sat Mar 26, 2016 17:52

Можно простыми шифтами. Два положения тумблера - 2 шифта. Только не назначайте для них вариант alternate. Придется передергивать тумблер. Пусть будет momentary.
Ну и настройки энкодера на оси, номера которых зависят от состояния шифтов, на скриншоте.
enc_shiftsd.jpg

Это если вы собираетесь использовать их в качестве осей.
Успехов!
You do not have the required permissions to view the files attached to this post.

Alex Oz
Posts: 979
Joined: Mon May 12, 2008 9:10
Location: Минск
Has thanked: 4 times
Been thanked: 57 times

Re: Маппинг клавиатуры

Postby Alex Oz » Mon Mar 28, 2016 0:18

Вот:

HAT2Numpad.png


PS/ Свободные выходные - отличный повод чтобы поработать :)
You do not have the required permissions to view the files attached to this post.
Крайние прошивки и софт / Latest firmware & software
viewtopic.php?f=15&t=908

Ilya Kaiten
Posts: 69
Joined: Thu Sep 27, 2012 14:31
Been thanked: 1 time

Re: Маппинг клавиатуры

Postby Ilya Kaiten » Mon Mar 28, 2016 1:48

Alex Oz wrote:Вот:

HAT2Numpad.png


PS/ Свободные выходные - отличный повод чтобы поработать :)

Вах! А сама прошивка под NJoy32Pro версии 1.79+ хде? =) Что-то не могу найти ссылку в первых сообщениях впередипаровозной темы на прошивку.
Defender Cobra M5 + NJoy32 Pro + метал. механика

Ilya Kaiten
Posts: 69
Joined: Thu Sep 27, 2012 14:31
Been thanked: 1 time

Re: Маппинг клавиатуры

Postby Ilya Kaiten » Mon Mar 28, 2016 1:51

Ilya Kaiten wrote:...Что-то не могу найти ссылку в первых сообщениях впередипаровозной темы на прошивку.

Отбой. Нашёл XD
Побежал джойстик собирать (а то он у мну по всему столу распрепарирован в ходе экспериментов) XD
Defender Cobra M5 + NJoy32 Pro + метал. механика

Ilya Kaiten
Posts: 69
Joined: Thu Sep 27, 2012 14:31
Been thanked: 1 time

Re: Маппинг клавиатуры

Postby Ilya Kaiten » Mon Mar 28, 2016 2:35

Кхм =( Каг?
Image
И снова кнопки пропали =(((
Настройки осей слетели. Пришлось вручную по новой настраивать - атокалибровка (галочка которой была снята и не хотела активироваться пока джой в другой USB порт не переткнул) фигню накалибровала. Любопытно, что заморочки только с МАРС осями - аналоговая подхватилась сразу и корректно.
На кнопки джой вообще никак не реагирует. =((( Это нормально? =)
А ZBootloader-C.exe не менялся под крайние прошивки?
Defender Cobra M5 + NJoy32 Pro + метал. механика

Ilya Kaiten
Posts: 69
Joined: Thu Sep 27, 2012 14:31
Been thanked: 1 time

Re: Маппинг клавиатуры

Postby Ilya Kaiten » Mon Mar 28, 2016 3:52

Нумпад оживил (у меня сейчас мозг немного засрат ТМовским Таргетом и я забыл про прописать в новом конфиге User=Developer)...
Но почему кнопки-то неактивны?

Из любопытного - сунулся в макросы. Кликнул из любопытства "Load". Открылось окно проводника. Никаких сохранённых файлов макросов у мну там, конечно, не было и я кликнул "закрыть окно". При этом (откуда?!) все поля оказались забиндены макросами... O.O Может и кнопки пропадают от того, что чейто конфигурационный мусор затесался?

Image
Defender Cobra M5 + NJoy32 Pro + метал. механика

Alex Oz
Posts: 979
Joined: Mon May 12, 2008 9:10
Location: Минск
Has thanked: 4 times
Been thanked: 57 times

Re: Маппинг клавиатуры

Postby Alex Oz » Mon Mar 28, 2016 9:08

Где и как неактивны?
Хатка как хатка в настрйоках есть?Не видно что вирт клавиатура(нет в списке) встала - удалить устройство (драйвер) в винде.
Крайние прошивки и софт / Latest firmware & software
viewtopic.php?f=15&t=908


Return to “Программное обеспечение”

Who is online

Users browsing this forum: No registered users and 1 guest