fusuma-plugin-sendkey 0.9.0 → 0.10.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: d4f7a138b1d95791f1aaaa0f2c87478a19cda797fae84a041d971c82918748e0
4
- data.tar.gz: ed5e3faf1a337514dc4143b94a197ba8fdaa6d1f6f4ff1db34f3f104c27e3b0b
3
+ metadata.gz: c879caf4905b45fb0ac0b341920ce05b46656aaa8cceac946c6d80d672ef15b0
4
+ data.tar.gz: c3342151efbd9026776a576a5a888a1928f425e4a41c90d92b21639d9b4d04d8
5
5
  SHA512:
6
- metadata.gz: 9f88aca512a3ce515737955bcf51e000e7744559e42aeb2681074ac70286cbd84353bd5d899b595a46a63fe3c704c89c912ed86f13c00dc4b34cdb873da83972
7
- data.tar.gz: e88bc67bb77ed35261d441710f9a5d409bbe3549ac0354424067822503aab833389539ee9d6ea8eaf901058b31f862b86c836fc0896b7b8228907dbb45dda3c0
6
+ metadata.gz: 941608c2566984699567bbcd75ddcd04e777f43f910c1761b5f2533a9dea288d0426b1442bbdf8bae9cfce6f884fc13da1063d714f8e997b308497275510f033
7
+ data.tar.gz: 68b49087774f96a9be5b4b892a0f7c7c88226e27ab9bc7901f34da778acce22c717bfa5b2546c45675a87bb07e9939f7946d39898c60c78ecc444725298a2b79
data/exe/fusuma-sendkey CHANGED
@@ -2,6 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'optparse'
5
+ require 'fusuma/config'
5
6
  require 'fusuma/plugin/inputs/libinput_command_input.rb'
6
7
  require_relative '../lib/fusuma/plugin/sendkey/keyboard.rb'
7
8
  require_relative '../lib/fusuma/plugin/sendkey/version.rb'
@@ -20,8 +21,13 @@ end
20
21
 
21
22
  opt.parse!(ARGV)
22
23
 
24
+ device_name = Fusuma::Config.instance.fetch_config_params(
25
+ :device_name,
26
+ Fusuma::Config::Index.new([:plugin, :executors, :sendkey_executor])
27
+ ).fetch(:device_name, nil)
28
+
23
29
  if option[:list]
24
- puts Fusuma::Plugin::Sendkey::Keyboard.new(name_pattern: nil).search_codes
30
+ puts Fusuma::Plugin::Sendkey::Keyboard.new(name_pattern: device_name).search_codes
25
31
  return
26
32
  end
27
33
 
@@ -38,5 +44,5 @@ if param.nil?
38
44
  exit 1
39
45
  end
40
46
 
41
- keyboard = Fusuma::Plugin::Sendkey::Keyboard.new
47
+ keyboard = Fusuma::Plugin::Sendkey::Keyboard.new(name_pattern: device_name)
42
48
  keyboard.valid?(param: param) && keyboard.type(param: param)
@@ -20,8 +20,10 @@ Gem::Specification.new do |spec|
20
20
  spec.bindir = "exe"
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
- spec.required_ruby_version = ">= 2.5.1" # https://packages.ubuntu.com/search?keywords=ruby&searchon=names&exact=1&suite=all&section=main
24
- # support bionic (18.04LTS) 2.5.1
23
+
24
+ spec.required_ruby_version = ">= 2.7"
25
+ # https://packages.ubuntu.com/search?keywords=ruby&searchon=names&exact=1&suite=all&section=main
26
+ # support focal (20.04LTS) 2.7
25
27
 
26
28
  spec.add_dependency "fusuma", ">= 2.0"
27
29
  spec.add_dependency "revdev"
@@ -59,7 +59,7 @@ module Fusuma
59
59
  # @return [String]
60
60
  def search_keypress(event)
61
61
  # if fusuma_virtual_keyboard exists, don't have to keep modifiers
