xinput_wrapperplus 0.4.0 → 0.5.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: b2b5ef82422b06bf45406ed32784ec03f9d4edad0d464ec668aeadbecb3b0408
4
- data.tar.gz: 3e1f069f5e827fe2bb12ae52bfeaba53c19e831d1396979ab0dfb8bd52a3030f
3
+ metadata.gz: e7895cc28fe6d61322a6ec002f8dcded48d448c5dea63b4264181d9cd4a06a6f
4
+ data.tar.gz: 6368b33575a4e730fc58e42cdd4b4f50ed9ce728061bbb073f9ad30a28c65822
5
5
  SHA512:
6
- metadata.gz: d817422ca9e21d2d6504402da8326f770ce7cfd30132fdab2a2c228bcf8f2ca3412a60b1282ab917ed6e5619f2deef9a43e3e5365fc0b09067d7fbe1aa2633ee
7
- data.tar.gz: 7a525ac9e7ebcebcf77df04e5cc84ab6b6351886fc72ee5d1d2751d579a071b46c1acec30108934743c5cc916731257ab0a9909235ebcb3f4dfdf14f1554c3c4
6
+ metadata.gz: 85d621312320338465c881475f038054a758f43666469295bf4f572dadb23a299d64a673ce66ce8aab1777d85aefe896711c9df8f2f9a242d40d2e6f2912e6cd
7
+ data.tar.gz: 5932216f417c697613ede7355ed9b30e42e50479e21f5e679f6913a52aa4137b522ace656aedb8e3935509408d3abd1fe842d7c57896f8dec910967d890dca3c
checksums.yaml.gz.sig CHANGED
Binary file
@@ -3,47 +3,78 @@
3
3
  # file: xinput_wrapperplus.rb
4
4
 
5
5
 
6
+ require 'wmctrl'
6
7
  require 'sps-pub'
7
8
  require 'secret_knock'
8
9
  require 'xinput_wrapper'
9
10
 
10
11
  class XInputWrapperPlus < XInputWrapper
11
12
 
12
- def initialize(device: '3', host: 'sps', port: '59000',
13
+ def initialize(host: 'sps', port: '59000',
13
14
  topic: 'input', verbose: true, lookup: {},
14
- debug: false, capture_all: false)
15
+ debug: false, capture_all: false, keys: [],
16
+ keypress_detection: true, motion_detection: true,
17
+ window_context: false)
15
18
 
16
- super(device: device, verbose: verbose, lookup: lookup,
17
- debug: debug)
19
+ puts 'before super'
20
+ super(verbose: verbose, lookup: lookup,
21
+ debug: debug, keys: keys)
22
+ puts 'after super'
23
+
18
24
  @topic, @capture_all = topic, capture_all
25
+ @keypress_detection = keypress_detection
26
+ @motion_detection = motion_detection
27
+ @window_context = window_context
28
+
19
29
  @sps = SPSPub.new host: host, port: port
30
+
20
31
  @sk = SecretKnock.new short_delay: 0.25, long_delay: 0.5,
21
32
  external: self, verbose: verbose, debug: debug
22
33
  @sk.detect timeout: 0.7
34
+ @interval = 120
23
35
 
24
36
  @a = [] # Used to store mouse gestures
25
- @timer = nil
37
+ @timer, @t2 = nil , Time.now - @interval
26
38
 
27
39
  end
28
40
 
29
-
30
41
  def knock()
31
42
  puts 'knock' if @verbose
32
43
  end
33
-
44
+
34
45
  def message(msg, subtopic=:keyboard)
35
46
 
36
47
  puts ':: ' + msg.inspect if @verbose
37
48
 
38
49
  return if msg.strip.empty?
39
50
 
40
- topic = [@topic, subtopic].join('/')
51
+ topic = [@topic, subtopic].compact.join('/')
41
52
 
42
- @sps.notice "%s: %s" % [topic, msg]
53
+ if @window_context then
54
+
55
+ wm = WMCtrl.display
56
+ win = wm.windows.find {|x| x.active}
57
+
58
+ @sps.notice "%s: %s in %s" % [topic, msg, win.title]
59
+
60
+ else
61
+
62
+ @sps.notice "%s: %s" % [topic, msg]
63
+
64
+ end
43
65
 
