clicker 0.1.0 → 0.1.2
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/README.md +8 -6
- data/clicker.gemspec +2 -0
- data/lib/clicker/launch_lock.rb +2 -11
- data/lib/clicker/program.rb +14 -4
- data/lib/clicker/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea84096718d5bf96651f028213a16f458f827da5
|
4
|
+
data.tar.gz: faa5d185de541b7ed94fb8b8f151fd29eb7b3ee5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7579cff852877011e175da251d7cea71598b85c7226b838e525e32a6f11b88d6e8f593e15635eaad69b339f9de9926f9c435dd3ba95f4c8ba4a1983df9eb9b6
|
7
|
+
data.tar.gz: 327c8f3be65f153ccb19a6fcc9dcf2cb75c790c15285f0ec63964aeae600641bb9efc301e5433f80ce00e9c05f1d20e6e1fa42e829fc338f014b8327c0a6a276
|
data/README.md
CHANGED
@@ -10,22 +10,24 @@
|
|
10
10
|
ンでは、`sudo apt install evtest` でインストールされると思います。
|
11
11
|
3. キーボードデバイスへのアクセス権限。すなわち、
|
12
12
|
`/dev/input/by-path/platform-i8042-serio-0-event-kbd` が開ける必要
|
13
|
-
|
14
|
-
|
15
|
-
addgroup ユーザー名 input`
|
13
|
+
があります。通常開けないので、デバイスファイルのパーミッションを変
|
14
|
+
更するか、ユーザーを適切なグループに追加してください。`sudo
|
15
|
+
addgroup ユーザー名 input` 等。
|
16
16
|
4. SDL_mixer ライブラリがインストールされ、rubysdl ジェムから利用でき
|
17
17
|
る必要があります。`sudo apt install libsdl-mixer1.2-dev` 等とした後、
|
18
18
|
rubysdl ジェムを(再)インストールしてください。
|
19
19
|
|
20
|
-
[^1]: 通常、任意のプログラムからキーボードを盗聴できるようにするのは、良い考えではありません。
|
21
|
-
|
22
20
|
## インストール
|
23
21
|
|
24
22
|
$ sudo apt install evtest
|
25
|
-
$ sudo addgroup ユーザー input
|
26
23
|
$ sudo apt install libsdl-mixer1.2-dev
|
27
24
|
$ sudo gem install clicker
|
28
25
|
|
26
|
+
$ sudo addgroup ユーザー input
|
27
|
+
あるいは
|
28
|
+
$ sudo chmod o+r /dev/input/by-path/platform-i8042-serio-0-event-kbd
|
29
|
+
|
30
|
+
|
29
31
|
## 使い方
|
30
32
|
|
31
33
|
以下のようにするとキーを押すたびに音がなるようになります。
|
data/clicker.gemspec
CHANGED
@@ -19,6 +19,8 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
+
spec.required_ruby_version = '>= 2.0.0'
|
23
|
+
|
22
24
|
spec.add_dependency "rubysdl", "~> 2.2.0"
|
23
25
|
spec.add_development_dependency "bundler", "~> 1.11"
|
24
26
|
spec.add_development_dependency "rake", "~> 10.0"
|
data/lib/clicker/launch_lock.rb
CHANGED
@@ -19,17 +19,8 @@ class LaunchLock
|
|
19
19
|
return true
|
20
20
|
rescue
|
21
21
|
return false
|
22
|
-
|
23
|
-
|
24
|
-
def unlock
|
25
|
-
File.open(@lock_file_path) do |f|
|
26
|
-
pid = f.gets.to_i
|
27
|
-
Process.kill("TERM", pid)
|
28
|
-
end
|
29
|
-
FileUtils.rm(@lock_file_path)
|
30
|
-
return true
|
31
|
-
rescue Errno::ENOENT
|
32
|
-
return false
|
22
|
+
ensure
|
23
|
+
FileUtils.rm(@lock_file_path)
|
33
24
|
end
|
34
25
|
|
35
26
|
def locked?
|
data/lib/clicker/program.rb
CHANGED
@@ -54,10 +54,20 @@ class Program
|
|
54
54
|
when :stop
|
55
55
|
if @lock.locked?
|
56
56
|
owner = @lock.owner
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
57
|
+
Process.kill("TERM", owner)
|
58
|
+
STDERR.puts("SIGTERM has been sent to PID #{owner}.")
|
59
|
+
success = false
|
60
|
+
sleep 0.1
|
61
|
+
5.times do
|
62
|
+
unless File.exist? @lock.lock_file_path
|
63
|
+
success = true
|
64
|
+
break
|
65
|
+
end
|
66
|
+
sleep 1
|
67
|
+
end
|
68
|
+
unless success
|
69
|
+
STDERR.puts("Error: failed to unlock")
|
70
|
+
STDERR.puts("the lock file is at #{@lock.lock_file_path}.")
|
61
71
|
end
|
62
72
|
else
|
63
73
|
STDERR.puts("no instance is running.")
|
data/lib/clicker/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clicker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yoteichi
|
@@ -104,7 +104,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
104
104
|
requirements:
|
105
105
|
- - ">="
|
106
106
|
- !ruby/object:Gem::Version
|
107
|
-
version:
|
107
|
+
version: 2.0.0
|
108
108
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
110
|
- - ">="
|