Rémi Bernon (@rbernon) commented about dlls/winebus.sys/hid.c:
else if (x < 0 && y < 0) *value = 8;
}
And here?
```suggestion:-11+0 static void hatswitch_compose(LONG x, LONG y, UINT index, BYTE *value) { BYTE mask = (index % 2) ? 0x0f : 0xf0, shift = (index % 2) ? 4 : 0; if (x == 0 && y == 0) *value = (*value & mask) | (0 << shift); else if (x == 0 && y < 0) *value = (*value & mask) | (1 << shift); else if (x > 0 && y < 0) *value = (*value & mask) | (2 << shift); else if (x > 0 && y == 0) *value = (*value & mask) | (3 << shift); else if (x > 0 && y > 0) *value = (*value & mask) | (4 << shift); else if (x == 0 && y > 0) *value = (*value & mask) | (5 << shift); else if (x < 0 && y > 0) *value = (*value & mask) | (6 << shift); else if (x < 0 && y == 0) *value = (*value & mask) | (7 << shift); else if (x < 0 && y < 0) *value = (*value & mask) | (8 << shift); } ```