procon_bypass_man 0.1.16 → 0.1.16.1

Sign up to get free protection for your applications and to get access to all the features.
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