62
- return "" if keyboard.use_virtual_keyboard?
62
+ return "" if @device_name == "fusuma_virtual_keyboard"
63
63
 
64
64
  keys = event.record.index.keys
65
65
  keypress_index = keys.find_index { |k| k.symbol == :keypress }
@@ -0,0 +1,4 @@
1
+ plugin:
2
+ executors:
3
+ sendkey_executor:
4
+ device_name: keyboard|Keyboard|KEYBOARD
@@ -24,20 +24,17 @@ module Fusuma
24
24
  KEY_RIGHTMETA
25
25
  ].freeze
26
26
 
27
- DEFAULT_NAME_PATTERN = "keyboard|Keyboard|KEYBOARD"
28
- VIRTUAL_KEYBOARD = "fusuma_virtual_keyboard" # fusuma-plugin-remap creates uinput device
29
-
30
27
  def self.find_device(name_pattern:)
31
28
  Fusuma::Device.reset
32
- Fusuma::Device.all.find { |d| d.name.match(/#{name_pattern}/) }
29
+ Fusuma::Device.all.find { |d|
30
+ next unless d.capabilities.include? "keyboard"
31
+
32
+ d.name.match(/#{name_pattern}/)
33
+ }
33
34
  end
34
35
 
35
36
  def initialize(name_pattern: nil)
36
- device = if name_pattern
37
- Keyboard.find_device(name_pattern: name_pattern)
38
- else
39
- Keyboard.find_device(name_pattern: VIRTUAL_KEYBOARD) || Keyboard.find_device(name_pattern: DEFAULT_NAME_PATTERN)
40
- end
37
+ device = Keyboard.find_device(name_pattern: name_pattern)
41
38
 
42
39
  if device.nil?
43
40
  warn "sendkey: Keyboard: /#{name_pattern}/ is not found"
@@ -45,14 +42,9 @@ module Fusuma
45
42
  end
46
43
  MultiLogger.info "sendkey: Keyboard: #{device.name}"
47
44
 
48
- @use_virtual_keyboard = device.name.match(/#{VIRTUAL_KEYBOARD}/o)
49
45
  @device = Device.new(path: "/dev/input/#{device.id}")
50
46
  end
51
47
 
52
- def use_virtual_keyboard?
53
- @use_virtual_keyboard
54
- end
55
-
56
48
  # @param param [String] key names separated by '+' to type
57
49
  # @param keep [String] key names separated by '+' to keep
58
50
  # @param clear [String, Symbol, TrueClass] key names separated by '+' to clear or :all to relase all modifiers
@@ -3,7 +3,7 @@
3
3
  module Fusuma
4
4
  module Plugin
5
5
  module Sendkey
6
- VERSION = "0.9.0"
6
+ VERSION = "0.10.0"
7
7
  end
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fusuma-plugin-sendkey
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.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-08-19 00:00:00.000000000 Z
11
+ date: 2023-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fusuma
@@ -53,6 +53,7 @@ files:
53
53
  - exe/fusuma-sendkey
54
54
  - fusuma-plugin-sendkey.gemspec
55
55
  - lib/fusuma/plugin/executors/sendkey_executor.rb
56
+ - lib/fusuma/plugin/executors/sendkey_executor.yml
56
57
  - lib/fusuma/plugin/sendkey.rb
57
58
  - lib/fusuma/plugin/sendkey/device.rb
58
59
  - lib/fusuma/plugin/sendkey/keyboard.rb
@@ -69,14 +70,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
69
70
  requirements:
70
71
  - - ">="
71
72
  - !ruby/object:Gem::Version
72
- version: 2.5.1
73
+ version: '2.7'
73
74
  required_rubygems_version: !ruby/object:Gem::Requirement
74
75
  requirements:
75
76
  - - ">="
76
77
  - !ruby/object:Gem::Version
77
78
  version: '0'
78
79
  requirements: []
79
- rubygems_version: 3.3.26
80
+ rubygems_version: 3.4.10
80
81
  signing_key:
81
82
  specification_version: 4
82
83
  summary: Fusuma plugin to send keyboard events