xinput_wrapperplus 0.1.0 → 0.4.1

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
- SHA1:
3
- metadata.gz: f42a6925dce55ad8b7554b4f7614e5797c856a00
4
- data.tar.gz: ededd746e569b1fff670e990fa4c114ef25f7835
2
+ SHA256:
3
+ metadata.gz: 25ba1b759531225d0d10183d516094c1f6741d299849df50bc6bdfb50861caee
4
+ data.tar.gz: 18368ef8cb64cad32e14a1c6becccdc70a9fc81fb9c55af55b5f11a4a51146f5
5
5
  SHA512:
6
- metadata.gz: 14a0bcf5afbcd73cc4825245f33b9a0660c6fe21e988f638589cebdc1cb044f1442d234353b5eb8fe9458ef70d22d927d429f3ce3f44586e7ea5b5f2bb6202aa
7
- data.tar.gz: d9da795f974575122bdeb4df6839c78a3505c513ad373e60d44f4e773581593957cc6d4d8eae5cf666de6b03a80dddcdaeb1f5c69ba221bb96619641a7e4a733
6
+ metadata.gz: a66ea82e2e5a889f1a06a12d4e0b459416ec70434b72f2f296c875f80c55bae1ea98e2d59e61c58a6cbd6af6c95f845fb2dd1940626f9e75b6c8d3f086fb4da6
7
+ data.tar.gz: 7a7be9900ecca9af301f98b0ddbb1752b47520c375be0b62312bf38bfd1a2021b60bc82d2c28bec5e27d8dad49d36f13da0885ce5218ea594809f3b90bd4d519
Binary file
data.tar.gz.sig CHANGED
@@ -1,3 +1,7 @@
1
- |�,1pt�����Fj^�^dg��WXAI�)��j7Y9A~ .7W��
2
- C��oUb����V�6⣭�c�(���i���ZЯ�{m���a���Dt5~�����ߙL]K�`6���Q����b�� Q�0�ޣנ����c���4��$,��,7<
3
- ��rGvP?�Q�'D�� ��$
1
+ z��weU��}Ul��J>D+�;6q7��8<)x'ev$��^P_r�k��ڄ.Sץ�M�ݼ�����f�����
2
+ ־��>�x�+���Cfʛrq�Z��(����)w�6���6=�Z�
3
+ If*���̑�x�T'����wa�{Ej%6r�mK�[<aH�� u
4
+ ���V�Qު!����:���8 ���h��K�`�,'?�m�,n�l'�2
5
+ 6��+�s�-_�S ����C �M)���د5�h׃��~l���
6
+ �+��HT��[2�N�44Y �?#��r�
7
+ �MS���ct�<�"��8o������Ыx�S��r��.���'mXK�IR�-i��M0+�}��|�
@@ -10,47 +10,89 @@ require 'xinput_wrapper'
10
10
  class XInputWrapperPlus < XInputWrapper
11
11
 
12
12
  def initialize(device: '3', host: 'sps', port: '59000',
13
- topic: 'input/keyboard', verbose: true, lookup: {},
14
- debug: false)
13
+ topic: 'input', verbose: true, lookup: {},
14
+ debug: false, capture_all: false, keys: [])
15
15
 
16
16
  super(device: device, verbose: verbose, lookup: lookup,
17
- debug: debug)
18
- @topic = topic
17
+ debug: debug, keys: keys)
18
+
19
+ @topic, @capture_all = topic, capture_all
19
20
  @sps = SPSPub.new host: host, port: port
20
21
  @sk = SecretKnock.new short_delay: 0.25, long_delay: 0.5,
21
22
  external: self, verbose: verbose, debug: debug
22
23
  @sk.detect timeout: 0.7
23
- end
24
24
 
25
+ @a = [] # Used to store mouse gestures
26
+ @timer = nil
27
+
28
+ end
25
29
 
26
30
  def knock()
27
31
  puts 'knock' if @verbose
28
32
  end
29
-
30
- def message(msg)
33
+
34
+ def message(msg, subtopic=:keyboard)
31
35
 
32
36
  puts ':: ' + msg.inspect if @verbose
33
37
 
34
38
  return if msg.strip.empty?
35
39
 
36
- @sps.notice "%s: %s" % [@topic, msg]
40
+ topic = [@topic, subtopic].join('/')
41
+
42
+ @sps.notice "%s: %s" % [topic, msg]
37
43
 
38
- end
44
+ end
39
45
 
40
- protected
46
+ private
41
47
 
42
48
  def on_control_key()
43
49
  puts 'inside on_control_key' if @debug
44
50
  @sk.knock
45
51
  end
46
52
 
47
- def on_key_press(keycode)
53
+ def on_gesture(a)
54
+
55
+ puts 'inside on_gesture' if @debug
56
+ points = @a.map {|coords| coords.map {|x| x}.join(',') }.join(' ')
57
+ message points, 'motion'
58
+
59
+ end
60
+
61
+ def on_key_press(key, keycode, modifier=[])
62
+
48
63
  puts 'inside on_key_press' if @debug
64
+
65
+ message format_key(key, modifier) if @capture_all
66
+
49
67
  @sk.reset if @lookup[keycode] != :control
