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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ece30577af00d56afa2e2e0be7e09d8328c9d7f8cc96c2e49d207a2bb423b867
4
- data.tar.gz: faf86731651a110fd63ce977f65b76f46c31fe6215a2512d4c3a1ba545fd4f81
3
+ metadata.gz: 5af6fb77bbbd2aca55c93c8af1bb9c72ede43a043f069001b30201bf8352e7de
4
+ data.tar.gz: 5607eb2f41d4a09de6e7e04cb8afcf998c09d790931ed105dbe5136c7160698a
5
5
  SHA512:
6
- metadata.gz: 313d36b543a7c539effaabb6fca121a5112b4076a196ad52386924f3e043ad25e52c5c880a710c1d8aafc66d4a647b3387cebe0b82391eb4ccffa10dd1f4af65
7
- data.tar.gz: 55e7a87c35f972e8537654b86a1f5e1815ed22144a4097e1993ad986666f1111972ce8ce1a744e56196c16957a56c328ba510b6b19af4ff8961ac989d216af20
6
+ metadata.gz: f21c116b2d69b79a2c896cd8c1298a1e80d82c2c879e0e0db328b64f9abb19901da93edd0a88d64314413092bfafead55a9ab359f9e09a2546794812178701e1
7
+ data.tar.gz: 89d32cbe122d38ad19d55481539a05cfad959695d46c29d2dc6db8ac34eb251a2f2f49d7ab36f5d514e191751ba19f747dd13e5a21fd4cde4ae435a93ce117de
data/CHANGELOG.md CHANGED
@@ -1,4 +1,7 @@
1
- ## [0.1.16] - 202
1
+ ## [0.1.16.1] - 2022-01-22
2
+ - 初期状態ではinternal api(pbm-web)の通信を無効にしました
3
+
4
+ ## [0.1.16] - 2021-12-26
2
5
  - websocket経由で外部サーバからの命令を受け取れるようになりました
3
6
 
4
7
  ## [0.1.15] - 2021-12-08
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.6)
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 で sudo pbmenv install latest && cd /usr/share/pbm/current && sudo ruby app.rb
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
@@ -1,3 +1,5 @@
1
+ https://github.com/splaplapla/procon_bypass_man/blob/master/docs/setup_raspi_by_mitamae.md に半自動化した手順があります
2
+
1
3
  # Raspberry Pi4のセットアップ手順
2
4
  * SDカードにRaspberry Pi OS (32-bit)を焼く
3
5
  * SDカードをRaspberry Pi4本体に挿して起動する
@@ -1,6 +1,6 @@
1
1
  run_command "apt-get update"
2
2
 
3
- package 'ruby' do
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 "rbenv install 3.0.1"
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
- * curl -L https://github.com/itamae-kitchen/mitamae/releases/latest/download/mitamae-armhf-linux.tar.gz | tar xvz
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.cache.fetch key: 'pressed_buttons_reporter', expires_in: 5 do
32
- ProconBypassMan::ReportPressedButtonsJob.perform_async(
33
- bypass_value.binary.to_procon_reader.to_hash
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ProconBypassMan
4
- VERSION = "0.1.16"
4
+ VERSION = "0.1.16.1"
5
5
  end
@@ -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
- * sudo ln -s /usr/share/pbm/current/systemd_units/pbm.service /etc/systemd/system/pbm.service
6
- * sudo ln -s /usr/share/pbm/current/systemd_units/pbm_web.service /etc/systemd/system/pbm_web.service
7
- * sudo systemctl enable pbm.service
8
- * sudo systemctl enable pbm_web.service
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
@@ -5,7 +5,7 @@ require 'bundler/inline'
5
5
  gemfile do
6
6
  source 'https://rubygems.org'
7
7
  git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
8
- gem 'procon_bypass_man', '0.1.16'
8
+ gem 'procon_bypass_man', '0.1.16.1'
9
9
  end
10
10
 
11
11
  ProconBypassMan.configure do |config|
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: 2021-12-26 00:00:00.000000000 Z
11
+ date: 2022-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pbmenv