clicker 0.1.0 → 0.1.2

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
  SHA1:
3
- metadata.gz: 61de25b14a658928928618d29bc508ed9edb9fa2
4
- data.tar.gz: ba7ba93e532f495e374bf58b5fcfdfae188968c3
3
+ metadata.gz: ea84096718d5bf96651f028213a16f458f827da5
4
+ data.tar.gz: faa5d185de541b7ed94fb8b8f151fd29eb7b3ee5
5
5
  SHA512:
6
- metadata.gz: 110cfa7704d43330775723d8ca5d554d6034d87a9d1e7b16462f3b2e6b08cea14f4a692afcdd1b22f319f247393eb1a09e89c0df6cd30beb476e6264be500eed
7
- data.tar.gz: d1d527f30aae8ffeb40347f7265d2345325a77f2f9882de5007d2cf9a98bace03cac97e7500d1d97412bca640d097a05b1e378cc366ea65e69e362c15c485d86
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
- 変更するか、ユーザーを input グループに追加してください。`sudo
15
- addgroup ユーザー名 input`[^1]
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"
@@ -19,17 +19,8 @@ class LaunchLock
19
19
  return true
20
20
  rescue
21
21
  return false
22
- end
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?
@@ -54,10 +54,20 @@ class Program
54
54
  when :stop
55
55
  if @lock.locked?
56
56
  owner = @lock.owner
57
- if @lock.unlock
58
- STDERR.puts("SIGTERM has been sent to PID #{owner}.")
59
- else
60
- STDERR.puts("failed to unlock")
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.")
@@ -1,3 +1,3 @@
1
1
  module Clicker
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.2"
3
3
  end
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.0
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: '0'
107
+ version: 2.0.0
108
108
  required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  requirements:
110
110
  - - ">="