xkeyrap 0.0.12 → 0.0.13

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: 5166ef8f9f2b8c64a5a4e5642f0eba0cde66cac757d735d1c68b6b13c3edcc87
4
- data.tar.gz: f20626547c836198596d8d3cd2f046f249c62a8f6fe1f645440bc83c82f6e65b
3
+ metadata.gz: 6a082bb831d0d39af8b6a6e78636430ad7bf1df0b1cb848f835279fb023c87ff
4
+ data.tar.gz: e4bd4c79fbf57333626e4c1b744894626cc5b9f98927e1cd26c256ba7fe0f071
5
5
  SHA512:
6
- metadata.gz: 554f1143b2ddd626f4ad3aab2aeed619b175899c9133ab139363303257be66014469427a3ef761c7c1ae2c7056cc40e04097fd02c094237e537659223001878b
7
- data.tar.gz: a40e3b718a36dc73f9cf9d7f46ef2717e617229246423f7e01f2636b83dd45f082b4a48f08d42bc4107daf854c60e59cb753e6ab1f76c25bf6c77d034d70bff4
6
+ metadata.gz: 87d9e8bcabd2f6cd81fdd91221acb889865e9dae2036384f611b2834bdd2defc6856c32eeca06e6e911ef69cf2352c3d61b6ef70c7f96e7955c358b9bc7d0848
7
+ data.tar.gz: '098439ecb8daf6fb51e9ee13d8a58d45d6b430cfa4320dc46748214f0921c69346b0d05e82e4b6091a415808001ad8b5e0bb7c4ba268b74e6430789a4f962a9c'
@@ -29,21 +29,44 @@ module Xkeyrap
29
29
  end
30
30
 
31
31
  def receive(state, key, wm_class_name = "global")
32
- if Key.is_modifier_key?(key) && state == 1
33
- self.modifier_key = key # and do nothing to output
32
+ if Key.is_modifier_key?(key)
33
+ if state == 1 || state == 2
34
+ self.modifier_key = key # and do nothing to output
35
+ else # state = 0
36
+ self.modifier_key = nil
37
+ end
34
38
  else
35
39
  if self.modifier_key
36
- output_event(self.modifier_key, 1)
37
- output_event(key, state)
38
- output_event(self.modifier_key, 0)
39
- self.modifier_key = nil
40
+ transport(self.modifier_key, key, wm_class_name)
40
41
  else
41
- output_event(key, state)
42
+ output_event(key, state, wm_class_name)
42
43
  end
43
44
  end
44
45
  end
45
46
 
46
- def output_event(key, state)
47
+ def transport(modifier_key, key, wm_class_name)
48
+ if wm_class_name == "Google-chrome"
49
+ if modifier_key == :KEY_LEFTMETA && key == :KEY_A
50
+ puts "win+a"
51
+ output_event(:KEY_HOME, 1, wm_class_name)
52
+ end
53
+ if modifier_key == :KEY_LEFTMETA && key == :KEY_E
54
+ puts "win+e"
55
+ output_event(:KEY_END, 1, wm_class_name)
56
+ end
57
+ else
58
+ output_combine(modifier_key, key)
59
+ end
60
+ end
61
+
62
+ def output_combine(modifier_key, key)
63
+ output_event(self.modifier_key, 1)
64
+ output_event(key, state)
65
+ output_event(self.modifier_key, 0)
66
+ self.modifier_key = nil
67
+ end
68
+
69
+ def output_event(key, state, wm_class_name)
47
70
  sub_json = self.config[wm_class_name.to_sym] || self.config[:global]
48
71
  mapped_key = sub_json[key] || self.config[:global][key] || key
49
72
  puts "#{wm_class_name} | #{state} | origin: #{key} | mapped: #{mapped_key}"
data/lib/xkeyrap/key.rb CHANGED
@@ -80,9 +80,7 @@ module Xkeyrap
80
80
  ]
81
81
 
82
82
  MODIFIER_KEYS = [
83
- :KEY_ESC,
84
- :KEY_LEFTSHIFT,
85
- :KEY_RIGHTSHIFT,
83
+ :KEY_ESC,
86
84
  :KEY_RIGHTALT,
87
85
  :KEY_LEFTALT,
88
86
  :KEY_SPACE,
@@ -108,7 +106,9 @@ module Xkeyrap
108
106
  :KEY_F12,
109
107
  :KEY_MUTE,
110
108
  :KEY_VOLUMEDOWN,
111
- :KEY_VOLUMEUP
109
+ :KEY_VOLUMEUP,
110
+ :KEY_LEFTSHIFT,
111
+ :KEY_RIGHTSHIFT
112
112
  ]
113
113
 
114
114
  ALL_KEYS = NUMBER_KEYS + MISC_KEYS + LETTER_KEYS + MODIFIER_KEYS + FUNCTION_KEYS
@@ -1,3 +1,3 @@
1
1
  module Xkeyrap
2
- VERSION = "0.0.12"
2
+ VERSION = "0.0.13"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xkeyrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - teddy