node-mac-recorder 2.20.12 → 2.20.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/cursor_tracker.mm +8 -8
package/package.json
CHANGED
package/src/cursor_tracker.mm
CHANGED
|
@@ -656,6 +656,7 @@ static NSString* detectSystemCursorType(void) {
|
|
|
656
656
|
CGFloat relativeHotspotY = hotspot.y / imageSize.height;
|
|
657
657
|
|
|
658
658
|
|
|
659
|
+
|
|
659
660
|
// UPDATED with real cursor data:
|
|
660
661
|
// Arrow: 17x23 ratio=0.74 hotspot=(0.24,0.17)
|
|
661
662
|
// Text: 9x18 ratio=0.50 hotspot=(0.44,0.50)
|
|
@@ -750,17 +751,16 @@ NSString* getCursorType() {
|
|
|
750
751
|
|
|
751
752
|
NSString *finalType = @"default";
|
|
752
753
|
|
|
753
|
-
|
|
754
|
-
//
|
|
754
|
+
|
|
755
|
+
// SYSTEM CURSOR PRIORITY - trust visual state over accessibility
|
|
755
756
|
if (systemCursorType && [systemCursorType length] > 0) {
|
|
756
|
-
//
|
|
757
|
+
// ALWAYS use system cursor when available - it reflects visual state
|
|
758
|
+
finalType = systemCursorType;
|
|
759
|
+
|
|
760
|
+
// Special case: Only use AX for resize cursors that system can't detect
|
|
757
761
|
if ([systemCursorType isEqualToString:@"default"] && axCursorType &&
|
|
758
|
-
|
|
759
|
-
[axCursorType containsString:@"resize"] ||
|
|
760
|
-
[axCursorType isEqualToString:@"crosshair"])) {
|
|
762
|
+
[axCursorType containsString:@"resize"]) {
|
|
761
763
|
finalType = axCursorType;
|
|
762
|
-
} else {
|
|
763
|
-
finalType = systemCursorType;
|
|
764
764
|
}
|
|
765
765
|
}
|
|
766
766
|
// Only if system completely fails, use AX
|