procon_bypass_man 0.1.13 → 0.1.16.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +33 -0
- data/CHANGELOG.md +13 -0
- data/Gemfile.lock +26 -6
- data/README.md +27 -3
- data/docs/setup_raspi.md +2 -0
- data/docs/setup_raspi.mitamae.rb +7 -8
- data/docs/setup_raspi_by_mitamae.md +37 -1
- data/lib/ext/em_pure_ruby.rb +25 -0
- data/lib/procon_bypass_man/background/jobs/base_job.rb +1 -6
- data/lib/procon_bypass_man/background/jobs/concerns/has_external_api_setting.rb +5 -0
- data/lib/procon_bypass_man/background/jobs/concerns/has_internal_api_setting.rb +5 -0
- data/lib/procon_bypass_man/background/{job_runnable.rb → jobs/concerns/job_runnable.rb} +0 -0
- data/lib/procon_bypass_man/background/jobs/report_boot_job.rb +5 -3
- data/lib/procon_bypass_man/background/jobs/report_error_job.rb +6 -5
- data/lib/procon_bypass_man/background/jobs/report_event_base_job.rb +5 -0
- data/lib/procon_bypass_man/background/jobs/report_load_config_job.rb +5 -4
- data/lib/procon_bypass_man/background/jobs/report_pressed_buttons_job.rb +7 -10
- data/lib/procon_bypass_man/background/jobs/report_reload_config_job.rb +5 -4
- data/lib/procon_bypass_man/background/jobs/sync_device_stats_job.rb +16 -0
- data/lib/procon_bypass_man/background.rb +5 -4
- data/lib/procon_bypass_man/buttons_setting_configuration/layer.rb +2 -6
- data/lib/procon_bypass_man/bypass/usb_hid_logger.rb +6 -8
- data/lib/procon_bypass_man/bypass.rb +13 -6
- data/lib/procon_bypass_man/commands/connect_device_command.rb +6 -1
- data/lib/procon_bypass_man/commands/print_boot_message_command.rb +50 -1
- data/lib/procon_bypass_man/commands/print_message_command.rb +8 -0
- data/lib/procon_bypass_man/commands/run_remote_pbm_action_dispatch_command.rb +21 -0
- data/lib/procon_bypass_man/commands/send_error_command.rb +1 -1
- data/lib/procon_bypass_man/commands/send_reload_config_event_command.rb +1 -2
- data/lib/procon_bypass_man/commands/write_session_id_command.rb +1 -7
- data/lib/procon_bypass_man/commands.rb +2 -0
- data/lib/procon_bypass_man/configuration.rb +49 -2
- data/lib/procon_bypass_man/device_connector.rb +2 -1
- data/lib/procon_bypass_man/device_status.rb +44 -0
- data/lib/procon_bypass_man/domains/binary/base.rb +11 -0
- data/lib/procon_bypass_man/domains/binary/has_immutable_binary.rb +5 -0
- data/lib/procon_bypass_man/domains/binary/has_mutable_binary.rb +5 -0
- data/lib/procon_bypass_man/domains/binary/inbound_procon_binary.rb +23 -0
- data/lib/procon_bypass_man/domains/binary/processing_procon_binary.rb +80 -0
- data/lib/procon_bypass_man/domains.rb +11 -0
- data/lib/procon_bypass_man/plugin/splatoon2/macro/fast_return.rb +17 -0
- data/lib/procon_bypass_man/plugin/splatoon2/macro/jump_to_left_key.rb +17 -0
- data/lib/procon_bypass_man/plugin/splatoon2/macro/jump_to_right_key.rb +17 -0
- data/lib/procon_bypass_man/plugin/splatoon2/macro/jump_to_up_key.rb +17 -0
- data/lib/procon_bypass_man/plugin/splatoon2/mode/guruguru.rb +59 -0
- data/lib/procon_bypass_man/plugin/splatoon2/version.rb +9 -0
- data/lib/procon_bypass_man/plugins.rb +11 -0
- data/lib/procon_bypass_man/processor.rb +4 -5
- data/lib/procon_bypass_man/procon/button.rb +11 -0
- data/lib/procon_bypass_man/procon/button_collection.rb +2 -12
- data/lib/procon_bypass_man/procon/layer_changer.rb +3 -2
- data/lib/procon_bypass_man/procon/press_button_aware.rb +5 -4
- data/lib/procon_bypass_man/procon/user_operation.rb +46 -63
- data/lib/procon_bypass_man/procon/{analog_stick.rb → value_objects/analog_stick.rb} +3 -4
- data/lib/procon_bypass_man/procon/value_objects/procon_reader.rb +34 -0
- data/lib/procon_bypass_man/procon.rb +16 -14
- data/lib/procon_bypass_man/remote_pbm_action/base_action.rb +53 -0
- data/lib/procon_bypass_man/remote_pbm_action/change_pbm_version_action.rb +25 -0
- data/lib/procon_bypass_man/remote_pbm_action/commands/update_remote_pbm_action_status_command.rb +24 -0
- data/lib/procon_bypass_man/remote_pbm_action/reboot_os_action.rb +21 -0
- data/lib/procon_bypass_man/remote_pbm_action/restore_pbm_setting.rb +28 -0
- data/lib/procon_bypass_man/remote_pbm_action/stop_pbm_action.rb +21 -0
- data/lib/procon_bypass_man/remote_pbm_action/value_objects/remote_pbm_action_object.rb +38 -0
- data/lib/procon_bypass_man/remote_pbm_action.rb +32 -0
- data/lib/procon_bypass_man/runner.rb +4 -4
- data/lib/procon_bypass_man/scheduler.rb +85 -0
- data/lib/procon_bypass_man/support/http_client.rb +102 -0
- data/lib/procon_bypass_man/support/report_http_client.rb +19 -0
- data/lib/procon_bypass_man/support/send_device_stats_http_client.rb +9 -0
- data/lib/procon_bypass_man/{background/has_server_pool.rb → support/server_pool.rb} +3 -15
- data/lib/procon_bypass_man/support/update_remote_pbm_action_status_http_client.rb +9 -0
- data/lib/procon_bypass_man/version.rb +1 -1
- data/lib/procon_bypass_man/websocket/pbm_job_client.rb +79 -0
- data/lib/procon_bypass_man.rb +60 -31
- data/procon_bypass_man.gemspec +3 -1
- data/project_template/README.md +10 -5
- data/project_template/app.rb +1 -1
- data/project_template/setting.yml +8 -8
- data/sig/main.rbs +16 -1
- metadata +90 -21
- data/lib/procon_bypass_man/background/http_client.rb +0 -67
- data/lib/procon_bypass_man/background/jobs/report_heartbeat_job.rb +0 -10
- data/lib/procon_bypass_man/boot_message.rb +0 -44
- data/lib/procon_bypass_man/procon_reader.rb +0 -31
- data/lib/procon_bypass_man/splatoon2/macro/fast_return.rb +0 -15
- data/lib/procon_bypass_man/splatoon2/macro/jump_to_left_key.rb +0 -15
- data/lib/procon_bypass_man/splatoon2/macro/jump_to_right_key.rb +0 -15
- data/lib/procon_bypass_man/splatoon2/macro/jump_to_up_key.rb +0 -15
- data/lib/procon_bypass_man/splatoon2/mode/guruguru.rb +0 -57
- data/lib/procon_bypass_man/splatoon2/version.rb +0 -7
- data/lib/procon_bypass_man/splatoon2.rb +0 -11
metadata
CHANGED
@@ -1,15 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: procon_bypass_man
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.16.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jiikko
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
11
|
+
date: 2022-01-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: pbmenv
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: action_cable_client
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: sorted_set
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
13
55
|
description: An extension for Nintendo Switch Pro Controller
|
14
56
|
email:
|
15
57
|
- n905i.1214@gmail.com
|
@@ -18,6 +60,7 @@ extensions: []
|
|
18
60
|
extra_rdoc_files: []
|
19
61
|
files:
|
20
62
|
- ".circleci/config.yml"
|
63
|
+
- ".github/workflows/release.yml"
|
21
64
|
- ".github/workflows/ruby.yml"
|
22
65
|
- ".gitignore"
|
23
66
|
- ".rspec"
|
@@ -37,21 +80,22 @@ files:
|
|
37
80
|
- docs/setup_raspi.md
|
38
81
|
- docs/setup_raspi.mitamae.rb
|
39
82
|
- docs/setup_raspi_by_mitamae.md
|
83
|
+
- lib/ext/em_pure_ruby.rb
|
40
84
|
- lib/procon_bypass_man.rb
|
41
85
|
- lib/procon_bypass_man/background.rb
|
42
|
-
- lib/procon_bypass_man/background/has_server_pool.rb
|
43
|
-
- lib/procon_bypass_man/background/http_client.rb
|
44
86
|
- lib/procon_bypass_man/background/job_performer.rb
|
45
|
-
- lib/procon_bypass_man/background/job_runnable.rb
|
46
87
|
- lib/procon_bypass_man/background/job_runner.rb
|
47
88
|
- lib/procon_bypass_man/background/jobs/base_job.rb
|
89
|
+
- lib/procon_bypass_man/background/jobs/concerns/has_external_api_setting.rb
|
90
|
+
- lib/procon_bypass_man/background/jobs/concerns/has_internal_api_setting.rb
|
91
|
+
- lib/procon_bypass_man/background/jobs/concerns/job_runnable.rb
|
48
92
|
- lib/procon_bypass_man/background/jobs/report_boot_job.rb
|
49
93
|
- lib/procon_bypass_man/background/jobs/report_error_job.rb
|
50
|
-
- lib/procon_bypass_man/background/jobs/
|
94
|
+
- lib/procon_bypass_man/background/jobs/report_event_base_job.rb
|
51
95
|
- lib/procon_bypass_man/background/jobs/report_load_config_job.rb
|
52
96
|
- lib/procon_bypass_man/background/jobs/report_pressed_buttons_job.rb
|
53
97
|
- lib/procon_bypass_man/background/jobs/report_reload_config_job.rb
|
54
|
-
- lib/procon_bypass_man/
|
98
|
+
- lib/procon_bypass_man/background/jobs/sync_device_stats_job.rb
|
55
99
|
- lib/procon_bypass_man/buttons_setting_configuration.rb
|
56
100
|
- lib/procon_bypass_man/buttons_setting_configuration/layer.rb
|
57
101
|
- lib/procon_bypass_man/buttons_setting_configuration/loader.rb
|
@@ -62,17 +106,33 @@ files:
|
|
62
106
|
- lib/procon_bypass_man/commands/bypass_command.rb
|
63
107
|
- lib/procon_bypass_man/commands/connect_device_command.rb
|
64
108
|
- lib/procon_bypass_man/commands/print_boot_message_command.rb
|
109
|
+
- lib/procon_bypass_man/commands/print_message_command.rb
|
110
|
+
- lib/procon_bypass_man/commands/run_remote_pbm_action_dispatch_command.rb
|
65
111
|
- lib/procon_bypass_man/commands/send_error_command.rb
|
66
112
|
- lib/procon_bypass_man/commands/send_reload_config_event_command.rb
|
67
113
|
- lib/procon_bypass_man/commands/write_device_id_command.rb
|
68
114
|
- lib/procon_bypass_man/commands/write_session_id_command.rb
|
69
115
|
- lib/procon_bypass_man/configuration.rb
|
70
116
|
- lib/procon_bypass_man/device_connector.rb
|
117
|
+
- lib/procon_bypass_man/device_status.rb
|
118
|
+
- lib/procon_bypass_man/domains.rb
|
119
|
+
- lib/procon_bypass_man/domains/binary/base.rb
|
120
|
+
- lib/procon_bypass_man/domains/binary/has_immutable_binary.rb
|
121
|
+
- lib/procon_bypass_man/domains/binary/has_mutable_binary.rb
|
122
|
+
- lib/procon_bypass_man/domains/binary/inbound_procon_binary.rb
|
123
|
+
- lib/procon_bypass_man/domains/binary/processing_procon_binary.rb
|
71
124
|
- lib/procon_bypass_man/io_monitor.rb
|
125
|
+
- lib/procon_bypass_man/plugin/splatoon2/macro/fast_return.rb
|
126
|
+
- lib/procon_bypass_man/plugin/splatoon2/macro/jump_to_left_key.rb
|
127
|
+
- lib/procon_bypass_man/plugin/splatoon2/macro/jump_to_right_key.rb
|
128
|
+
- lib/procon_bypass_man/plugin/splatoon2/macro/jump_to_up_key.rb
|
129
|
+
- lib/procon_bypass_man/plugin/splatoon2/mode/guruguru.rb
|
130
|
+
- lib/procon_bypass_man/plugin/splatoon2/version.rb
|
131
|
+
- lib/procon_bypass_man/plugins.rb
|
72
132
|
- lib/procon_bypass_man/processor.rb
|
73
133
|
- lib/procon_bypass_man/procon.rb
|
74
|
-
- lib/procon_bypass_man/procon/analog_stick.rb
|
75
134
|
- lib/procon_bypass_man/procon/analog_stick_cap.rb
|
135
|
+
- lib/procon_bypass_man/procon/button.rb
|
76
136
|
- lib/procon_bypass_man/procon/button_collection.rb
|
77
137
|
- lib/procon_bypass_man/procon/consts.rb
|
78
138
|
- lib/procon_bypass_man/procon/flip_cache.rb
|
@@ -81,22 +141,31 @@ files:
|
|
81
141
|
- lib/procon_bypass_man/procon/mode_registry.rb
|
82
142
|
- lib/procon_bypass_man/procon/press_button_aware.rb
|
83
143
|
- lib/procon_bypass_man/procon/user_operation.rb
|
84
|
-
- lib/procon_bypass_man/
|
144
|
+
- lib/procon_bypass_man/procon/value_objects/analog_stick.rb
|
145
|
+
- lib/procon_bypass_man/procon/value_objects/procon_reader.rb
|
146
|
+
- lib/procon_bypass_man/remote_pbm_action.rb
|
147
|
+
- lib/procon_bypass_man/remote_pbm_action/base_action.rb
|
148
|
+
- lib/procon_bypass_man/remote_pbm_action/change_pbm_version_action.rb
|
149
|
+
- lib/procon_bypass_man/remote_pbm_action/commands/update_remote_pbm_action_status_command.rb
|
150
|
+
- lib/procon_bypass_man/remote_pbm_action/reboot_os_action.rb
|
151
|
+
- lib/procon_bypass_man/remote_pbm_action/restore_pbm_setting.rb
|
152
|
+
- lib/procon_bypass_man/remote_pbm_action/stop_pbm_action.rb
|
153
|
+
- lib/procon_bypass_man/remote_pbm_action/value_objects/remote_pbm_action_object.rb
|
85
154
|
- lib/procon_bypass_man/runner.rb
|
86
|
-
- lib/procon_bypass_man/
|
87
|
-
- lib/procon_bypass_man/splatoon2/macro/fast_return.rb
|
88
|
-
- lib/procon_bypass_man/splatoon2/macro/jump_to_left_key.rb
|
89
|
-
- lib/procon_bypass_man/splatoon2/macro/jump_to_right_key.rb
|
90
|
-
- lib/procon_bypass_man/splatoon2/macro/jump_to_up_key.rb
|
91
|
-
- lib/procon_bypass_man/splatoon2/mode/guruguru.rb
|
92
|
-
- lib/procon_bypass_man/splatoon2/version.rb
|
155
|
+
- lib/procon_bypass_man/scheduler.rb
|
93
156
|
- lib/procon_bypass_man/support/callbacks.rb
|
94
157
|
- lib/procon_bypass_man/support/compress_array.rb
|
158
|
+
- lib/procon_bypass_man/support/http_client.rb
|
95
159
|
- lib/procon_bypass_man/support/on_memory_cache.rb
|
160
|
+
- lib/procon_bypass_man/support/report_http_client.rb
|
96
161
|
- lib/procon_bypass_man/support/safe_timeout.rb
|
162
|
+
- lib/procon_bypass_man/support/send_device_stats_http_client.rb
|
163
|
+
- lib/procon_bypass_man/support/server_pool.rb
|
97
164
|
- lib/procon_bypass_man/support/signal_handler.rb
|
165
|
+
- lib/procon_bypass_man/support/update_remote_pbm_action_status_http_client.rb
|
98
166
|
- lib/procon_bypass_man/support/uptime.rb
|
99
167
|
- lib/procon_bypass_man/version.rb
|
168
|
+
- lib/procon_bypass_man/websocket/pbm_job_client.rb
|
100
169
|
- procon_bypass_man.gemspec
|
101
170
|
- project_template/README.md
|
102
171
|
- project_template/app.rb
|
@@ -113,7 +182,7 @@ metadata:
|
|
113
182
|
homepage_uri: https://github.com/splaplapla/procon_bypass_man
|
114
183
|
source_code_uri: https://github.com/splaplapla/procon_bypass_man
|
115
184
|
changelog_uri: https://github.com/splaplapla/procon_bypass_man/blob/master/CHANGELOG.md
|
116
|
-
post_install_message:
|
185
|
+
post_install_message:
|
117
186
|
rdoc_options: []
|
118
187
|
require_paths:
|
119
188
|
- lib
|
@@ -128,8 +197,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
128
197
|
- !ruby/object:Gem::Version
|
129
198
|
version: '0'
|
130
199
|
requirements: []
|
131
|
-
rubygems_version: 3.
|
132
|
-
signing_key:
|
200
|
+
rubygems_version: 3.0.3.1
|
201
|
+
signing_key:
|
133
202
|
specification_version: 4
|
134
203
|
summary: An extension for Nintendo Switch Pro Controller
|
135
204
|
test_files: []
|
@@ -1,67 +0,0 @@
|
|
1
|
-
module ProconBypassMan
|
2
|
-
module Background
|
3
|
-
class HttpClient
|
4
|
-
class HttpRequest
|
5
|
-
def self.request!(uri: , hostname: , params: , device_id: , session_id: nil, event_type: )
|
6
|
-
@uri = uri
|
7
|
-
@http = Net::HTTP.new(uri.host, uri.port)
|
8
|
-
@http.use_ssl = uri.scheme === "https"
|
9
|
-
@params = {
|
10
|
-
hostname: hostname,
|
11
|
-
event_type: event_type,
|
12
|
-
session_id: session_id,
|
13
|
-
device_id: device_id,
|
14
|
-
}.merge(params)
|
15
|
-
@http.post(
|
16
|
-
@uri.path,
|
17
|
-
@params.to_json,
|
18
|
-
{ "Content-Type" => "application/json" },
|
19
|
-
)
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def initialize(path: , pool_server: , retry_on_connection_error: false)
|
24
|
-
@path = path
|
25
|
-
@pool_server = pool_server
|
26
|
-
@hostname = `hostname`.chomp
|
27
|
-
@retry_on_connection_error = retry_on_connection_error
|
28
|
-
end
|
29
|
-
|
30
|
-
def post(body: , event_type: )
|
31
|
-
if @pool_server.server.nil?
|
32
|
-
ProconBypassMan.logger.info('送信先が未設定なのでスキップしました')
|
33
|
-
return
|
34
|
-
end
|
35
|
-
|
36
|
-
params = { body: body.to_json }
|
37
|
-
session_id = ProconBypassMan.session_id
|
38
|
-
device_id = ProconBypassMan.device_id
|
39
|
-
|
40
|
-
response = HttpRequest.request!(
|
41
|
-
uri: URI.parse("#{@pool_server.server}#{@path}"),
|
42
|
-
hostname: @hostname,
|
43
|
-
device_id: device_id,
|
44
|
-
session_id: session_id,
|
45
|
-
params: params,
|
46
|
-
event_type: event_type,
|
47
|
-
)
|
48
|
-
case response.code
|
49
|
-
when /^200/
|
50
|
-
return
|
51
|
-
else
|
52
|
-
@pool_server.next!
|
53
|
-
ProconBypassMan.logger.error("200以外(#{response.code})が帰ってきました. #{response.body}")
|
54
|
-
end
|
55
|
-
rescue SocketError => e
|
56
|
-
ProconBypassMan.logger.error("error in outbound module: #{e}")
|
57
|
-
if @retry_on_connection_error
|
58
|
-
sleep(10)
|
59
|
-
retry
|
60
|
-
end
|
61
|
-
rescue => e
|
62
|
-
puts e
|
63
|
-
ProconBypassMan.logger.error("error in outbound module: #{e}")
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
@@ -1,10 +0,0 @@
|
|
1
|
-
class ProconBypassMan::ReportHeartbeatJob < ProconBypassMan::BaseJob
|
2
|
-
# @param [String] body
|
3
|
-
def self.perform(body)
|
4
|
-
ProconBypassMan::Background::HttpClient.new(
|
5
|
-
path: path,
|
6
|
-
pool_server: pool_server,
|
7
|
-
retry_on_connection_error: false,
|
8
|
-
).post(body: body, event_type: :heartbeat)
|
9
|
-
end
|
10
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
class ProconBypassMan::BootMessage
|
2
|
-
def initialize
|
3
|
-
@table = {}
|
4
|
-
@table[:ruby_version] = RUBY_VERSION
|
5
|
-
@table[:pbm_version] = ProconBypassMan::VERSION
|
6
|
-
@table[:pid] = $$
|
7
|
-
@table[:root_path] = ProconBypassMan.root
|
8
|
-
@table[:pid_path] = ProconBypassMan.pid_path
|
9
|
-
@table[:setting_path] = ProconBypassMan::ButtonsSettingConfiguration.instance.setting_path
|
10
|
-
@table[:uptime_from_boot] = ProconBypassMan::Uptime.from_boot
|
11
|
-
@table[:use_pbmenv] = !(!!`which pbmenv`.empty?)
|
12
|
-
|
13
|
-
# 開発中のHEADを取りたかったけど、Gem::Specification経由から取得する必要がありそう
|
14
|
-
# build_version = `git rev-parse --short HEAD`.chomp
|
15
|
-
# if build_version.empty?
|
16
|
-
# @table[:build_version] = 'release version'
|
17
|
-
# else
|
18
|
-
# @table[:build_version] = build_version
|
19
|
-
# end
|
20
|
-
|
21
|
-
# build version: #{@table[:build_version]}
|
22
|
-
end
|
23
|
-
|
24
|
-
# @return [String]
|
25
|
-
def to_s
|
26
|
-
booted_message = <<~EOF
|
27
|
-
----
|
28
|
-
RUBY_VERSION: #{@table[:ruby_version]}
|
29
|
-
ProconBypassMan::VERSION: #{@table[:pbm_version]}
|
30
|
-
pid: #{@table[:pid]}
|
31
|
-
root: #{@table[:root_path]}
|
32
|
-
pid_path: #{@table[:pid_path]}
|
33
|
-
setting_path: #{@table[:setting_path]}
|
34
|
-
uptime from boot: #{@table[:uptime_from_boot]} sec
|
35
|
-
use_pbmenv: #{@table[:use_pbmenv]}
|
36
|
-
----
|
37
|
-
EOF
|
38
|
-
end
|
39
|
-
|
40
|
-
# @return [Hash]
|
41
|
-
def to_hash
|
42
|
-
@table
|
43
|
-
end
|
44
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
class ProconBypassMan::ProconReader
|
2
|
-
def initialize(binary: )
|
3
|
-
@binary = binary
|
4
|
-
@analog_stick = ProconBypassMan::Procon::AnalogStick.new(binary: binary)
|
5
|
-
end
|
6
|
-
|
7
|
-
# @return [Array<Symbol>]
|
8
|
-
def pressed
|
9
|
-
aware = ProconBypassMan::PpressButtonAware.new(@binary)
|
10
|
-
pressed_table = ::ProconBypassMan::Procon::ButtonCollection::BUTTONS.reduce({}) do |acc, button|
|
11
|
-
acc[button] = aware.pressed_button?(button)
|
12
|
-
acc
|
13
|
-
end
|
14
|
-
pressed_table.select { |_key, value| value }.keys
|
15
|
-
end
|
16
|
-
|
17
|
-
def left_analog_stick
|
18
|
-
{ x: @analog_stick.relative_x, y: @analog_stick.relative_y }
|
19
|
-
end
|
20
|
-
|
21
|
-
def left_analog_stick_by_abs
|
22
|
-
{ x: @analog_stick.abs_x, y: @analog_stick.abs_y }
|
23
|
-
end
|
24
|
-
|
25
|
-
def to_hash
|
26
|
-
{ left_analog_stick: left_analog_stick,
|
27
|
-
left_analog_stick_by_abs: left_analog_stick_by_abs,
|
28
|
-
buttons: pressed,
|
29
|
-
}
|
30
|
-
end
|
31
|
-
end
|
@@ -1,57 +0,0 @@
|
|
1
|
-
module ProconBypassMan
|
2
|
-
module Splatoon2
|
3
|
-
module Mode
|
4
|
-
module Guruguru
|
5
|
-
def self.binaries
|
6
|
-
[ "309481408000362d684658750968f71cfe2c0e51000001480053f71ffedf0d4b000a013d00caf6ecfd4c0d480003011c00000000000000000000000000000000",
|
7
|
-
"30978140800037dd6748687509fdf6adfded0d6d0081005d00eef68dfdef0d6d00830059001bf791fd140e720090005400000000000000000000000000000000",
|
8
|
-
"309a8140800038cd67495875099af821fe120e40006400880042f8fcfdfd0d470067008900d4f7e0fdf20d4e006a008c00000000000000000000000000000000",
|
9
|
-
"309c8140800036ed67466875099bf878fe4a0e35005b004c00c1f875fe400e35005d004c00c4f856fe2d0e390063006c00000000000000000000000000000000",
|
10
|
-
"30a081408000371d6847587509b9f71bfee70d22002c002300e3f73afe150e2b003500280014f854fe300e2d0038002900000000000000000000000000000000",
|
11
|
-
"30a38140800039fd6743587509def70ffea10d1a0031001f00d1f70ffeb10d19002c002200c5f711feb80d18002c002500000000000000000000000000000000",
|
12
|
-
"30a58140800037dd6746687509d8f70bfe980d270035001200ddf70dfe980d240038001900dff70ffe9b0d1f0035001a00000000000000000000000000000000",
|
13
|
-
"30a98140800037ed67484875099cf7edfdb00d310020000d009ef7eefda30d310022000c00adf7f2fd980d300028000a00000000000000000000000000000000",
|
14
|
-
"30ac8140800036ed67484875099cf709fed40d3a002400160097f7fafdd30d39002200150096f7f0fdc80d380022001400000000000000000000000000000000",
|
15
|
-
"30ae8140800038fd674558750987f72efed40d360021001c0089f729fed50d39002400180092f715fed10d390022001800000000000000000000000000000000",
|
16
|
-
"30b18140800037dd6747487509b8f705fea90d19001d002000c5f70dfeb00d210019002200bff71efec20d280018002400000000000000000000000000000000",
|
17
|
-
"30b48140800038fd684868750980f7e9fdd40d0200080024007df7f1fdba0d060011001e0084f7f8fdaa0d12001a001a00000000000000000000000000000000",
|
18
|
-
"30b7814080003fdd694958750918f6a9fd510f0d00d1ff370024f7b0fda90e0100ecff30006cf7d1fd210efffff5ff2c00000000000000000000000000000000",
|
19
|
-
"30ba81408080482d744768750963f71ffe190f5e00d9fea100ccf62dfe650f510009ff980015f702fe580f4b002eff8400000000000000000000000000000000",
|
20
|
-
"30bd814080802f7d864758750974f70efe4c0f5e00c0fea000d1f726fe1c0f5d00c5fea30028f859fe0e0f5c00cafea800000000000000000000000000000000",
|
21
|
-
"30bf8140808057cc984758750961f73afe630f99009dfeae0050f738fe710f7500adfea40050f721fe720f6e00b2fea300000000000000000000000000000000",
|
22
|
-
"30c281408080f479bd483875092ef8b6feab0f0a0180feba00f1f798fe900f000181febd00c2f77dfe7c0fdb008efebd00000000000000000000000000000000",
|
23
|
-
"30c581408080ad87d846487509e1f80000a6107e0178fea2004ef88dff54106c0185fea70063f826ffe60f520182feae00000000000000000000000000000000",
|
24
|
-
"30c8810080800797d84868750995f8e1fe4b0f7a0161fe88000df96dffd00f700149fe990035f9cdff361088016afea000000000000000000000000000000000",
|
25
|
-
"30cb810080804586d848487509cef672fe8a0f6d0217ff42002df63cfe280f1d0219ff410059f61cfe070fed01f5fe4a00000000000000000000000000000000",
|
26
|
-
"30d08100808002c5d745687509d8f5aaff830f5e03e6fe3e01fbf55bffc30f3f03e4fe100158f600ff3e102903e5fee700000000000000000000000000000000",
|
27
|
-
"30d3810080807b94d14838750991f6cd00690f9903f0fff10147f6e200560f7e038fffc60101f6c900560f71033bffa901000000000000000000000000000000",
|
28
|
-
"30d681008080b743ca475875095af7f2009c0fca03a400320242f7ca00950fb503820028020af7b000820fa4034e001a02000000000000000000000000000000",
|
29
|
-
"30d9810080805be3c047587509e7f77a03c70f0e04bb00410258f79801940f0004b800410251f74401910fd803b3003602000000000000000000000000000000",
|
30
|
-
"30dc810080808a02b245587509c0fbd5086a10710475020a03b0fb8d085d106c042102e8027efb660876106a04bc01af02000000000000000000000000000000",
|
31
|
-
"30de8100808036d2a14568750970fbbf09ad103704af038003a9fb600989105c0459036103c2fb2a097210690412034603000000000000000000000000000000",
|
32
|
-
"30e281008000cbb18d4738750989f8b40b2812380341044c0429f99e0bef11510340043704f2f93c0b7911b0033704f003000000000000000000000000000000",
|
33
|
-
"30e581008000c9c18945587509a5f7ca0a2e13e400c6024c0547f7fd0a941264011703270578f74a0b6012e40168030205000000000000000000000000000000",
|
34
|
-
"30e781008000c6618948687509acf86909e813d0fe2801a1057cf8cf09ed130fff6301990516f8710aaa13ccff13028205000000000000000000000000000000",
|
35
|
-
"30ea81008000c77189475875093af93b0762136efbaeff19060cf90107b113a9fb99ff0906e1f85b07b113bafc9fffcd05000000000000000000000000000000",
|
36
|
-
"30ed81008000c791894568750950f9ce047c1432f900026007a5f9a6051f146ef9bb013707bff99206a813fef9ce00c606000000000000000000000000000000",
|
37
|
-
"30ef81008000c6d1894558750944f8ad0358143ef81c02f10780f8b403841484f84102d107ccf801049314bcf84202ad07000000000000000000000000000000",
|
38
|
-
"30f381008000c761884868750914f72105e4134cf6d001c00743f71a05f11391f6bf01e407a0f7c904fa13faf6b3011008000000000000000000000000000000",
|
39
|
-
"30f681008000c7718344587509eaf54a04c812a6f40002500627f66d041313f2f40d02940682f6a60468133ef51a02d806000000000000000000000000000000",
|
40
|
-
"30f881008000c4e1814668750b5cf5f803b51125f3b5000d0560f50f04e8118cf33c015d057df525042c1210f4b101cc05000000000000000000000000000000",
|
41
|
-
"30fb81008000c5e1814458750b19f65a02a410acf29effb804e2f5db02df10b7f2c0ffbf04a9f55c032011dcf22400d804000000000000000000000000000000",
|
42
|
-
"30fe8100800035e2814858750b81f65c00f80f8df231fe940471f6e6001f1088f2a6fe92044ef6b1015a1092f21fffa004000000000000000000000000000000",
|
43
|
-
"3001810080004b03814868750b69f6e6fdad0ffef20efdd40479f678feb40fd9f249fdc40484f6f4fec00fb0f29ffdad04000000000000000000000000000000",
|
44
|
-
"30048100800079e47d4858750b17f64cfb5f0f46f46afb430529f6c4fb710ff1f3d4fb300538f64bfc830fbbf315fc1d05000000000000000000000000000000",
|
45
|
-
"300781008000a7057e4668750bb1f5d3f9fb0e8ef5ccf96405cdf5fcf90c0f44f52dfa6505e1f52dfa210f29f550fa6305000000000000000000000000000000",
|
46
|
-
"30098100800041f67d4668750bcdf4b0f9ab0e21f602f955057ef5adf9d00ee1f559f95f05b1f5d3f9fb0e8ef5ccf96405000000000000000000000000000000",
|
47
|
-
"300d810080003d877c4838750b84f458f7dd0c89f6d0f8fc0436f4e2f7620d83f614f8430526f4c0f8a00e71f666f85c05000000000000000000000000000000",
|
48
|
-
"30108100800058e77a4668750bf7f2c3f57c0c9cf6abfa0a0470f30ef6790c89f65dfa420414f476f67e0c80f6d0f98a04000000000000000000000000000000",
|
49
|
-
"30128100800059f77a4658750b7ef249f5580cd9f69bfaa40389f269f56c0cd1f6a9fab503a3f286f5760cacf6c9faeb03000000000000000000000000000000",
|
50
|
-
"3016810080005b177b4868750ba9f298f4450b2cf774fa3102b8f2a5f47a0b24f765fa6e02b8f2b8f4b10b1df755faac02000000000000000000000000000000",
|
51
|
-
"30198100800057777a4558750b39f258f4480a80f73efaf40016f26af4940a5ef76bfa37014ef275f4d40a46f780fa8401000000000000000000000000000000",
|
52
|
-
].map(&:freeze).freeze
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
require_relative "splatoon2/version"
|
2
|
-
require_relative "splatoon2/macro/fast_return"
|
3
|
-
require_relative "splatoon2/macro/jump_to_right_key"
|
4
|
-
require_relative "splatoon2/macro/jump_to_up_key"
|
5
|
-
require_relative "splatoon2/macro/jump_to_left_key"
|
6
|
-
require_relative "splatoon2/mode/guruguru"
|
7
|
-
|
8
|
-
module ProconBypassMan
|
9
|
-
module Splatoon2
|
10
|
-
end
|
11
|
-
end
|