mirror of
https://github.com/yawut/SDL.git
synced 2026-10-01 12:46:41 -05:00
Sort by HID usage, which makes more sense and is more cross-platform
This commit is contained in:
@@ -331,20 +331,22 @@ HIDAddElement(CFTypeRef refElement, recDevice * pDevice)
|
||||
}
|
||||
|
||||
if (element && headElement) { /* add to list */
|
||||
pDevice->elements++;
|
||||
if (NULL == *headElement)
|
||||
*headElement = element;
|
||||
else {
|
||||
recElement *elementPrevious, *elementCurrent;
|
||||
elementCurrent = *headElement;
|
||||
while (elementCurrent) {
|
||||
elementPrevious = elementCurrent;
|
||||
elementCurrent = elementPrevious->pNext;
|
||||
}
|
||||
elementPrevious->pNext = element;
|
||||
recElement *elementPrevious = NULL;
|
||||
recElement *elementCurrent = *headElement;
|
||||
while (elementCurrent && usage >= elementCurrent->usage) {
|
||||
elementPrevious = elementCurrent;
|
||||
elementCurrent = elementCurrent->pNext;
|
||||
}
|
||||
element->pNext = NULL;
|
||||
if (elementPrevious) {
|
||||
elementPrevious->pNext = element;
|
||||
} else {
|
||||
*headElement = element;
|
||||
}
|
||||
element->usagePage = usagePage;
|
||||
element->usage = usage;
|
||||
element->pNext = elementCurrent;
|
||||
HIDGetElementInfo(refElement, element);
|
||||
pDevice->elements++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
struct recElement
|
||||
{
|
||||
IOHIDElementCookie cookie; /* unique value which identifies element, will NOT change */
|
||||
long usagePage, usage; /* HID usage */
|
||||
long min; /* reported min value possible */
|
||||
long max; /* reported max value possible */
|
||||
#if 0
|
||||
|
||||
Reference in New Issue
Block a user