reflexion 0.3.11 → 0.3.12

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/ChangeLog.md +5 -0
  3. data/VERSION +1 -1
  4. data/src/osx/gamepad_hid.mm +19 -16
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9adc2b7a59858b027b34cddb25f70e0732c9253d7a5001191aa325dd388af3ef
4
- data.tar.gz: 670815ce0dc0e7272f56eb3f278bd2f9990002f7860aad6300ed8bb6b6ca156b
3
+ metadata.gz: 93447fb2ba3583e6befbfcb29b591333eeec2078be0ecf37416f9234071410d4
4
+ data.tar.gz: d73dcb8975948b4d6452c16b21a9ad8ef0fb9f7d0fef67a9e75bf3958f398db3
5
5
  SHA512:
6
- metadata.gz: ceed45697adeec1a3886e9561c2d6c5864da12083c04d28c8b25dfe2687162af712941549c56f394176c63cf4415ffba269c0e29f90d9135519c98349c6315fc
7
- data.tar.gz: 5a22ee9b666211707365a31e8c3dd6191ac18b6088f6b5b06baad33b1c1663ec7edd29b5e8693ba5ccc2a1589fc836ec3ca46fd19d1099825d20e760e51c7e6a
6
+ metadata.gz: 01e2a180d314a339f07a108c55f051ac9a234b88fd23a404a8e0be94ff42db8159087cd9d0af7d838512c6dc820a52ef999c9ba6bf33441711d6173422b4fffc
7
+ data.tar.gz: ca60885fadd6e947ad3c740d767a821c825b9c5093c1c575c75461897a9960c923c64d45a91da0df01fd1f3d2882514ba518f82aab4e2c9829c92c4a2612462b
data/ChangeLog.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # reflex ChangeLog
2
2
 
3
3
 
4
+ ## [v0.3.12] - 2026-04-10
5
+
6
+ - Work around macOS 15 HID gamepad Y-axis inversion
7
+
8
+
4
9
  ## [v0.3.11] - 2026-04-09
5
10
 
6
11
  - Add minimal support for SDL2
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.11
1
+ 0.3.12
@@ -445,8 +445,11 @@ namespace Reflex
445
445
  float range = min == max ? max : max - min;
446
446
  if (range == 0) range = 1;
447
447
 
448
- float linear = (value - min) / range;
449
- float centered = linear * 2 - 1;
448
+ float linear = (value - min) / range;
449
+ float xcentered = linear * 2 - 1;
450
+ float ycentered = xcentered;
451
+ if (NSProcessInfo.processInfo.operatingSystemVersion.majorVersion == 15)
452
+ ycentered = -ycentered;
450
453
 
451
454
  #define HANDLE_DPAD(stick, neg, pos, var, value) \
452
455
  handle_stick_dpad_event( \
@@ -467,32 +470,32 @@ namespace Reflex
467
470
  case HIDGamepadData::RSTICK_RxRy:
468
471
  switch (usage)
469
472
  {
470
- case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x, centered); break;
471
- case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -centered); break;
472
- case kHIDUsage_GD_Rx: HANDLE_DPAD(RSTICK, LEFT, RIGHT, sticks[1].x, centered); break;
473
- case kHIDUsage_GD_Ry: HANDLE_DPAD(RSTICK, DOWN, UP, sticks[1].y, -centered); break;
474
- case kHIDUsage_GD_Z: HANDLE_TRIGGER(LTRIGGER, triggers[0], linear); break;
475
- case kHIDUsage_GD_Rz: HANDLE_TRIGGER(RTRIGGER, triggers[1], linear); break;
473
+ case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x, xcentered); break;
474
+ case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -ycentered); break;
475
+ case kHIDUsage_GD_Rx: HANDLE_DPAD(RSTICK, LEFT, RIGHT, sticks[1].x, xcentered); break;
476
+ case kHIDUsage_GD_Ry: HANDLE_DPAD(RSTICK, DOWN, UP, sticks[1].y, -ycentered); break;
477
+ case kHIDUsage_GD_Z: HANDLE_TRIGGER(LTRIGGER, triggers[0], linear); break;
478
+ case kHIDUsage_GD_Rz: HANDLE_TRIGGER(RTRIGGER, triggers[1], linear); break;
476
479
  }
477
480
  break;
478
481
 
479
482
  case HIDGamepadData::RSTICK_ZRz:
480
483
  switch (usage)
481
484
  {
482
- case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x, centered); break;
483
- case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -centered); break;
484
- case kHIDUsage_GD_Z: HANDLE_DPAD(RSTICK, LEFT, RIGHT, sticks[1].x, centered); break;
485
- case kHIDUsage_GD_Rz: HANDLE_DPAD(RSTICK, DOWN, UP, sticks[1].y, -centered); break;
486
- case kHIDUsage_GD_Rx: HANDLE_TRIGGER(LTRIGGER, triggers[0], linear); break;
487
- case kHIDUsage_GD_Ry: HANDLE_TRIGGER(RTRIGGER, triggers[1], linear); break;
485
+ case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x, xcentered); break;
486
+ case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -ycentered); break;
487
+ case kHIDUsage_GD_Z: HANDLE_DPAD(RSTICK, LEFT, RIGHT, sticks[1].x, xcentered); break;
488
+ case kHIDUsage_GD_Rz: HANDLE_DPAD(RSTICK, DOWN, UP, sticks[1].y, -ycentered); break;
489
+ case kHIDUsage_GD_Rx: HANDLE_TRIGGER(LTRIGGER, triggers[0], linear); break;
490
+ case kHIDUsage_GD_Ry: HANDLE_TRIGGER(RTRIGGER, triggers[1], linear); break;
488
491
  }
489
492
  break;
490
493
 
491
494
  default:
492
495
  switch (usage)
493
496
  {
494
- case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x, centered); break;
495
- case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -centered); break;
497
+ case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x, xcentered); break;
498
+ case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -ycentered); break;
496
499
  }
497
500
  break;
498
501
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reflexion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.11
4
+ version: 0.3.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog