procon_bypass_man 0.1.16 → 0.1.16.1
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/CHANGELOG.md +4 -1
- data/Gemfile.lock +2 -2
- data/README.md +18 -2
- 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/procon_bypass_man/bypass/usb_hid_logger.rb +6 -4
- data/lib/procon_bypass_man/configuration.rb +5 -1
- data/lib/procon_bypass_man/version.rb +1 -1
- data/project_template/README.md +10 -5
- data/project_template/app.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5af6fb77bbbd2aca55c93c8af1bb9c72ede43a043f069001b30201bf8352e7de
|
4
|
+
data.tar.gz: 5607eb2f41d4a09de6e7e04cb8afcf998c09d790931ed105dbe5136c7160698a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f21c116b2d69b79a2c896cd8c1298a1e80d82c2c879e0e0db328b64f9abb19901da93edd0a88d64314413092bfafead55a9ab359f9e09a2546794812178701e1
|
7
|
+
data.tar.gz: 89d32cbe122d38ad19d55481539a05cfad959695d46c29d2dc6db8ac34eb251a2f2f49d7ab36f5d514e191751ba19f747dd13e5a21fd4cde4ae435a93ce117de
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
procon_bypass_man (0.1.16)
|
4
|
+
procon_bypass_man (0.1.16.1)
|
5
5
|
action_cable_client
|
6
6
|
pbmenv
|
7
7
|
sorted_set
|
@@ -36,7 +36,7 @@ GEM
|
|
36
36
|
parallel (1.21.0)
|
37
37
|
parser (3.0.3.2)
|
38
38
|
ast (~> 2.4.1)
|
39
|
-
pbmenv (0.1.
|
39
|
+
pbmenv (0.1.7)
|
40
40
|
pry (0.14.1)
|
41
41
|
coderay (~> 1.1)
|
42
42
|
method_source (~> 1.0)
|
data/README.md
CHANGED
@@ -28,8 +28,18 @@ Switch <-- (PBM): ZR連打
|
|
28
28
|
## Usage
|
29
29
|
* USBガジェットモードで起動するRaspberry Pi4を用意する
|
30
30
|
* https://github.com/splaplapla/procon_bypass_man/blob/master/docs/setup_raspi.md
|
31
|
-
* Raspberry Pi4 で
|
31
|
+
* Raspberry Pi4 でprocon_bypass_manを実行するための準備
|
32
|
+
* rubyのインストール
|
33
|
+
* sudo apt-get install rbenv
|
34
|
+
* git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
|
35
|
+
* rbenv install 3.0.1
|
36
|
+
* sudo gem install pbmenv
|
37
|
+
* sudo [pbmenv](https://github.com/splaplapla/pbmenv) install latest
|
38
|
+
* Raspberry Pi4 でprocon_bypass_manを実行する
|
39
|
+
* cd /usr/share/pbm/current
|
40
|
+
* sudo /home/pi/.rbenv/versions/3.0.1/bin/ruby app.rb
|
32
41
|
* 動いたのを確認したらserviceとして登録にするなどしてください
|
42
|
+
* [serviceとして登録する方法](https://github.com/splaplapla/procon_bypass_man/tree/master/project_template#systemd%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AB%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95)
|
33
43
|
|
34
44
|
## Plugins
|
35
45
|
* https://github.com/splaplapla/procon_bypass_man-splatoon2
|
@@ -54,6 +64,8 @@ Switch <-- (PBM): ZR連打
|
|
54
64
|
* マクロは特定のキーを順番に入れていく機能。キーの入力が終わったらマクロは終了する
|
55
65
|
* レイヤーとは?
|
56
66
|
* 自作キーボードみたいな感じでレイヤー毎に設定内容を記述して切り替えれる
|
67
|
+
* レイヤーを切り替える方法は?
|
68
|
+
* 設定ファイルに記述している `prefix_keys_for_changing_layer`の後ろにあるキーを同時押しながら、十字キーのどれかを押すことで任意のレイヤーに切り替わります
|
57
69
|
* このツールでできることは?
|
58
70
|
* キーリマップ, 連射, マクロ, 特定の同じ操作の繰り返し(mode)
|
59
71
|
* リマップは1つのキーを別のキーに割り当てます
|
@@ -62,6 +74,10 @@ Switch <-- (PBM): ZR連打
|
|
62
74
|
* 操作するdeviceファイルの所有者がrootだから
|
63
75
|
* 市販されているサードパーティ製連射機との違いは?
|
64
76
|
* サードパーティ製のコントローラーは、設定方法や形状が特殊で買い換えるたびに学習・設定コストが発生します。本ツールを使えば、設定内容はテキストで管理することができ、使い慣れたプロコンで同等のことができます。
|
77
|
+
* sshなしで運用は可能ですか?
|
78
|
+
* 後述するWEBアプリケーションを使えば、sshを使わずに運用が可能です
|
79
|
+
* https://github.com/splaplapla/procon_bypass_man_cloud
|
80
|
+
* 機能開発中ですが、使ってくれる人を探しているのでdiscordからお問合せください
|
65
81
|
|
66
82
|
## TODO
|
67
83
|
* レコーディング機能(プロコンの入力をマクロとして登録ができる)
|
@@ -91,6 +107,6 @@ sudo kill -USR2 `cat ./pbm_pid`
|
|
91
107
|
|
92
108
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
93
109
|
|
94
|
-
|
95
110
|
## Links
|
96
111
|
* https://discord.gg/bEcRNKf4ep
|
112
|
+
* 質問などご意見をdiscordでも受け付けています
|
data/docs/setup_raspi.md
CHANGED
data/docs/setup_raspi.mitamae.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
run_command "apt-get update"
|
2
2
|
|
3
|
-
package '
|
3
|
+
package 'rbenv' do
|
4
4
|
action :install
|
5
5
|
end
|
6
6
|
|
@@ -41,16 +41,15 @@ execute "Initialize PBM" do
|
|
41
41
|
SHELL
|
42
42
|
end
|
43
43
|
|
44
|
-
# rbenv
|
45
|
-
execute "Install rbenv" do
|
46
|
-
not_if "which rbenv"
|
47
|
-
command "git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build"
|
48
|
-
end
|
49
|
-
|
50
44
|
# ruby
|
51
45
|
execute "Install ruby" do
|
46
|
+
user "pi"
|
52
47
|
not_if "rbenv versions | grep 3.0.1"
|
53
|
-
command
|
48
|
+
command <<~EOH
|
49
|
+
mkdir -p "$(rbenv root)"/plugins
|
50
|
+
git clone https://github.com/rbenv/ruby-build.git --depth 1 "$(rbenv root)"/plugins/ruby-build
|
51
|
+
rbenv install 3.0.1
|
52
|
+
EOH
|
54
53
|
end
|
55
54
|
|
56
55
|
run_command 'sudo systemctl disable triggerhappy.socket'
|
@@ -1,9 +1,11 @@
|
|
1
|
+
セットアップ手順を半自動化にしました
|
2
|
+
|
1
3
|
# Raspberry Pi4のセットアップ手順 With mitamae
|
2
4
|
* SDカードにRaspberry Pi OS lite (32-bit)を焼く
|
3
5
|
* sshをできる状態で焼いておく
|
4
6
|
* SDカードをRaspberry Pi4本体に挿して起動する
|
5
7
|
* sshする
|
6
|
-
*
|
8
|
+
* wget -O - "https://github.com/itamae-kitchen/mitamae/releases/latest/download/mitamae-armhf-linux.tar.gz" | tar xvz
|
7
9
|
* wget https://raw.githubusercontent.com/splaplapla/procon_bypass_man/master/docs/setup_raspi.mitamae.rb -O setup_raspi.mitamae.rb
|
8
10
|
* sudo ./mitamae-armhf-linux local setup_raspi.mitamae.rb -l debug
|
9
11
|
* sudo reboot
|
@@ -12,3 +14,37 @@
|
|
12
14
|
* PCとRaspberry Pi4を接続し、プロコンとして認識していることを確認する
|
13
15
|
* sudo gem i pbmenv
|
14
16
|
* sudo pbmenv install latest
|
17
|
+
|
18
|
+
## 上記手順の動作確認方法
|
19
|
+
* 使えそうなイメージ
|
20
|
+
* navikey/raspbian-bullseye
|
21
|
+
* balenalib/raspberry-pi
|
22
|
+
|
23
|
+
```shell
|
24
|
+
docker run -it --rm --name my-running-app2 navikey/raspbian-bullseye bash
|
25
|
+
```
|
26
|
+
|
27
|
+
### 準備
|
28
|
+
* docker runするとrootなのでpiでログインする
|
29
|
+
|
30
|
+
```shell
|
31
|
+
useradd -m --uid 1000 --groups sudo pi
|
32
|
+
echo pi:pi | chpasswd
|
33
|
+
su pi
|
34
|
+
cd ~ && sudo ls
|
35
|
+
```
|
36
|
+
|
37
|
+
### mitamaeスクリプトを実行する
|
38
|
+
|
39
|
+
```
|
40
|
+
wget -O - "https://github.com/itamae-kitchen/mitamae/releases/latest/download/mitamae-armhf-linux.tar.gz" | tar xvz
|
41
|
+
wget https://raw.githubusercontent.com/splaplapla/procon_bypass_man/master/docs/setup_raspi.mitamae.rb -O setup_raspi.mitamae.rb
|
42
|
+
sudo ./mitamae-armhf-linux local setup_raspi.mitamae.rb -l debug
|
43
|
+
```
|
44
|
+
|
45
|
+
実行に成功したら以下を確認する
|
46
|
+
|
47
|
+
* /home/pi/.rbenv/verions に ruby3.0.1がインストールしていること
|
48
|
+
* /etc/modules に指定の文字列があること
|
49
|
+
* /boot/config.txt に指定の文字列があること
|
50
|
+
* /usr/share/pbm/shared/add_procon_gadget.sh が存在していること
|
@@ -28,10 +28,12 @@ class ProconBypassMan::Bypass
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
ProconBypassMan.
|
32
|
-
ProconBypassMan
|
33
|
-
|
34
|
-
|
31
|
+
if ProconBypassMan.config.enable_reporting_pressed_buttons
|
32
|
+
ProconBypassMan.cache.fetch key: 'pressed_buttons_reporter', expires_in: 5 do
|
33
|
+
ProconBypassMan::ReportPressedButtonsJob.perform_async(
|
34
|
+
bypass_value.binary.to_procon_reader.to_hash
|
35
|
+
)
|
36
|
+
end
|
35
37
|
end
|
36
38
|
end
|
37
39
|
end
|
@@ -41,7 +41,7 @@ class ProconBypassMan::Configuration
|
|
41
41
|
end
|
42
42
|
|
43
43
|
attr_accessor :enable_critical_error_logging
|
44
|
-
attr_writer :verbose_bypass_log, :raw_setting
|
44
|
+
attr_writer :verbose_bypass_log, :raw_setting, :enable_reporting_pressed_buttons
|
45
45
|
|
46
46
|
def root=(path)
|
47
47
|
@root = path
|
@@ -154,4 +154,8 @@ class ProconBypassMan::Configuration
|
|
154
154
|
def raw_setting
|
155
155
|
@raw_setting ||= {}
|
156
156
|
end
|
157
|
+
|
158
|
+
def enable_reporting_pressed_buttons
|
159
|
+
@enable_reporting_pressed_buttons ||= false
|
160
|
+
end
|
157
161
|
end
|
data/project_template/README.md
CHANGED
@@ -1,11 +1,16 @@
|
|
1
1
|
# Project Template
|
2
|
-
これらは https://github.com/splaplapla/pbmenv がinstallするときに配備するファイルです
|
2
|
+
* これらは https://github.com/splaplapla/pbmenv がinstallするときに配備するファイルです
|
3
|
+
* pbm_webはオプショナルです
|
3
4
|
|
4
5
|
## systemdを使ってサービスに登録する方法
|
5
|
-
|
6
|
-
|
7
|
-
*
|
8
|
-
* sudo systemctl
|
6
|
+
systemctl enableした後は、次回のOS起動時にserviceも自動起動します
|
7
|
+
|
8
|
+
* pbm
|
9
|
+
* sudo systemctl link /usr/share/pbm/current/systemd_units/pbm.service
|
10
|
+
* sudo systemctl enable pbm.service
|
11
|
+
* pbm_web
|
12
|
+
* sudo systemctl link /usr/share/pbm/current/systemd_units/pbm_web.service
|
13
|
+
* sudo systemctl enable pbm_web.service
|
9
14
|
|
10
15
|
## systemdを使ってサービスから解除する方法
|
11
16
|
* sudo systemctl disable pbm.service
|
data/project_template/app.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: procon_bypass_man
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.16
|
4
|
+
version: 0.1.16.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jiikko
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pbmenv
|