gkv311
> Современные USB мышки и клавиатуры работают практически также как и джойстики -
> через polling состояния устройства системой с некоторой частотой.
Не также. У процессора с USB контроллером есть набор прерываний которые не маскируются, а вводят процессор в режим SMM (System Management Mode), по сути те же прерывания но с доступом ко всем ресурсам, а главное это аппаратные прерывания которые используются для usb устройств. Мало того и джойстики тоже имеют аппаратное прерывание (не все). Так что USB прерывание дергает то же девятое аппаратное клавиатурное прерывание, а клавиатурные порты ввода вывода перехватываются для эмуляции ввода PS/2 устройств. Но они не опрашиваются программно с частотой X, а работают в том же аппаратном режиме.
gkv311
> не жирновато ли каждому приложению тыкать джойстик параллельно с неизвестной
> частотой?
А ты прям постоянно в десяток игровых приложений одновременно играешь с одного устройства ввода на одном компе.
Стандартная задержка для любого типа ввода одна итерация. Потому что как с событиями так и при проверке состояний - это проверка происходит один раз за цикл. Если смена состояний/генерация сообщения произошла после выполнения опроса ввода, то все они идут на следующую итерацию.
Ну и говно ж этот RAW_INPUT для джойстиков!
Гораздо приятней MMSystem использовать, не вижу преимуществ RAW_INPUT перед ним. (Только не надо там про "прямой доступ к драйверу" :D) DirectInput самый прямой к драйверу.
Хаус
> Ну и говно ж этот RAW_INPUT для джойстиков!
неосилил?
forwhile
> неосилил?
пощупал, не понравился.
чем он лучше MMSystem?
Хаус
> чем он лучше MMSystem?
я не знаю ((
я всегда читал,и все топили за рау инпут, но по факту, люди за 10 лет на форуме только успели в рендер.
а что значит понравился или не понравился?
за количество поддерживаемых джойстиков кто отвечает? ведь это главный критерий или нет
чтобы васин гейпад и петин гейпад в игре обнаружились
forwhile
> а что значит понравился или не понравился?
простые вещи сделаны муторно.
В MMSystem всё очень прозрачно и классно.
Raw Input переводится как 'сырой ввод'. Он не может быть самым простым или самым удобным по сравнению с любым более высокоуровневым API. Зато он может быть самым сырым - в плане ближе всего к железу и к его скрытым (за высокоуровневым API) возможностям.
Ваш КО.
gkv311
Капитан, рав-инпут не чем не лучше для других API для джойстиков.
Мы тут джойстики обсуждаем как бы. рав-инпут годится только если подключено 2 клавиатуры и т.д. и т.п.
Хаус
> рав-инпут годится только если подключено 2 клавиатуры и т.д. и т.п.
Не знаю причем тут 2 клавиатуры, у меня Raw Input работает нормально и для одного подключенного джойстика и для одной подключенной мышки.
Хаус
А чем тебя SDL не устраивает?
Robotex
> А чем тебя SDL не устраивает?
Нет на Delphi
Хаус
> Нет на Delphi
[facepalm]
https://github.com/ev1313/Pascal-SDL-2-Headers
Нагуглилось за ~10 сек.
И есть еще (как мин) 5 вариантов начиная с лохматых JEDI-SDL.
rcsim
> [facepalm]
>
> https://github.com/ev1313/Pascal-SDL-2-Headers
ну ок, но хочется ведь велик же
Тема в архиве.