やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

接続されたデバイスを検出してみた

JoyPad, PenTab, Mouse, を検出できたっぽい。

Visual C++ 2010 Expressのデバッグ出力で確認できる。 Windowには何も表示されない。

GetRawInputDeviceList

入手先

GitHub MEGA

デバッグ出力

type=Mouse:
    Handle=0x006A04C5(←Logicool マウス MX400 ?)
    Name=\??\HID#Vid_046d&Pid_c043#6&258acb37&3&0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd}
    Id=256, Buttons=8, SampleRate=0, HorizontalWheel=0
type=Mouse:
    Handle=0x00690617
    Name=\??\HID#WACOMVIRTUALHID&Col03#1&2d595ca7&0&0002#{378de44c-56ef-11d1-bc8c-00a0c91405dd}
    Id=256, Buttons=5, SampleRate=0, HorizontalWheel=0

type=HID:
    Handle=0x00170635(←WACOM ペンタブ ?)
    Name=\??\HID#Vid_056a&Pid_0013&Col02#6&4fce6e4&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
    VendorId=1386, ProductId=19, VersionNumber=788, UsagePage=0xD, Usage=0x1, NumberOfKeysTotal=1556289095

type=HID:
    Handle=0x0015061F(←Logicool DUAL ACTION   M/N:G-UF13A ?)
    Name=\??\HID#Vid_046d&Pid_c216#6&3a9bc469&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
    VendorId=1133, ProductId=49686, VersionNumber=768, UsagePage=0x1, Usage=0x4, NumberOfKeysTotal=3601697469
type=HID:
    Handle=0x00010067
    Name=\??\HID#WACOMVIRTUALHID&Col02#1&2d595ca7&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
    VendorId=1386, ProductId=4097, VersionNumber=2, UsagePage=0xD, Usage=0x1, NumberOfKeysTotal=3601697469
type=HID:
    Handle=0x00010065
    Name=\??\HID#WACOMVIRTUALHID&Col01#1&2d595ca7&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
    VendorId=1386, ProductId=4097, VersionNumber=2, UsagePage=0xD, Usage=0x2, NumberOfKeysTotal=3601697469
type=Keyboard:
    Handle=0x00010063
    Name=\??\Root#RDP_KBD#0000#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}
    Type=81, SubType=0, KeyboardMode=1, NumberOfFunctionKeys=12, NumberOfIndicators=3, NumberOfKeysTotal=101
type=Keyboard:
    Handle=0x00010061
    Name=\??\ACPI#PNP0320#4&38462492&0#{884b96c3-56ef-11d1-bc8c-00a0c91405dd}
    Type=7, SubType=2, KeyboardMode=1, NumberOfFunctionKeys=12, NumberOfIndicators=3, NumberOfKeysTotal=101
type=Mouse:
    Handle=0x0001004B
    Name=\??\Root#RDP_MOU#0000#{378de44c-56ef-11d1-bc8c-00a0c91405dd}
    Id=2, Buttons=2, SampleRate=60, HorizontalWheel=0
type=Mouse:
    Handle=0x00010049
    Name=\??\HID#WACOMVIRTUALHID&Col03#1&2d595ca7&0&0002#{378de44c-56ef-11d1-bc8c-00a0c91405dd}
    Id=256, Buttons=5, SampleRate=0, HorizontalWheel=0
type=Mouse:
    Handle=0x00010047
    Name=\??\ACPI#SYN0002#4&38462492&0#{378de44c-56ef-11d1-bc8c-00a0c91405dd}
    Id=32, Buttons=5, SampleRate=40, HorizontalWheel=0

参考

https://msdn.microsoft.com/en-us/library/windows/desktop/ms645536(v=vs.85).aspx
http://asawicki.info/news_1533_handling_multiple_mice_with_raw_input.html

RAWINPUTDEVICEにてデバイスを特定するときのUsagePageを調べる。
http://www.usb.org/developers/hidpage/#Usage_Tables