reflexion 0.3.12 → 0.3.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.
- checksums.yaml +4 -4
- data/.github/workflows/release-gem.yml +1 -1
- data/.github/workflows/test.yml +4 -4
- data/ChangeLog.md +10 -0
- data/Gemfile.lock +6 -5
- data/VERSION +1 -1
- data/reflex.gemspec +3 -3
- data/src/osx/gamepad_hid.mm +22 -19
- metadata +8 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7614e28fab217b144379d0859803bd318c61cca675b9c67061d0b86878300962
|
|
4
|
+
data.tar.gz: 6f9f65b4c99e1f0acadc628f5d190343659e4c89f1ada8a21ca24c1a0d1d8185
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 23d61727fe3c353800913fa85ad9c357cad87e16c4f9be8f0d1a736216028019dce2e75f2fa9e486d78c96a2667fadfbcc4c6521fb6b3a2997e6b352defb9a39
|
|
7
|
+
data.tar.gz: ba6c9e81a25ff8195023d26d99da5b9339c2349971716e83680c4a3e6b7bbfe46a8452f4cd37e5200ead581c56e9f68edcbc7248d4b5f8eef5a31dcb7c3c8c5c
|
data/.github/workflows/test.yml
CHANGED
|
@@ -25,13 +25,13 @@ jobs:
|
|
|
25
25
|
run: "ruby -I.github/workflows -rutils -e 'setup_dependencies'"
|
|
26
26
|
|
|
27
27
|
- name: packages
|
|
28
|
-
run: bundle exec rake packages
|
|
28
|
+
run: bundle exec rake verbose packages
|
|
29
29
|
|
|
30
30
|
- name: lib
|
|
31
|
-
run: bundle exec rake lib
|
|
31
|
+
run: bundle exec rake verbose lib
|
|
32
32
|
|
|
33
33
|
- name: ext
|
|
34
|
-
run: bundle exec rake ext
|
|
34
|
+
run: bundle exec rake verbose ext
|
|
35
35
|
|
|
36
36
|
- name: test
|
|
37
|
-
run: bundle exec rake test
|
|
37
|
+
run: bundle exec rake verbose test
|
data/ChangeLog.md
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
# reflex ChangeLog
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## [v0.3.14] - 2026-04-17
|
|
5
|
+
|
|
6
|
+
- Fix HID gamepad stick direction release not firing on direction switch
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## [v0.3.13] - 2026-04-10
|
|
10
|
+
|
|
11
|
+
- Revert "Work around macOS 15 HID gamepad Y-axis inversion"
|
|
12
|
+
|
|
13
|
+
|
|
4
14
|
## [v0.3.12] - 2026-04-10
|
|
5
15
|
|
|
6
16
|
- Work around macOS 15 HID gamepad Y-axis inversion
|
data/Gemfile.lock
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: https://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
power_assert (
|
|
5
|
-
rake (13.1
|
|
6
|
-
test-unit (3.
|
|
4
|
+
power_assert (3.0.1)
|
|
5
|
+
rake (13.3.1)
|
|
6
|
+
test-unit (3.7.7)
|
|
7
7
|
power_assert
|
|
8
|
-
yard (0.9.
|
|
8
|
+
yard (0.9.39)
|
|
9
9
|
|
|
10
10
|
PLATFORMS
|
|
11
11
|
arm64-darwin-21
|
|
12
12
|
arm64-darwin-23
|
|
13
|
+
arm64-darwin-24
|
|
13
14
|
|
|
14
15
|
DEPENDENCIES
|
|
15
16
|
rake
|
|
@@ -17,4 +18,4 @@ DEPENDENCIES
|
|
|
17
18
|
yard
|
|
18
19
|
|
|
19
20
|
BUNDLED WITH
|
|
20
|
-
2.4.
|
|
21
|
+
2.4.19
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.3.
|
|
1
|
+
0.3.14
|
data/reflex.gemspec
CHANGED
|
@@ -25,9 +25,9 @@ Gem::Specification.new do |s|
|
|
|
25
25
|
s.platform = Gem::Platform::RUBY
|
|
26
26
|
s.required_ruby_version = '>= 3.0.0'
|
|
27
27
|
|
|
28
|
-
s.add_dependency 'xot', '~> 0.3.
|
|
29
|
-
s.add_dependency 'rucy', '~> 0.3.
|
|
30
|
-
s.add_dependency 'rays', '~> 0.3.
|
|
28
|
+
s.add_dependency 'xot', '~> 0.3.11'
|
|
29
|
+
s.add_dependency 'rucy', '~> 0.3.11'
|
|
30
|
+
s.add_dependency 'rays', '~> 0.3.11'
|
|
31
31
|
|
|
32
32
|
s.files = `git ls-files`.split $/
|
|
33
33
|
s.executables = s.files.grep(%r{^bin/}) {|f| File.basename f}
|
data/src/osx/gamepad_hid.mm
CHANGED
|
@@ -424,9 +424,15 @@ namespace Reflex
|
|
|
424
424
|
*state = value;
|
|
425
425
|
|
|
426
426
|
if (value < 0)
|
|
427
|
+
{
|
|
428
|
+
call_button_event(gamepad, button_positive, key_code_positive, 0);
|
|
427
429
|
call_button_event(gamepad, button_negative, key_code_negative, -value);
|
|
430
|
+
}
|
|
428
431
|
else
|
|
432
|
+
{
|
|
433
|
+
call_button_event(gamepad, button_negative, key_code_negative, 0);
|
|
429
434
|
call_button_event(gamepad, button_positive, key_code_positive, value);
|
|
435
|
+
}
|
|
430
436
|
}
|
|
431
437
|
|
|
432
438
|
static void
|
|
@@ -445,11 +451,8 @@ namespace Reflex
|
|
|
445
451
|
float range = min == max ? max : max - min;
|
|
446
452
|
if (range == 0) range = 1;
|
|
447
453
|
|
|
448
|
-
float linear
|
|
449
|
-
float
|
|
450
|
-
float ycentered = xcentered;
|
|
451
|
-
if (NSProcessInfo.processInfo.operatingSystemVersion.majorVersion == 15)
|
|
452
|
-
ycentered = -ycentered;
|
|
454
|
+
float linear = (value - min) / range;
|
|
455
|
+
float centered = linear * 2 - 1;
|
|
453
456
|
|
|
454
457
|
#define HANDLE_DPAD(stick, neg, pos, var, value) \
|
|
455
458
|
handle_stick_dpad_event( \
|
|
@@ -470,32 +473,32 @@ namespace Reflex
|
|
|
470
473
|
case HIDGamepadData::RSTICK_RxRy:
|
|
471
474
|
switch (usage)
|
|
472
475
|
{
|
|
473
|
-
case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x,
|
|
474
|
-
case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -
|
|
475
|
-
case kHIDUsage_GD_Rx: HANDLE_DPAD(RSTICK, LEFT, RIGHT, sticks[1].x,
|
|
476
|
-
case kHIDUsage_GD_Ry: HANDLE_DPAD(RSTICK, DOWN, UP, sticks[1].y, -
|
|
477
|
-
case kHIDUsage_GD_Z: HANDLE_TRIGGER(LTRIGGER, triggers[0], linear);
|
|
478
|
-
case kHIDUsage_GD_Rz: HANDLE_TRIGGER(RTRIGGER, triggers[1], linear);
|
|
476
|
+
case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x, centered); break;
|
|
477
|
+
case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -centered); break;
|
|
478
|
+
case kHIDUsage_GD_Rx: HANDLE_DPAD(RSTICK, LEFT, RIGHT, sticks[1].x, centered); break;
|
|
479
|
+
case kHIDUsage_GD_Ry: HANDLE_DPAD(RSTICK, DOWN, UP, sticks[1].y, -centered); break;
|
|
480
|
+
case kHIDUsage_GD_Z: HANDLE_TRIGGER(LTRIGGER, triggers[0], linear); break;
|
|
481
|
+
case kHIDUsage_GD_Rz: HANDLE_TRIGGER(RTRIGGER, triggers[1], linear); break;
|
|
479
482
|
}
|
|
480
483
|
break;
|
|
481
484
|
|
|
482
485
|
case HIDGamepadData::RSTICK_ZRz:
|
|
483
486
|
switch (usage)
|
|
484
487
|
{
|
|
485
|
-
case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x,
|
|
486
|
-
case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -
|
|
487
|
-
case kHIDUsage_GD_Z: HANDLE_DPAD(RSTICK, LEFT, RIGHT, sticks[1].x,
|
|
488
|
-
case kHIDUsage_GD_Rz: HANDLE_DPAD(RSTICK, DOWN, UP, sticks[1].y, -
|
|
489
|
-
case kHIDUsage_GD_Rx: HANDLE_TRIGGER(LTRIGGER, triggers[0], linear);
|
|
490
|
-
case kHIDUsage_GD_Ry: HANDLE_TRIGGER(RTRIGGER, triggers[1], linear);
|
|
488
|
+
case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x, centered); break;
|
|
489
|
+
case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -centered); break;
|
|
490
|
+
case kHIDUsage_GD_Z: HANDLE_DPAD(RSTICK, LEFT, RIGHT, sticks[1].x, centered); break;
|
|
491
|
+
case kHIDUsage_GD_Rz: HANDLE_DPAD(RSTICK, DOWN, UP, sticks[1].y, -centered); break;
|
|
492
|
+
case kHIDUsage_GD_Rx: HANDLE_TRIGGER(LTRIGGER, triggers[0], linear); break;
|
|
493
|
+
case kHIDUsage_GD_Ry: HANDLE_TRIGGER(RTRIGGER, triggers[1], linear); break;
|
|
491
494
|
}
|
|
492
495
|
break;
|
|
493
496
|
|
|
494
497
|
default:
|
|
495
498
|
switch (usage)
|
|
496
499
|
{
|
|
497
|
-
case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x,
|
|
498
|
-
case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -
|
|
500
|
+
case kHIDUsage_GD_X: HANDLE_DPAD(LSTICK, LEFT, RIGHT, sticks[0].x, centered); break;
|
|
501
|
+
case kHIDUsage_GD_Y: HANDLE_DPAD(LSTICK, DOWN, UP, sticks[0].y, -centered); break;
|
|
499
502
|
}
|
|
500
503
|
break;
|
|
501
504
|
}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: reflexion
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.14
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- xordog
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-04-
|
|
11
|
+
date: 2026-04-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: xot
|
|
@@ -16,42 +16,42 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.3.
|
|
19
|
+
version: 0.3.11
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.3.
|
|
26
|
+
version: 0.3.11
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rucy
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.3.
|
|
33
|
+
version: 0.3.11
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.3.
|
|
40
|
+
version: 0.3.11
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: rays
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0.3.
|
|
47
|
+
version: 0.3.11
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 0.3.
|
|
54
|
+
version: 0.3.11
|
|
55
55
|
description: This library helps you to develop interactive graphical user interface.
|
|
56
56
|
email: xordog@gmail.com
|
|
57
57
|
executables: []
|