68
+
69
+ end
70
+
71
+ def on_mousemove(x,y)
72
+
73
+ if @debug then
74
+ puts "on_mousemove() x: %s y: %s" % [x, y]
75
+ end
76
+
77
+ @timer.exit if @timer
78
+
79
+ @a << [x,y]
80
+
81
+
82
+ @timer = Thread.new do
83
+
84
+ sleep 0.25
85
+ puts 'inside timer' if @debug
86
+
87
+ on_gesture(@a) if @a.length > 6 and @a.length < 36
88
+ @a = []
89
+
90
+ end
91
+
92
+
50
93
  end
51
94
 
52
95
  def on_super_key()
53
96
  message 'super key pressed'
54
97
  end
55
98
  end
56
-
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.1.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,27 +10,32 @@ 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
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjAwODI1MTI0NjA1WhcN
15
+ MjEwODI1MTI0NjA1WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDUcQ9Q
17
+ hWoREpFe1iiNNIh72yJEQOy7wlCjQN7hf57/0yqU1Lb37mfRdSQXEhAWJakWxPn/
18
+ VhTr9lhh7XgIIrDDMIIM0+qe0Ean+ctTQSl0kVTD0gz2yJ1Gn4S96vf69YeoLOr/
19
+ rnidQqQgMJ2yh6fmwbsXNLpBMhd2ZU0ly1ly6b6jkH4gkJLSSPakZ4cc2tbTcqsu
20
+ goh5h16uc/Mwmk/f/UCsSfuvyRM5gFTthfkXloGTBsvznN8xtnZlwmU+8Jwjp4HQ
21
+ HUfYvDtIwyCW44osWP+Av9IVNCv2OjJJgTc8EG58HW/rTLc+Nk7i7BqHAbRV9SJs
22
+ eVBLz/CUmi1yYy93vQtCwjwhOYpx+b12k2bISlNcHETzkHMdue0w1qXqdgD3kxkF
23
+ k/aLXRYaHAGK73hiJMtYjOQ6+WmzApeE+PfoZpL7HjAb0Emh+OdyjNMtPjl3sZbI
24
+ s/C5Cm+p7kDw8J3BmPFsboc4nQ51qni1z4G0xP0s3Ka4HvUrRvXsMYc08CMCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUi8p2+J9R
26
+ y5R2KBWLSfNYrFOHyfQwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAJpNOwQqItRT8dE38iQ9/J7x8fsSb9mBqKMwrqc9/
29
+ 5H8bKu49A+UDOlaS1ESvRAVKLL3mSlhxE56OUdfZsFHaoRyZkKp285l4HVgcmxJD
30
+ CrTqNIFDAMEnaG4FFwE3xcTHSCnSdxpVfgztz/KjLkwlWTumi7U3AQhlx3Yy8u4F
31
+ 5GnJ8Xnx94luWBMUlLPvIZo0gCHqomPAtd0OgGqmjsoAiZ90eYBieClDXUkHcQ9U
32
+ OZnar7W/SgfG8LGk+QYsffaVIZqzXT4vGyNBv3Yzt2Wrt7u/ZLNXgpaGS44kOBOU
33
+ C8PaoyXBQBUZNZQEYY0rKHqH/8yjKHHgueW1J2tULyk8FQEY2HVWXK/mSwE31S8n
34
+ 8rGJOGPSxtF8oNfS74KVO99PqLk4bp3vHjZp/jt07cQr2QiHyHq3hRBrA/U8WU6j
35
+ MAr0EaAbP4GPbdRnYZObrq03xJQOARWVRbH726l6usXEpiepoBKFXfqGNXX6DDt/
36
+ 2f3lRa47HGk7I26OxNboAPZQ
32
37
  -----END CERTIFICATE-----
33
- date: 2018-08-05 00:00:00.000000000 Z
38
+ date: 2020-08-25 00:00:00.000000000 Z
34
39
  dependencies:
35
40
  - !ruby/object:Gem::Dependency
36
41
  name: sps-pub
@@ -76,22 +81,22 @@ dependencies:
76
81
  name: xinput_wrapper
77
82
  requirement: !ruby/object:Gem::Requirement
78
83
  requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: '0.2'
82
84
  - - ">="
83
85
  - !ruby/object:Gem::Version
84
- version: 0.2.0
86
+ version: 0.8.0
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.8'
85
90
  type: :runtime
86
91
  prerelease: false
87
92
  version_requirements: !ruby/object:Gem::Requirement
88
93
  requirements:
89
- - - "~>"
90
- - !ruby/object:Gem::Version
91
- version: '0.2'
92
94
  - - ">="
93
95
  - !ruby/object:Gem::Version
94
- version: 0.2.0
96
+ version: 0.8.0
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '0.8'
95
100
  description:
96
101
  email: james@jamesrobertson.eu
97
102
  executables: []
@@ -118,8 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
123
  - !ruby/object:Gem::Version
119
124
  version: '0'
120
125
  requirements: []
121
- rubyforge_project:
122
- rubygems_version: 2.6.13
126
+ rubygems_version: 3.0.3
123
127
  signing_key:
124
128
  specification_version: 4
125
129
  summary: A wrapper for the Linux utility xinput. Publishes an SPS message whenever
metadata.gz.sig CHANGED
Binary file