xinput_wrapper 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/xinput_wrapper.rb +63 -26
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8bff9abfb50413d2ef185c472020cd348c53da5512b1f12d92ffbce10b491d2c
|
4
|
+
data.tar.gz: 4066ac4f9896ee680bff3a583bc1caf855c5bb17a43e40ff80aeaa4a9c01f263
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8cd2b9b6c92418ed1d517d5f201b7e34e8ac7146ba8857d17b94638f4dd05eb626d8c75b1bd7afcc31ca475e7935302db2cb4015a75049a02fc843f3f278a9f
|
7
|
+
data.tar.gz: ce4b85f5cab6c0f613d0530c630ce227e15df0432e018b1aae15071484e7c72ef79708a21a771db7f5d50d2770aff051b4778f1d9ea9f4edfabdc4b927431459
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/xinput_wrapper.rb
CHANGED
@@ -31,10 +31,14 @@ class XInputWrapper
|
|
31
31
|
# 10 = USB Optical Mouse (locally attached)
|
32
32
|
# 11 = Microsoft Wired Keyboard 600 (locally attached)
|
33
33
|
#
|
34
|
+
|
35
|
+
# keys - add the keys you want to be captured. If empty then
|
36
|
+
# all keys are captured.
|
37
|
+
|
34
38
|
def initialize(device: nil, verbose: true, lookup: {}, debug: false,
|
35
|
-
callback: nil )
|
39
|
+
callback: nil, keys: [] )
|
36
40
|
|
37
|
-
@callback = callback
|
41
|
+
@callback, @keys = callback, keys
|
38
42
|
|
39
43
|
# defaults to QWERTY keyboard layout
|
40
44
|
@modifiers = {
|
@@ -100,6 +104,7 @@ class XInputWrapper
|
|
100
104
|
}.merge(@modifiers).merge(lookup)
|
101
105
|
|
102
106
|
@device, @verbose, @debug = device, verbose, debug
|
107
|
+
@mouse_pos = [0, 0]
|
103
108
|
|
104
109
|
end
|
105
110
|
|
@@ -202,7 +207,8 @@ class XInputWrapper
|
|
202
207
|
# type = 13 means a key has been pressed
|
203
208
|
if type == RAWKEY_PRESS then
|
204
209
|
|
205
|
-
if @modifiers.include? raw_keys.last or
|
210
|
+
if @modifiers.include? raw_keys.last or \
|
211
|
+
@modifiers.include? keycode then
|
206
212
|
raw_keys << keycode
|
207
213
|
end
|
208
214
|
|
@@ -224,10 +230,28 @@ class XInputWrapper
|
|
224
230
|
|
225
231
|
puts key.to_s + ' key presssed' if @verbose
|
226
232
|
name = "on_#{key}_key".to_sym
|
227
|
-
|
233
|
+
puts 'name: ' + name.inspect if @debug
|
234
|
+
|
235
|
+
if private_methods.include? name and (@keys.empty? or \
|
236
|
+
@keys.include? key.to_sym) then
|
237
|
+
puts 'before method' if @debug
|
238
|
+
method(name).call
|
239
|
+
end
|
228
240
|
|
229
241
|
keystring = ((key.length > 1 or key == ' ') ? "{%s}" % key : key)
|
230
|
-
|
242
|
+
|
243
|
+
if block_given? then
|
244
|
+
|
245
|
+
yield(keystring)
|
246
|
+
|
247
|
+
else
|
248
|
+
|
249
|
+
if @keys.empty? or @keys.include? key.to_sym then
|
250
|
+
on_key_press(keystring, keycode)
|
251
|
+
end
|
252
|
+
|
253
|
+
end
|
254
|
+
|
231
255
|
@callback.on_keypress(keystring, keycode) if @callback
|
232
256
|
|
233
257
|
end
|
@@ -240,9 +264,13 @@ class XInputWrapper
|
|
240
264
|
if block_given? then
|
241
265
|
yield(format_key(keys.last, keys[0..-2]))
|
242
266
|
else
|
243
|
-
|
244
|
-
@
|
267
|
+
|
268
|
+
if @keys.empty? or (!@keys.empty? and \
|
269
|
+
@keys.include? keys.last) then
|
270
|
+
on_key_press(keys.last, keycode, keys[0..-2])
|
271
|
+
end
|
245
272
|
end
|
273
|
+
@callback.on_keypress(keys.last, keycode, keys[0..-2]) if @callback
|
246
274
|
|
247
275
|
raw_keys = []
|
248
276
|
|
@@ -266,8 +294,14 @@ class XInputWrapper
|
|
266
294
|
yield(format_key(key.to_s))
|
267
295
|
|
268
296
|
else
|
269
|
-
name = "on_#{key}_key".to_sym
|
270
|
-
method
|
297
|
+
name = "on_#{key.to_s}_key".to_sym
|
298
|
+
puts 'calling method' if @debug
|
299
|
+
|
300
|
+
if private_methods.include? name and (@keys.empty? or \
|
301
|
+
@keys.include? key.to_sym) then
|
302
|
+
method(name).call #if self.methods.include? name
|
303
|
+
end
|
304
|
+
|
271
305
|
on_key_press(key, keycode)
|
272
306
|
@callback.on_keypress(key, keycode) if @callback
|
273
307
|
end
|
@@ -302,10 +336,14 @@ class XInputWrapper
|
|
302
336
|
end
|
303
337
|
end
|
304
338
|
|
305
|
-
|
339
|
+
private
|
340
|
+
|
341
|
+
def message(s)
|
342
|
+
puts 'msg: ' + s
|
343
|
+
end
|
306
344
|
|
307
|
-
def
|
308
|
-
|
345
|
+
def on_ctrl_key()
|
346
|
+
message 'ctrl key pressed'
|
309
347
|
end
|
310
348
|
|
311
349
|
def on_key_press(key, keycode, modifier=nil)
|
@@ -360,20 +398,18 @@ class XInputWrapper
|
|
360
398
|
def on_shift_key() end
|
361
399
|
def on_super_key() end
|
362
400
|
|
363
|
-
def on_f1_key()
|
364
|
-
def on_f2_key()
|
365
|
-
def on_f3_key()
|
366
|
-
def on_f4_key()
|
367
|
-
def on_f5_key()
|
368
|
-
def on_f6_key()
|
369
|
-
def on_f7_key()
|
370
|
-
def on_f8_key()
|
371
|
-
def on_f9_key()
|
372
|
-
def on_f10_key()
|
373
|
-
def on_f11_key()
|
374
|
-
def on_f12_key()
|
375
|
-
|
376
|
-
private
|
401
|
+
def on_f1_key() message 'f1' end
|
402
|
+
def on_f2_key() message 'f2' end
|
403
|
+
def on_f3_key() message 'f3' end
|
404
|
+
def on_f4_key() message 'f4' end
|
405
|
+
def on_f5_key() message 'f5' end
|
406
|
+
def on_f6_key() message 'f6' end
|
407
|
+
def on_f7_key() message 'f7' end
|
408
|
+
def on_f8_key() message 'f8' end
|
409
|
+
def on_f9_key() message 'f9' end
|
410
|
+
def on_f10_key() message 'f10' end
|
411
|
+
def on_f11_key() message 'f11' end
|
412
|
+
def on_f12_key() message 'f12' end
|
377
413
|
|
378
414
|
def format_key(key, modifier=[])
|
379
415
|
|
@@ -382,6 +418,7 @@ class XInputWrapper
|
|
382
418
|
|
383
419
|
end
|
384
420
|
|
421
|
+
def on_alt_key() message 'alt' end
|
385
422
|
def on_leftcontrol_key() on_control_key() end
|
386
423
|
def on_rightcontrol_key() on_control_key() end
|
387
424
|
def on_left_alt_key() on_alt_key() end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xinput_wrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
B//EUqLB2VKtMmcrYMc2FfbLwllNLY4TRq+/lgVLoDb7oLHsiggYSLZS6lPBIQj/
|
36
36
|
YnYsDKwN5siDA79sB0fqq2ml
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date: 2020-08-
|
38
|
+
date: 2020-08-25 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: c32
|
metadata.gz.sig
CHANGED
Binary file
|