Beispiel #1
0
        HidDeviceButtonCapabilities[] GetDeviceButtonCapabilities(IntPtr handle)
        {
            var capsLength         = (short)capabilities.NumberInputButtonCaps;
            var buttonCapabilities = new HidApi.HIDP_BUTTON_CAPS[capsLength];

            using (var dataContext = new PreparsedDataContext(handle)) {
                HidApi.HidP_GetButtonCaps(HidApi.HIDP_REPORT_TYPE.Input, buttonCapabilities, ref capsLength, dataContext.Handle);
            }

            return(buttonCapabilities.Select(caps => new HidDeviceButtonCapabilities(caps)).ToArray());
        }
Beispiel #2
0
            internal HidDeviceButtonCapabilities(HidApi.HIDP_BUTTON_CAPS caps)
            {
                UsagePage         = caps.UsagePage;
                ReportId          = caps.ReportID;
                IsAlias           = caps.IsAlias;
                BitField          = caps.BitField;
                LinkCollection    = caps.LinkCollection;
                LinkUsage         = caps.LinkUsage;
                LinkUsagePage     = caps.LinkUsagePage;
                IsRange           = caps.IsRange;
                IsStringRange     = caps.IsStringRange;
                IsDesignatorRange = caps.IsDesignatorRange;
                IsAbsolute        = caps.IsAbsolute;
                Reserved          = caps.Reserved;

                Range    = new HidDeviceButtonRange(caps.Range);
                NotRange = new HidDeviceButtonNotRange(caps.NotRange);
            }