fusuma 3.3.1 → 3.4.0

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: 629441e7756cdd5df55e497ff6c4758fcbcd1f351132f55caea11a80a06492e8
4
- data.tar.gz: 6510ed44d991c1ec08938ad33b316ce6693fee571f00743df9dc66a1948c3562
3
+ metadata.gz: 2069b9d7aebc84b8476061feceda9dbccdc1496d631bc321918c64df252fef40
4
+ data.tar.gz: 2efa46442f89aa15aa53f4e4b743f6cb4ef2449ca3f487a1a35940ad9ae38b9f
5
5
  SHA512:
6
- metadata.gz: 88fe3cc4229f5a6bcd772affcd2292c440ede0a581448f81605b24de1ad90c15a6ad6b3d097da00ea35b6b9131ccd108cfab4c063c07c1aa140e3c83a125fcf2
7
- data.tar.gz: 0e4fb3ac2fe62fd064a0ad17d46ba21952e78b75cf13c118961854316998cc70f00c8d83a0c386517efb0136f90349024c5ffd5870cc53cfdbc3688a5e0082f7
6
+ metadata.gz: 6b13060987b8cceadf030c6601a4f05886b2d0db6c44f900e33f0c5f689afcf48ab98809d12014394da24e9be5bde3b303f15527c792b540e6f352d1b39f4225
7
+ data.tar.gz: b3620182b6cc50c22582e36927b478c6a68b1e86b3cfe7eee7fc29060e87d2ce1f3e36579e112cbfb62b488927aae427ad75630210c4db53e3127619a487253b
@@ -14,7 +14,7 @@ module Fusuma
14
14
  key = Key.new(key) if !key.is_a? Key
15
15
  @keys << key
16
16
  key.symbol
17
- end.join(",")
17
+ end.join(",").to_sym
18
18
  else
19
19
  key = Key.new(keys)
20
20
  @cache_key = key.symbol
@@ -22,10 +22,16 @@ module Fusuma
22
22
  end
23
23
  end
24
24
 
25
- def inspect
25
+ def to_s
26
26
  @keys.map(&:inspect)
27
27
  end
28
28
 
29
+ def ==(other)
30
+ return false unless other.is_a? Index
31
+
32
+ cache_key == other.cache_key
33
+ end
34
+
29
35
  attr_reader :keys, :cache_key
30
36
 
31
37
  # Keys in Index
@@ -40,7 +46,7 @@ module Fusuma
40
46
  @skippable = skippable
41
47
  end
42
48
 
43
- def inspect
49
+ def to_s
44
50
  if @skippable
45
51
  "#{@symbol}(skippable)"
46
52
  else
@@ -29,6 +29,10 @@ module Fusuma
29
29
  @finger = finger.to_i
30
30
  @delta = delta
31
31
  end
32
+
33
+ def to_s
34
+ "#{@gesture}, #{@finger}, #{@status}, #{@delta}"
35
+ end
32
36
  end
33
37
  end
34
38
  end
@@ -22,6 +22,10 @@ module Fusuma
22
22
  @args = args
23
23
  end
24
24
 
25
+ def to_s
26
+ "#{@index}, #{@position}, #{@trigger}, #{@args}"
27
+ end
28
+
25
29
  def type
26
30
  :index
27
31
  end
@@ -25,19 +25,22 @@ module Fusuma
25
25
 
26
26
  input = inputs.find { |i| i.io == io }
27
27
 
28
- begin
29
- # NOTE: io.readline is blocking method
30
- # each input plugin must write line to pipe (include `\n`)
31
- line = io.readline(chomp: true)
32
- rescue EOFError => e
33
- MultiLogger.error "#{input.class.name}: #{e}"
34
- MultiLogger.error "Shutdown fusuma process..."
35
- Process.kill("TERM", Process.pid)
36
- rescue => e
37
- MultiLogger.error "#{input.class.name}: #{e}"
38
- exit 1
39
- end
40
- input.create_event(record: line)
28
+ input.create_event(record: input.read_from_io)
29
+ end
30
+
31
+ # @return [String, Record]
32
+ # IO#readline is blocking method
33
+ # so input plugin must write line to pipe (include `\n`)
34
+ # or, override read_from_io and implement your own read method
35
+ def read_from_io
36
+ io.readline(chomp: true)
37
+ rescue EOFError => e
38
+ MultiLogger.error "#{self.class.name}: #{e}"
39
+ MultiLogger.error "Shutdown fusuma process..."
40
+ Process.kill("TERM", Process.pid)
41
+ rescue => e
42
+ MultiLogger.error "#{self.class.name}: #{e}"
43
+ exit 1
41
44
  end
42
45
 
43
46
  # @return [Integer]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fusuma
4
- VERSION = "3.3.1"
4
+ VERSION = "3.4.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fusuma
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.1
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - iberianpig
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-04 00:00:00.000000000 Z
11
+ date: 2024-01-19 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Fusuma is multitouch gesture recognizer. This gem makes your touchpad
14
14
  on Linux able to recognize swipes or pinchs and assign command to them. Read installation
@@ -87,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
87
87
  - !ruby/object:Gem::Version
88
88
  version: '0'
89
89
  requirements: []
90
- rubygems_version: 3.4.10
90
+ rubygems_version: 3.4.19
91
91
  signing_key:
92
92
  specification_version: 4
93
93
  summary: Multitouch gestures with libinput driver, Linux