fusuma 3.3.1 → 3.4.0

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: 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