44
- end
66
+ end
45
67
 
46
- protected
68
+ private
69
+
70
+ def anykey_press()
71
+
72
+ if @keypress_detection and (Time.now > @t2 + @interval) then
73
+ message 'keypress detected', nil
74
+ @t2 = Time.now
75
+ end
76
+
77
+ end
47
78
 
48
79
  def on_control_key()
49
80
  puts 'inside on_control_key' if @debug
@@ -74,6 +105,11 @@ class XInputWrapperPlus < XInputWrapper
74
105
  puts "on_mousemove() x: %s y: %s" % [x, y]
75
106
  end
76
107
 
108
+ if @motion_detection and (Time.now > @t2 + @interval) then
109
+ message 'motion detected', nil
110
+ @t2 = Time.now
111
+ end
112
+ =begin
77
113
  @timer.exit if @timer
78
114
 
79
115
  @a << [x,y]
@@ -88,7 +124,7 @@ class XInputWrapperPlus < XInputWrapper
88
124
  @a = []
89
125
 
90
126
  end
91
-
127
+ =end
92
128
 
93
129
  end
94
130
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xinput_wrapperplus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,28 +10,53 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDXjCCAkagAwIBAgIBATANBgkqhkiG9w0BAQUFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgwODA1MTQyNTE1WhcN
15
- MTkwODA1MTQyNTE1WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRaOsM
17
- SPx7uw3NaAkRf7RbFf6TeFvRsuZIH+I3mb3hGgLFNPeFS4uXdnQSnbg0RT2fZMuB
18
- J/eL88+4KAh8jaLsM+KlRCUoJi6e6kvYYHANlefmtLHUJfF862XoqHbT2C0PxU8b
19
- zj+Jsoi8Mchiu5yH2cAXh3pzD8xrkI+OOhTiS+oJjVvTJOiIEelgfRw1XrmhTNtz
20
- /k/G1RPPXnrbJ6RJFThRgXhUCen6vc5ZO3vYRmvMWwW+Lu5YI1U+J5pEY4CYuYR3
21
- yIKEETbi2Xk+lktKr2UVp1AHlb8kXvCV8SBAM2RMWnM9AWzPldrOX+nPb6E8u3fj
22
- EDdS0kfwSh2T04NVAgMBAAGjgYowgYcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
23
- HQYDVR0OBBYEFIi6Dzmms9ESGJPV0s5nAz1x6Gd6MCYGA1UdEQQfMB2BG2dlbW1h
24
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTAmBgNVHRIEHzAdgRtnZW1tYXN0ZXJAamFt
25
- ZXNyb2JlcnRzb24uZXUwDQYJKoZIhvcNAQEFBQADggEBAHiYmg7O+Kjbmg/gFetT
26
- hraHXAUwue0Cfr3FHT9R1AOwEt7SYoVojaeMzf2r9goU/e42Pe4b4BP6EqAf5xod
27
- VqBCJX5cOGDAyiViCbsjfV9S3GIwCldzSexqyB8c72vvkZJQrQSMlwKI6A1irvim
28
- 7yg7yx3Hxk4KbFzuIERk932EwcjjDqYw654DztKPpnEyFZlTZT+mZOYaFghFcJVS
29
- wUvyr4SCo2/eIt0l3NBHnjsEbYCYQ22pUgEtcBsh9bm9A+jto5Qs7ws/jGlxX9Sm
30
- SK2jOkRNlfF9rY8O76O35JOdWJTBmi/UxMmyH0ISaWkk7/5E8Q1ZElsb7WR/Nlpk
31
- DHs=
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjExMDIwMjE0NTAxWhcN
15
+ MjIxMDIwMjE0NTAxWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDToY1O
17
+ pXBMvrOeQQ+WsEh1bdzbNsZ6H00RGjnrRd5sH4w7B6NtrtWL5lqvVh82H54kUrLC
18
+ THtj0dKXeMeau/0SrWnAkmCoYvo9fkhU/HolRuQj3y4IlTQt7yVMV3Gs2T9PZBd1
19
+ 4qkjk6AMxpl32J2feUTHxEULQYbpUU+4uxzVfvc5LUmGuCuirqFSTxp/tHgLBAtJ
20
+ SH56z9Lb8pUO+YDFTocPuhAtlHVs+RkgRhcu2xubwveuJkBFPwSu40LqWOdm0Wrr
21
+ QC2RlVPTgQbi/8VLjDmtPn+Xxd/fY/yWbBvLdZ1Es2ube0SHBUKlL4zFkrZgXF7F
22
+ qHhCBavPfKRTr7FQtaYebYNe9qDI/TTGJTRMBSAGFNcJe5gCCppvz5WZdnwAtSPl
23
+ ywfKrNQP2mkgfRKj2Potx64HzwrAPPCXjhx8OPP39C8uYf3Dm8tUQhQVBGH/lS/s
24
+ nSVQEx9AIdFuyi8c7gvA9gfKcAj6LwIp3fwfze7B6fBgDWG6Ht3iW5G2KBUCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUo1hUdvyD
26
+ BLC0iRk0YjLl7MQBhTkwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEArMhKCPkUIxpPt+qIys3kaK6KwThCvLvOE6I8ZRNR
29
+ OOsmvfVxGueXwsy1v8m5IAO9RD7M+n0ZnbL3prELC61WUGAfcg+uq1QeyNubFGp1
30
+ tNAq4aYRNFISXbbls8ltN4Rc02FiD+qQWKusnJZNV9KKPPTUK80z7krnJ92IG/1X
31
+ 7dD8X2mTlYn/GaEcUdErzFdfUY6W1NhJtpduExV/zQn1cVLyawnqtYXZVNNHs0yn
32
+ fF4zMYg8zwyC3NoiBsw4ttOafbSKBIsPxdQlte4dGy6dr8PeFEj17BoezHtA4Wy4
33
+ TyZy0Mz4faHE1ZX8pePjcEfytF8tA4mY5ZSzA9at4AdItmqsXMEs+2Vq1ldHbe4i
34
+ BSsNM6FTzF8Cs7g66gOjumXRnWXhpndrJ0xgg9eDd+GT4VZd9hrp8c8XhV/G79MQ
35
+ u085o8gsCVOJC4P40gYteNm1nfOXtueJsOiLWvvwVUPNWEclrXGotC6M9oQ05tIw
36
+ WRJtwtBTRvaGT4z1I+tAttJt
32
37
  -----END CERTIFICATE-----
