procon_bypass_man 0.3.0 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/docs/setting/splatoon2_macro_forward_ikarole.md +3 -0
- data/docs/setting/splatoon3_macro_forward_ikarole.md +34 -0
- data/docs/setting/splatoon3_recommended_setting.md +136 -0
- data/docs/setup_raspi.md +12 -15
- data/lib/procon_bypass_man/background/jobs/base_job.rb +3 -2
- data/lib/procon_bypass_man/background/jobs/post_completed_remote_macro_job.rb +4 -0
- data/lib/procon_bypass_man/background.rb +0 -1
- data/lib/procon_bypass_man/buttons_setting_configuration/layer.rb +1 -0
- data/lib/procon_bypass_man/buttons_setting_configuration/loader.rb +2 -1
- data/lib/procon_bypass_man/buttons_setting_configuration.rb +11 -0
- data/lib/procon_bypass_man/bypass/bypass_command.rb +1 -1
- data/lib/procon_bypass_man/bypass/procon_to_switch.rb +13 -2
- data/lib/procon_bypass_man/configuration.rb +1 -0
- data/lib/procon_bypass_man/device_connection/procon_setting_overrider.rb +0 -3
- data/lib/procon_bypass_man/ephemeral_configuration.rb +9 -0
- data/lib/procon_bypass_man/plugin/splatoon2/macro/{dasei_cancel.rb → forward_ikarole.rb} +4 -4
- data/lib/procon_bypass_man/plugin/splatoon3/macro/charge_tansan_bomb.rb +21 -0
- data/lib/procon_bypass_man/plugin/splatoon3/macro/fast_return.rb +21 -0
- data/lib/procon_bypass_man/plugin/splatoon3/macro/forward_ikarole.rb +21 -0
- data/lib/procon_bypass_man/plugin/splatoon3/macro/jump_to_left_key.rb +21 -0
- data/lib/procon_bypass_man/plugin/splatoon3/macro/jump_to_right_key.rb +21 -0
- data/lib/procon_bypass_man/plugin/splatoon3/macro/jump_to_up_key.rb +21 -0
- data/lib/procon_bypass_man/plugin/splatoon3/macro/sokuwari_for_splash_bomb.rb +26 -0
- data/lib/procon_bypass_man/plugin/splatoon3/mode/guruguru.rb +63 -0
- data/lib/procon_bypass_man/plugin/splatoon3/version.rb +9 -0
- data/lib/procon_bypass_man/plugins.rb +11 -1
- data/lib/procon_bypass_man/procon/analog_stick_manipulator.rb +16 -4
- data/lib/procon_bypass_man/procon/macro_builder.rb +11 -0
- data/lib/procon_bypass_man/procon/performance_measurement.rb +1 -1
- data/lib/procon_bypass_man/procon/rumbler.rb +18 -0
- data/lib/procon_bypass_man/procon/user_operation.rb +1 -1
- data/lib/procon_bypass_man/procon.rb +5 -13
- data/lib/procon_bypass_man/runner.rb +0 -1
- data/lib/procon_bypass_man/support/http_client.rb +3 -2
- data/lib/procon_bypass_man/support/remote_macro_http_client.rb +4 -0
- data/lib/procon_bypass_man/version.rb +1 -1
- data/lib/procon_bypass_man/worker.rb +16 -8
- data/lib/procon_bypass_man.rb +6 -1
- data/project_template/app.rb +1 -1
- data/project_template/app.rb.erb +1 -1
- data/project_template/setting.yml +3 -0
- metadata +17 -6
- data/docs/setting/splatoon2_macro_dasei_cancel.md +0 -77
- data/lib/procon_bypass_man/background/job_performer.rb +0 -15
- data/lib/procon_bypass_man/support/analog_stick_hypotenuse_tilting_power_scaler.rb +0 -59
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f48f74b2d080a695b673df7fead87e9c97a8fad14c8afc6c03027490e798f22
|
4
|
+
data.tar.gz: b1711feb8433cd8dc47e9a5eb05dc8b989ef0a3e95d33c292ab664b94b05ddda
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff4071d2a2bdb9c3f3a26e2f27c659ef1e080b683286998fe129f7bcac72dea9e0f97e23769da495f024bd55f55b54b952accf89f3118373cf46343f2a2dc4b2
|
7
|
+
data.tar.gz: bd0faface2c631886156850b67e1480c04a05b214fddffa277c9fd9ff7d4561c3991e34baca27da001a8444797f8ade1aa00d57a1c263166ff82c3b5d2c436fa
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## [0.3.2] - 2022-10-13
|
2
|
+
* スプラトゥーン3に対応したプラグインを追加しました
|
3
|
+
* 詳しい設定方法については docs/setting/splatoon3_recommended_setting.md を参照してください
|
4
|
+
* 自動ドット打ちが稀に途中で止まってしまうのを修正しました
|
5
|
+
|
6
|
+
## [0.3.1] - 2022-10-07
|
7
|
+
* レイヤーを変更しているときにコントローラーを振動できるようになりました
|
8
|
+
* setting.yml で `enable(:rumble_on_layer_change)` と記述してください
|
9
|
+
* イカロールをするマクロを追加しました
|
10
|
+
* 詳しい設定方法については docs/setting/splatoon2_macro_forward_ikarole.md を参照してください
|
11
|
+
* スプラ用マクロ、惰性キャンセルを削除しました
|
12
|
+
|
1
13
|
## [0.3.0] - 2022-9-9
|
2
14
|
* 表示入力機能を一時的に削除しました #185
|
3
15
|
* バイパス処理中の小さなラグがほぼなくなりました #185
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -7,7 +7,6 @@
|
|
7
7
|
* ドキュメントは [getting_started.md](docs/getting_started.md) にまとめています
|
8
8
|
* https://pbm-cloud.herokuapp.com を使うと、webだけで運用が可能です
|
9
9
|
|
10
|
-
|
11
10
|
<img width="880" alt="スクリーンショット 2022-04-02 9 10 38" src="https://user-images.githubusercontent.com/1664497/161356057-71e4bc2a-0217-4434-9bf1-0002b9fb261a.png">
|
12
11
|
|
13
12
|
https://user-images.githubusercontent.com/1664497/171327108-f12f56a5-fc36-48da-95a5-65e976553a20.mov
|
@@ -24,6 +23,7 @@ https://user-images.githubusercontent.com/1664497/171327108-f12f56a5-fc36-48da-9
|
|
24
23
|
|
25
24
|
## プラグイン
|
26
25
|
* https://github.com/splaplapla/procon_bypass_man-splatoon2
|
26
|
+
* [スプラトゥーン3](docs/setting/splatoon3_recommended_setting.md)
|
27
27
|
|
28
28
|
## FAQ
|
29
29
|
* どうやって動かすの?
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# スプラトゥーン3: イカロール マクロの設定方法
|
2
|
+
|
3
|
+
* procon_bypass_man: 0.3.1以上が必要です
|
4
|
+
* このマクロは、右から上へ高速にスティックを入れることでイカロールを行います
|
5
|
+
* 後述する設定例では、左スティックを押し込むことでイカロールを発動してます
|
6
|
+
|
7
|
+
https://user-images.githubusercontent.com/1664497/193837089-1c56af8d-2c1b-436a-b2a7-89c083a408d7.mov
|
8
|
+
|
9
|
+
|
10
|
+
## 設定例1
|
11
|
+
```yaml
|
12
|
+
version: 1.0
|
13
|
+
setting: |-
|
14
|
+
prefix_keys_for_changing_layer [:zr, :zl, :l]
|
15
|
+
|
16
|
+
layer :up do
|
17
|
+
open_macro :forward_ikarole, steps: [:forward_ikarole1], if_pressed: [:thumbl], force_neutral: []
|
18
|
+
end
|
19
|
+
```
|
20
|
+
|
21
|
+
## 設定例2
|
22
|
+
pluginとして登録してあるので、 `macro` を使っても同じことができます。
|
23
|
+
|
24
|
+
```yaml
|
25
|
+
version: 1.0
|
26
|
+
setting: |-
|
27
|
+
prefix_keys_for_changing_layer [:zr, :zl, :l]
|
28
|
+
|
29
|
+
install_macro_plugin(ProconBypassMan::Plugin::Splatoon2::Macro::ForwardIkarole)
|
30
|
+
|
31
|
+
layer :up do
|
32
|
+
macro ProconBypassMan::Plugin::Splatoon3::Macro::ForwardIkarole, if_pressed: [:thumbl], force_neutral: []
|
33
|
+
end
|
34
|
+
```
|
@@ -0,0 +1,136 @@
|
|
1
|
+
# スプラトゥーン3: おすすめの設定
|
2
|
+
## 1 全般
|
3
|
+
### 1.1 デスしてから最速スパジャンのためのAボタン連打
|
4
|
+
|
5
|
+
`flip :a, if_pressed: [:a]`
|
6
|
+
Aボタンを連打にします。復帰してから最速で前線復帰ができます
|
7
|
+
|
8
|
+
### 1.2 簡単スニーキング
|
9
|
+
|
10
|
+
ボタンを押している間は、水飛沫のたたないスニーキングの感度まで調整することができます。
|
11
|
+
[設定方法](/docs/setting/left-analogstick-cap.md)
|
12
|
+
|
13
|
+
### 1.3 ナイス玉連打
|
14
|
+
|
15
|
+
`flip :down, if_pressed: :down`
|
16
|
+
十字キーの下ボタンは常に連打にしておくとナイス玉が来たときに楽です。
|
17
|
+
|
18
|
+
### 1.4 最速スーパージャンプ
|
19
|
+
マップを開かずにジャンプができます。トリガーは自由に設定できます。
|
20
|
+
|
21
|
+
```ruby
|
22
|
+
install_macro_plugin ProconBypassMan::Plugin::Splatoon3::Macro::FastReturn
|
23
|
+
install_macro_plugin ProconBypassMan::Plugin::Splatoon3::Macro::JumpToUpKey
|
24
|
+
install_macro_plugin ProconBypassMan::Plugin::Splatoon3::Macro::JumpToRightKey
|
25
|
+
install_macro_plugin ProconBypassMan::Plugin::Splatoon3::Macro::JumpToLeftKey
|
26
|
+
|
27
|
+
layer :up do
|
28
|
+
macro ProconBypassMan::Plugin::Splatoon3::Macro::FastReturn, if_pressed: [:y, :b, :down]
|
29
|
+
macro ProconBypassMan::Plugin::Splatoon3::Macro::JumpToUpKey, if_pressed: [:y, :b, :up]
|
30
|
+
macro ProconBypassMan::Plugin::Splatoon3::Macro::JumpToRightKey, if_pressed: [:y, :b, :right]
|
31
|
+
macro ProconBypassMan::Plugin::Splatoon3::Macro::JumpToLeftKey, if_pressed: [:y, :b, :left]
|
32
|
+
end
|
33
|
+
```
|
34
|
+
|
35
|
+
### 1.5 イカロール
|
36
|
+
* このマクロは、右から上へ高速にスティックを入れることでイカロールを行います
|
37
|
+
* 後述の設定例では、左スティックを押し込むことでイカロールを発動してます
|
38
|
+
|
39
|
+
```ruby
|
40
|
+
layer :up do
|
41
|
+
open_macro :forward_ikarole, steps: [:forward_ikarole1], if_pressed: [:thumbl], force_neutral: []
|
42
|
+
end
|
43
|
+
```
|
44
|
+
|
45
|
+
## 2 武器に特化した設定
|
46
|
+
### 2.1 パブロ、ボトルガイザー向け
|
47
|
+
|
48
|
+
`flip :zr, if_pressed: :zr, force_neutral: :zl`
|
49
|
+
zrを連打にします。`force_neutral: :zl` というオプションをつけることで、ZRを押している間はZLを押しても無視されるようになります。パブロでは意味がありませんが、シューターだと煽りのような動作を抑制することができます。
|
50
|
+
|
51
|
+
## 3 設定例
|
52
|
+
### 3.1 シンプルなパブロ向け
|
53
|
+
|
54
|
+
* ZRボタン, ZLボタン, Lボタンを同時押しながら十字キーを押すとレイヤーを切り替える
|
55
|
+
* ナイス玉が来たときにゲージを貯めるために十字キーの下を連打
|
56
|
+
* 復帰から最速ジャンプのためにAボタンを連打
|
57
|
+
* 筆を振るためにZRボタンを連打
|
58
|
+
* 筆ダッシュをするためにLボタンをZRボタンに変更
|
59
|
+
* イカロール
|
60
|
+
|
61
|
+
```yaml
|
62
|
+
version: 1.0
|
63
|
+
setting: |-
|
64
|
+
prefix_keys_for_changing_layer [:zr, :zl, :l]
|
65
|
+
|
66
|
+
layer :up do
|
67
|
+
flip :zr, if_pressed: :zr, force_neutral: :zl
|
68
|
+
flip :a, if_pressed: [:a]
|
69
|
+
flip :down, if_pressed: :down
|
70
|
+
remap :l, to: :zr
|
71
|
+
open_macro :forward_ikarole, steps: [:forward_ikarole1], if_pressed: [:thumbl], force_neutral: []
|
72
|
+
end
|
73
|
+
|
74
|
+
layer :right do
|
75
|
+
end
|
76
|
+
|
77
|
+
layer :left do
|
78
|
+
end
|
79
|
+
|
80
|
+
layer :down do
|
81
|
+
end
|
82
|
+
```
|
83
|
+
|
84
|
+
### 3.2 全部盛り
|
85
|
+
|
86
|
+
* ZRボタン, ZLボタン, Lボタンを同時押しながら十字キーを押すとレイヤーを切り替える
|
87
|
+
* ナイス玉が来たときにゲージを貯めるために十字キーの下を連打
|
88
|
+
* 筆を振るためにZRボタンを連打
|
89
|
+
* 復帰から最速ジャンプのためにAボタンを連打
|
90
|
+
* YボタンとBボタンと十字キーの上を同時に押したときに、マップ開いた時の↑に設定されている味方にスーパージャンプ
|
91
|
+
* YボタンとBボタンと十字キーの左を同時に押したときに、マップ開いた時の←に設定されている味方にスーパージャンプ
|
92
|
+
* YボタンとBボタンと十字キーの右を同時に押したときに、マップ開いた時の→に設定されている味方にスーパージャンプ
|
93
|
+
* YボタンとBボタンと十字キーの下を同時に押したときに、リスポーンにスーパージャンプ
|
94
|
+
* ZLボタンと十字キーの右ボタンを同時に、バブル即割を発動
|
95
|
+
* 筆ダッシュをするためにLボタンをZRボタンに変更
|
96
|
+
* ZLボタンとAボタンを同時に押したときに移動するとスニーキング
|
97
|
+
* イカロール
|
98
|
+
|
99
|
+
```yaml
|
100
|
+
version: 1.0
|
101
|
+
setting: |-
|
102
|
+
install_macro_plugin ProconBypassMan::Plugin::Splatoon3::Macro::FastReturn
|
103
|
+
install_macro_plugin ProconBypassMan::Plugin::Splatoon3::Macro::JumpToUpKey
|
104
|
+
install_macro_plugin ProconBypassMan::Plugin::Splatoon3::Macro::JumpToRightKey
|
105
|
+
install_macro_plugin ProconBypassMan::Plugin::Splatoon3::Macro::JumpToLeftKey
|
106
|
+
install_macro_plugin ProconBypassMan::Plugin::Splatoon3::Macro::SokuwariForSplashBomb
|
107
|
+
|
108
|
+
prefix_keys_for_changing_layer [:zr, :zl, :l]
|
109
|
+
set_neutral_position 2100, 2000
|
110
|
+
|
111
|
+
layer :up do
|
112
|
+
flip :zr, if_pressed: :zr, force_neutral: :zl
|
113
|
+
flip :a, if_pressed: [:a]
|
114
|
+
flip :down, if_pressed: :down
|
115
|
+
|
116
|
+
macro ProconBypassMan::Plugin::Splatoon3::Macro::FastReturn, if_pressed: [:y, :b, :down]
|
117
|
+
macro ProconBypassMan::Plugin::Splatoon3::Macro::JumpToUpKey, if_pressed: [:y, :b, :up]
|
118
|
+
macro ProconBypassMan::Plugin::Splatoon3::Macro::JumpToRightKey, if_pressed: [:y, :b, :right]
|
119
|
+
macro ProconBypassMan::Plugin::Splatoon3::Macro::JumpToLeftKey, if_pressed: [:y, :b, :left]
|
120
|
+
macro ProconBypassMan::Plugin::Splatoon3::Macro::SokuwariForSplashBomb, if_pressed: [:zl, :right]
|
121
|
+
|
122
|
+
remap :l, to: :zr
|
123
|
+
left_analog_stick_cap cap: 1100, if_pressed: [:zl, :a], force_neutral: :a
|
124
|
+
|
125
|
+
open_macro :forward_ikarole, steps: [:forward_ikarole1], if_pressed: [:thumbl], force_neutral: []
|
126
|
+
end
|
127
|
+
|
128
|
+
layer :right do
|
129
|
+
end
|
130
|
+
|
131
|
+
layer :left do
|
132
|
+
end
|
133
|
+
|
134
|
+
layer :down do
|
135
|
+
end
|
136
|
+
```
|
data/docs/setup_raspi.md
CHANGED
@@ -1,41 +1,38 @@
|
|
1
1
|
https://github.com/splaplapla/procon_bypass_man/blob/master/docs/setup_raspi_by_mitamae.md に半自動化した手順があります
|
2
2
|
|
3
3
|
# Raspberry Pi4のセットアップ手順
|
4
|
-
* SDカードにRaspberry Pi OS (32-bit)を焼く
|
4
|
+
* SDカードにRaspberry Pi OS (32 or 64-bit)を焼く
|
5
5
|
* SDカードをRaspberry Pi4本体に挿して起動する
|
6
6
|
* ラズパイGUI
|
7
7
|
* 無線LANに接続する
|
8
8
|
* sshdを許可する
|
9
9
|
* macからsshする
|
10
|
+
* sudo apt-get update
|
10
11
|
* sudo apt-get dist-upgrade
|
11
|
-
* hostnameを変える
|
12
|
-
* sudo hostnamectl set-hostname raspizero
|
13
|
-
* /etc/hosts に追記する
|
14
|
-
* 仮想メモリを増やす(optional)
|
15
|
-
* /etc/dphys-swapfile を CONF_SWAPSIZE=1024 にする
|
16
|
-
* sudo /etc/init.d/dphys-swapfile restart && swapon -s
|
17
|
-
* tailscale をインストールする(optional)
|
18
12
|
* sudo apt-get install vim rbenv git -y
|
19
13
|
* rbenvでrubyを入れる
|
20
14
|
* git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
|
21
15
|
* rbenv install 3.0.1
|
22
16
|
* rbenv local 3.0.1
|
23
17
|
* gem i bundler
|
24
|
-
* sshkeyを作成する
|
25
|
-
* github に鍵を登録する
|
26
|
-
* ~/.ssh/authorized_keys に鍵を登録する
|
27
18
|
* ガジェットモードで起動する
|
28
19
|
* /boot/config.txtに、dtoverlay=dwc2を追記
|
29
20
|
* echo "dwc2" | sudo tee -a /etc/modules
|
30
21
|
* echo "libcomposite" | sudo tee -a /etc/modules
|
31
22
|
* sudo cat /etc/modules
|
32
|
-
* cd ~ && wget https://gist.githubusercontent.com/jiikko/3f9fb3194c0cc7685e31fbfcb5b5f9ff/raw/23ddee29d94350be80b79d290ac3c8ce8400bd88/add_procon_gadget.sh
|
33
|
-
* chmod 755 ~/add_procon_gadget.sh
|
34
23
|
* sudo reboot
|
35
|
-
* sudo sh ~/add_procon_gadget.sh の実行に成功させる
|
36
24
|
* cd ~ && mkdir -p src && cd ~/src && git clone https://github.com/jiikko/procon_bypass_man_sample && cd procon_bypass_man_sample
|
37
25
|
|
38
|
-
|
26
|
+
おわりです.
|
27
|
+
|
28
|
+
起動する時は下記を確認の上、`sudo /home/pi/.rbenv/versions/3.0.1/bin/ruby app.rb` を実行してください。
|
29
|
+
|
30
|
+
* 「ラズパイとSwitch」と「ラズパイとプロコン」を **データ通信可能なケーブル** で接続する
|
31
|
+
* **Proコントローラーの有線通信** をONにする
|
32
|
+
|
33
|
+
|
34
|
+
![image](https://user-images.githubusercontent.com/1664497/193258615-1da27049-6d1f-4bfc-af1d-2f894f9c610e.png)
|
35
|
+
|
39
36
|
|
40
37
|
## 参考
|
41
38
|
* https://mtosak-tech.hatenablog.jp/entry/2020/08/22/114622
|
@@ -13,5 +13,9 @@ class ProconBypassMan::PostCompletedRemoteMacroJob < ProconBypassMan::BaseJob
|
|
13
13
|
device_id = ProconBypassMan.device_id
|
14
14
|
"/api/devices/#{ProconBypassMan.device_id}/completed_pbm_remote_macro_jobs"
|
15
15
|
end
|
16
|
+
|
17
|
+
def self.re_enqueue_if_failed
|
18
|
+
true
|
19
|
+
end
|
16
20
|
end
|
17
21
|
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require "procon_bypass_man/background/jobs/concerns/has_external_api_setting"
|
2
2
|
require "procon_bypass_man/background/jobs/concerns/job_performable"
|
3
3
|
require "procon_bypass_man/background/job_queue"
|
4
|
-
require "procon_bypass_man/background/job_performer"
|
5
4
|
require "procon_bypass_man/background/jobs/base_job"
|
6
5
|
require "procon_bypass_man/background/jobs/report_event_base_job"
|
7
6
|
require "procon_bypass_man/background/jobs/report_boot_job"
|
@@ -53,6 +53,7 @@ module ProconBypassMan
|
|
53
53
|
end
|
54
54
|
|
55
55
|
# @param [String, Class] プラグインのclass
|
56
|
+
# @param [Hash, NilClass] if_tilted_left_stick 非推奨
|
56
57
|
def macro(name, if_pressed: nil, if_tilted_left_stick: nil, force_neutral: nil)
|
57
58
|
case if_tilted_left_stick
|
58
59
|
when Integer, String, Symbol, Array
|
@@ -21,7 +21,7 @@ module ProconBypassMan
|
|
21
21
|
rescue SyntaxError
|
22
22
|
fallback_setting_if_has_backup(current_setting_path: setting_path)
|
23
23
|
raise ProconBypassMan::CouldNotLoadConfigError, "Rubyスクリプトのシンタックスエラーです"
|
24
|
-
rescue
|
24
|
+
rescue NameError
|
25
25
|
fallback_setting_if_has_backup(current_setting_path: setting_path)
|
26
26
|
raise ProconBypassMan::CouldNotLoadConfigError, "Rubyスクリプトに未定義の定数・変数があります"
|
27
27
|
rescue Psych::SyntaxError
|
@@ -52,6 +52,7 @@ module ProconBypassMan
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def self.reload_setting
|
55
|
+
ProconBypassMan.ephemeral_config.reset!
|
55
56
|
self.load(setting_path: ProconBypassMan::ButtonsSettingConfiguration.instance.setting_path)
|
56
57
|
end
|
57
58
|
|
@@ -98,6 +98,17 @@ module ProconBypassMan
|
|
98
98
|
@prefix_keys_for_changing_layer
|
99
99
|
end
|
100
100
|
|
101
|
+
# @param [Symbol, String] setting_name
|
102
|
+
# @return [void]
|
103
|
+
def enable(setting_name)
|
104
|
+
case setting_name.to_sym
|
105
|
+
when :rumble_on_layer_change
|
106
|
+
ProconBypassMan.ephemeral_config.enable_rumble_on_layer_change = true
|
107
|
+
else
|
108
|
+
warn "存在しないenable(#{setting_name.to_sym})が呼び出されました。"
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
101
112
|
def reset!
|
102
113
|
@prefix_keys_for_changing_layer = []
|
103
114
|
self.mode_plugins = {}
|
@@ -53,9 +53,20 @@ class ProconBypassMan::Bypass::ProconToSwitch
|
|
53
53
|
begin
|
54
54
|
# 終了処理を希望されているのでブロックを無視してメソッドを抜けてOK
|
55
55
|
return(false) if $will_terminate_token # rubocop:disable Lint/NoReturnInBeginEndBlocks
|
56
|
-
|
56
|
+
binary = ::ProconBypassMan::Procon::Rumbler.monitor do
|
57
57
|
ProconBypassMan::Processor.new(bypass_value.binary).process
|
58
|
-
|
58
|
+
end
|
59
|
+
self.gadget.write_nonblock(binary)
|
60
|
+
|
61
|
+
if ProconBypassMan.ephemeral_config.enable_rumble_on_layer_change && ProconBypassMan::Procon::Rumbler.must_rumble?
|
62
|
+
begin
|
63
|
+
self.procon.write_nonblock(ProconBypassMan::Procon::Rumbler.binary)
|
64
|
+
ProconBypassMan.logger.debug { ProconBypassMan::Procon::Rumbler.binary.unpack('H*').first }
|
65
|
+
rescue => e
|
66
|
+
ProconBypassMan::SendErrorCommand.execute(error: e)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
59
70
|
next(true)
|
60
71
|
rescue IO::EAGAINWaitReadable
|
61
72
|
return(false) if $will_terminate_token # rubocop:disable Lint/NoReturnInBeginEndBlocks
|
@@ -5,17 +5,14 @@ class ProconBypassMan::DeviceConnection::ProconSettingOverrider
|
|
5
5
|
SUB_COMMAND_VIBRATION = "48"
|
6
6
|
|
7
7
|
SUB_COMMAND_ARG_HOME_LED_ON = "1FF0FF"
|
8
|
-
SUB_COMMAND_ARG_VIBRATION_OFF = "00"
|
9
8
|
|
10
9
|
ALL_SETTINGS = {
|
11
10
|
home_led_on: [SUB_COMMAND_HOME_LED_ON, SUB_COMMAND_ARG_HOME_LED_ON],
|
12
|
-
vibration_off: [SUB_COMMAND_VIBRATION, SUB_COMMAND_ARG_VIBRATION_OFF],
|
13
11
|
}
|
14
12
|
|
15
13
|
# TODO 自動生成する
|
16
14
|
SPECIAL_SUB_COMMAND_ARGS = {
|
17
15
|
SUB_COMMAND_HOME_LED_ON => SUB_COMMAND_ARG_HOME_LED_ON,
|
18
|
-
SUB_COMMAND_VIBRATION => SUB_COMMAND_ARG_VIBRATION_OFF,
|
19
16
|
}
|
20
17
|
|
21
18
|
def initialize(procon: )
|
@@ -2,17 +2,17 @@ module ProconBypassMan
|
|
2
2
|
module Plugin
|
3
3
|
module Splatoon2
|
4
4
|
module Macro
|
5
|
-
module
|
5
|
+
module ForwardIkarole
|
6
6
|
def self.display_name
|
7
|
-
:
|
7
|
+
:forward_ikarole
|
8
8
|
end
|
9
9
|
|
10
10
|
def self.steps
|
11
|
-
[:
|
11
|
+
[:forward_ikarole1].freeze
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.description
|
15
|
-
'
|
15
|
+
'前方にイカロールをします'
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module ProconBypassMan
|
2
|
+
module Plugin
|
3
|
+
module Splatoon3
|
4
|
+
module Macro
|
5
|
+
module ChargeTansanBomb
|
6
|
+
def self.display_name
|
7
|
+
:charge_tansan_bomb
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.steps
|
11
|
+
[:shake_left_stick_and_toggle_b_for_0_1sec].freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.description
|
15
|
+
'タンサンボムのチャージ'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module ProconBypassMan
|
2
|
+
module Plugin
|
3
|
+
module Splatoon3
|
4
|
+
module Macro
|
5
|
+
module FastReturn
|
6
|
+
def self.display_name
|
7
|
+
:fast_return
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.steps
|
11
|
+
[:x, :x, :x, :down, :down, :down, :down, :down, :toggle_a_for_0_1sec, :wait_for_0_5sec]
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.description
|
15
|
+
'試合中にリスポーンにスーパージャンプ'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module ProconBypassMan
|
2
|
+
module Plugin
|
3
|
+
module Splatoon3
|
4
|
+
module Macro
|
5
|
+
module ForwardIkarole
|
6
|
+
def self.display_name
|
7
|
+
:forward_ikarole
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.steps
|
11
|
+
[:forward_ikarole1].freeze
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.description
|
15
|
+
'前方にイカロールをします'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module ProconBypassMan
|
2
|
+
module Plugin
|
3
|
+
module Splatoon3
|
4
|
+
module Macro
|
5
|
+
module JumpToLeftKey
|
6
|
+
def self.display_name
|
7
|
+
:jump_to_left_key
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.steps
|
11
|
+
[:x, :x, :x, :left, :left, :left, :left, :left, :toggle_a_for_0_1sec, :wait_for_0_5sec]
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.description
|
15
|
+
'試合中に左キーに割り当てられている味方へのスーパージャンプ'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module ProconBypassMan
|
2
|
+
module Plugin
|
3
|
+
module Splatoon3
|
4
|
+
module Macro
|
5
|
+
module JumpToRightKey
|
6
|
+
def self.display_name
|
7
|
+
:jump_to_right_key
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.steps
|
11
|
+
[:x, :x, :x, :right, :right, :right, :right, :right, :toggle_a_for_0_1sec, :wait_for_0_5sec]
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.description
|
15
|
+
'試合中に右キーに割り当てられている味方へのスーパージャンプ'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module ProconBypassMan
|
2
|
+
module Plugin
|
3
|
+
module Splatoon3
|
4
|
+
module Macro
|
5
|
+
module JumpToUpKey
|
6
|
+
def self.display_name
|
7
|
+
:jump_to_up_key
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.steps
|
11
|
+
[:x, :x, :x, :up, :up, :up, :up, :up, :toggle_a_for_0_1sec, :wait_for_0_5sec]
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.description
|
15
|
+
'試合中に上キーに割り当てられている味方へのスーパージャンプ'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module ProconBypassMan
|
2
|
+
module Plugin
|
3
|
+
module Splatoon3
|
4
|
+
module Macro
|
5
|
+
module SokuwariForSplashBomb
|
6
|
+
def self.display_name
|
7
|
+
:sokuwari_for_splash_bomb
|
8
|
+
end
|
9
|
+
|
10
|
+
# procon_bypass_man: 0.1.18以上が必要
|
11
|
+
def self.steps
|
12
|
+
[ :toggle_r_for_0_2sec,
|
13
|
+
:toggle_thumbr_for_0_14sec,
|
14
|
+
:toggle_thumbr_and_toggle_zr_for_0_34sec,
|
15
|
+
:toggle_r_for_1sec,
|
16
|
+
].freeze
|
17
|
+
end
|
18
|
+
|
19
|
+
def self.description
|
20
|
+
'バブル即割'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|