USB HID Devices



USB HID (human interface device) class — класс устройств USB для взаимодействия с человеком. Этот класс включает в себя такие устройства как клавиатурs, мыши, игровые(джойстики, рули и т.п.) и мультимедийные контроллеры и т.п. Класс USB HID определен в нескольких документах, предоставляемых USB Implementers Forum

USB HID устройство может быть составным и включать в себя несколько разных контроллеров, в т.ч. клавиатуру, мышь.

Игровой контроллер согласно документам USB-IF может иметь практически неограниченное количество контролов в виде осей, кнопок, элементов POV а также других, однако операционная система Windows ( точней её подсистема ввода Direct Input ) накладывает следующие ограничения на игровой контроллер:

Хотя игры/симуляторы могут иметь собственную подсистему ввода и поддерживать устройства с гораздо большим числом контролов, чем в Direct Input, однако это практически не используется. 

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

Настройки USB HID устройств находятся на панели конфигуратора Global-Common

Включенные виртуальные устройства можно видеть в списке устройств. Если используется короткий список, то список составного устройства можно увидеть на всплывающей подсказке;

Игровые контроллеры

SN - серийный номер устройства HID. Иногда для двух одинаковых физических устройств может понадобится задать серийный номер - чтобы игры могли их различать. 0000 - устройство HID без серийного номера

#POV - задает число POV  в базовом контроллере ( до 4-х хаток)

#But -  задает число кнопок  в базовом контроллере ( до 128)

VC - задает число дополнительных виртуальных контроллеров ( до 3-х контроллеров ). В таких контроллерах по умолчанию задается по 128 кнопок и 4 POV. 

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

#But = 64 , VC=1 - будет создан дополнительный виртуальный игровой контроллер с 64 кнопками. При этом все логические кнопки джойстика (128 макс) будут разделены между основным и виртуальным контроллерами.

#But = 32 , VC=3 - будут созданы  3 виртуальных игровых  контроллера с 32 кнопками. При этом все логические кнопки джойстика (128 макс) будут разделены между всеми 4-мя контроллерами.

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

Hide - позволяет сделать вместо стандартного игрового устройства скрытое ( т.н. Vendor - device). Его смогут видеть и работать с ним только определенные программы.

Eco -  по команде шины USB устройство переходит в глубокий сон с минимальным потреблением тока. Выключив эту опцию устройство продолжит работу с периферией как и раньше с тем же потреблением тока, однако отключится от шины USB как работающее.

FPS - выбор максимальной частоты  обновления данных контроллера в системе. Обычно не требует изменения.

SD (Start Delay) - задержка переподключения контроллера в системе.  Обычно не требует изменения.

Dly, mS - задержка между "нажатием" модификаторов CTRL-ALT-SHIFT-WIN и основной клавишей в комбинаторных клавишах

F13..F24 Keys - клавиатура с расширенными клавишам Fx

Mouse

OFF - выключено

Relative - эмуляция обычной мыши, перемещения которой передаются в виде изменений координат XY

Absolute - эмуляция поинтера с абсолютными координатами

R+A - две вышеперечисленные типа  поинтеров работают одновременно. 

Active - режим работы 

  On/OFF - управляемый 

Always ON - постоянно включено


Параметры управления для Relative мыши, управляемой аналоговыми осями ( POV );

Speed : чувствительность отклика

Curve - степень нелинейности отклика OFF .. 1..8

FL (Forced Limit) - мгновенное перемещение на максимум при достижении управляющей осью максимального значения


Параметры управления для ABSOLUTE Mode:

SCREEN Width/Height - значения ширины / высоты экрана в пикселях 

SP1..SP7 - сетпоинты для установки курсора в определенные позиции (см. функцию Set Screen Point )

Доступные контролы для управления в системе можно посмотреть здесь