обязательно заворачиваю WG через Wstunnelтак а какое имеет значение тогда WG?
а вот можно слов из контекст не выдирать, ага?я ничего не выдираю из контекста, я говорю именно про случай обычного использования RawInput, без утилит и драйверов. Пример с драйвером я привёл только для демонстрации того, что множество курсоров реальны, но не релизованы в single user Shell.
для прикладных программ отличить ввод от разных девайсов нельзяА для чего тогда в структуре RAWINPUTHEADER поле hDevice существует?
struct {
DWORD dwType;
DWORD dwSize;
HANDLE hDevice; // <- разное устройство сюда разный хендл запишет!
WPARAM wParam;
} RAWINPUTHEADER
Да, есть приложение для винды, которое каким-то хитрым способом может сделать "горячее кресло" из одной системыЭто не какой-то хитрый способ, а просто имплементация сессий в виндовом шелле. Это существует ещё со времён Windows 2000, просто мало кому нужно было. Потом это очень сильно улучшили в Vista, добавив полноценно это всё. Да, не из коробки, надо поковыряться с конфигами, но вполне работает, просто спроса нет на такие извращения. А уж в Линуксах такое с бородатых времён существует.
DirectInput так-то из директ-икса, он был в составе DirectX 7 или 8, когда ещё была чехарда с тем, что такое вообще графическое АПИ. Когда ввели хотя бы какой-то конвеер графический в 9-х иксах, тогда и появилась концепция сама. Сейчас нет таких АПИ, в которых бы было что-то, кроме оперирования конвеерами GPU.
Свою поднимать надо для такого.