33
- date: 2019-05-08 00:00:00.000000000 Z
38
+ date: 2021-10-20 00:00:00.000000000 Z
34
39
  dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: ruby-wmctrl
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.0'
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 0.0.8
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '0.0'
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 0.0.8
35
60
  - !ruby/object:Gem::Dependency
36
61
  name: sps-pub
37
62
  requirement: !ruby/object:Gem::Requirement
@@ -76,24 +101,24 @@ dependencies:
76
101
  name: xinput_wrapper
77
102
  requirement: !ruby/object:Gem::Requirement
78
103
  requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: 0.6.0
82
104
  - - "~>"
83
105
  - !ruby/object:Gem::Version
84
- version: '0.6'
106
+ version: '0.8'
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 0.8.1
85
110
  type: :runtime
86
111
  prerelease: false
87
112
  version_requirements: !ruby/object:Gem::Requirement
88
113
  requirements:
89
- - - ">="
90
- - !ruby/object:Gem::Version
91
- version: 0.6.0
92
114
  - - "~>"
93
115
  - !ruby/object:Gem::Version
94
- version: '0.6'
116
+ version: '0.8'
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: 0.8.1
95
120
  description:
96
- email: james@jamesrobertson.eu
121
+ email: digital.robertson@gmail.com
97
122
  executables: []
98
123
  extensions: []
99
124
  extra_rdoc_files: []
@@ -118,7 +143,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
143
  - !ruby/object:Gem::Version
119
144
  version: '0'
120
145
  requirements: []
121
- rubygems_version: 3.0.1
146
+ rubyforge_project:
147
+ rubygems_version: 2.7.10
122
148
  signing_key:
123
149
  specification_version: 4
124
150
  summary: A wrapper for the Linux utility xinput. Publishes an SPS message whenever
metadata.gz.sig CHANGED
Binary file