Хаус
Самый нативный натив для уиндоуз, по сути прямой доступ к драйверу жостика.
bykabak
> XInput работает с любым устройством от слова вообще: Gamepad , Joystick ,
> многокнопочная мышь , руль , и т.д. для которого установлен драйвер в Windows.
> т.е. у вас не будет проблем с любой кнопкой или аналоговым регулятором на
> устройстве.
так нет же, он работает только x360 джойстиком
в sdk 2010 есть тестовые программы,мой древний thrustmaster, xinput программа не видит, dinput - видет.
так что я не очень понял вашу мысль.
Юзаю SDL.
Прекрасно работают как DInput джойскик так и XInput геймпад.
Только Дуалшок не проверял, в виду его ненадобности.
nes
> Самый нативный натив для уиндоуз, по сути прямой доступ к драйверу жостика.
Вибрация есть?
nes
> Самый нативный натив для уиндоуз, по сути прямой доступ к драйверу жостика.
Про что я и говорю = используешь Raw Input, который не требует никаких заголовочных файлов и библиотек, и библиотеку HID для гейпадов, и можешь юзать даже DualShock!
Хаус
> Вибрация есть?
Вот здесь пока основная загвоздка :) в XInput ты можешь использовать вибрацию, как два пальца обоссать, а здесь уже сложнее. Для XBox я пока не искал решения, а для DualShock, например, это дело работает вот так. А вот пример использования Raw Input для опроса клавиатуры и мыши, но тут сразу нужно быть готовым к тому, что в отличие от DeprecatedInput здесь не ты вызываешь опрос устройств ввода, а вызов происходит уже из WndProc().
Хаус
По сути для клаво-мыши и, если нужен DualShock, ты можешь использовать Raw Input, а для XBox = XInput и не париться!
Хаус
Вибрацию можно через запись в файл.
Но имхо это вибрация только мешает в игорях.
Daniil Petrov
>Про что я и говорю = используешь Raw Input, который не требует никаких заголовочных файлов и библиотек, и библиотеку HID для гейпадов, и можешь юзать даже DualShock!
+1
Daniil Petrov
>По сути для клаво-мыши и, если нужен DualShock, ты можешь использовать Raw Input, а для XBox = XInput и не париться!
С клавой плюс еще в том, что можно заюзать клавиши windows для игровых нужд (т.е. окно не будет сворачиваться по нажатию на них).
nes
> С клавой плюс еще в том, что можно заюзать клавиши windows для игровых нужд (т.е. окно не будет сворачиваться по нажатию на них).
Иногда из-за этого начинаешь париться, так как не вызвать клавишей меню Пуск даже в оконном режиме, когда нужно :)
forwhile,
В любом случае, если Windows 7 - 10 видит ваш древний thrustmaster - драйверы установлены, то dinput будет работать с устройством.
Daniil Petrov
Alt+Tab хватит всем )
nes
> Вибрацию можно через запись в файл.
Покажи пример
Хаус
> Покажи пример
Raw Input вибрация для DualShock:
const char *path = /* from GetRawInputDeviceInfo(RIDI_DEVICENAME) */; HANDLE hid_device = CreateFile(path, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); assert( hid_device != INVALID_HANDLE_VALUE); uint8_t buf[32]; memset( buf, 0, sizeof( buf)); buf[0] = 0x05; buf[1] = 0xFF; buf[4] = right_motor_strength; // 0-255 buf[5] = left_motor_strength; // 0-255 buf[6] = led_red_level; // 0-255 buf[7] = led_green_level; // 0-255 buf[8] = led_blue_level; // 0-255 DWORD bytes_written; assert( WriteFile( hid_device, buf, sizeof( buf), &bytes_written, NULL)); assert( bytes_written == 32);
Здесь пример опроса гейпадов для Raw Input посредством HID.
Daniil Petrov
Чем RAW лучше XInput?
Хаус
> Чем RAW лучше XInput?
А вот знаешь, попробуй XInput, для гейпадов XBox это однозначно лучшая библиотека, а вот если её для чего-то другого тебе не хватит, попробуешь уже Raw Input :)
Ты столько времени сидишь, сиськи мнёшь, хотя за это время уже можно было и то, и другое опробовать )))
Тема в архиве.