vigilem-win32_api 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +22 -0
  3. data/lib/vigilem/win32_api/console_input_events.rb +78 -0
  4. data/lib/vigilem/win32_api/constants.rb +97 -0
  5. data/lib/vigilem/win32_api/dom/adapter.rb +59 -0
  6. data/lib/vigilem/win32_api/dom/code_values_tables.rb +136 -0
  7. data/lib/vigilem/win32_api/dom/input_record_utils.rb +259 -0
  8. data/lib/vigilem/win32_api/dom/key_values_tables.rb +123 -0
  9. data/lib/vigilem/win32_api/dom.rb +5 -0
  10. data/lib/vigilem/win32_api/eventable.rb +41 -0
  11. data/lib/vigilem/win32_api/input__record.rb +53 -0
  12. data/lib/vigilem/win32_api/input_system_handler.rb +124 -0
  13. data/lib/vigilem/win32_api/p_input__record.rb +55 -0
  14. data/lib/vigilem/win32_api/rubyized.rb +114 -0
  15. data/lib/vigilem/win32_api/types.rb +153 -0
  16. data/lib/vigilem/win32_api/utils/keyboard.rb +120 -0
  17. data/lib/vigilem/win32_api/version.rb +5 -0
  18. data/lib/vigilem/win32_api/virtual_keys/map.rb +211 -0
  19. data/lib/vigilem/win32_api/virtual_keys.rb +9 -0
  20. data/lib/vigilem/win32_api.rb +61 -0
  21. data/spec/acceptance/custom_input_system.feature +3 -0
  22. data/spec/acceptance/dom_adapter.feature +7 -0
  23. data/spec/acceptance/rubyized.feature +6 -0
  24. data/spec/acceptance/steps/custom_input_system_steps.rb +37 -0
  25. data/spec/acceptance/steps/dom_adapter_steps.rb +7 -0
  26. data/spec/acceptance/steps/rubyized_steps.rb +20 -0
  27. data/spec/attributes_and_size_test.rb +10 -0
  28. data/spec/input_helper.rb +41 -0
  29. data/spec/spec_helper.rb +28 -0
  30. data/spec/turnip_helper.rb +1 -0
  31. data/spec/vigilem/api_spec.rb +139 -0
  32. data/spec/vigilem/win32_api/console_input_events_spec.rb +67 -0
  33. data/spec/vigilem/win32_api/dom/adapter_spec.rb +164 -0
  34. data/spec/vigilem/win32_api/dom/code_values_tables_spec.rb +5 -0
  35. data/spec/vigilem/win32_api/dom/input_record_utils_spec.rb +255 -0
  36. data/spec/vigilem/win32_api/dom/key_values_tables_spec.rb +5 -0
  37. data/spec/vigilem/win32_api/eventable_spec.rb +96 -0
  38. data/spec/vigilem/win32_api/input__record_spec.rb +113 -0
  39. data/spec/vigilem/win32_api/input_system_handler_spec.rb +164 -0
  40. data/spec/vigilem/win32_api/p_input__record_spec.rb +43 -0
  41. data/spec/vigilem/win32_api/rubyized_spec.rb +134 -0
  42. data/spec/vigilem/win32_api/types_spec.rb +139 -0
  43. data/spec/vigilem/win32_api/utils/keyboard_spec.rb +126 -0
  44. data/spec/vigilem/win32_api/virtual_keys/map_spec.rb +10 -0
  45. data/spec/vigilem/win32_api/virtual_keys_spec.rb +28 -0
  46. metadata +225 -0
@@ -0,0 +1,126 @@
1
+ require 'vigilem/win32_api/utils/keyboard'
2
+
3
+ describe (KB = Vigilem::Win32API::Utils::Keyboard) do
4
+
5
+ let!(:arrows) { [KB::VK[:LEFT], KB::VK[:RIGHT], KB::VK[:UP], KB::VK[:DOWN]] }
6
+
7
+ describe described_class::ControlPadKeys do
8
+ describe '::control_pad_key?' do
9
+ it 'returns true if a control key' do
10
+ expect([KB::VK[:INSERT], KB::VK[:DELETE],
11
+ KB::VK[:PRIOR], KB::VK[:NEXT], KB::VK[:END],
12
+ KB::VK[:HOME]].all? {|vk| KB.control_pad_key?(vk) }).to be_truthy
13
+ end
14
+
15
+ it 'returns false if not a control key' do
16
+ expect(KB.control_pad_key?(1)).to be_falsey
17
+ end
18
+ end
19
+ end
20
+
21
+ describe described_class::NavigationKeys do
22
+
23
+ describe '::arrow_key?' do
24
+ it 'returns true if code is any arrow key' do
25
+ expect(arrows.all? do |vk|
26
+ KB.arrow_key?(vk)
27
+ end).to be_truthy
28
+ end
29
+
30
+ it 'returns false if code is not an arrow key' do
31
+ expect(KB.arrow_key?(1)).to be_falsey
32
+ end
33
+ end
34
+
35
+ describe '::nav_arrow_key?' do
36
+ it 'returns true if the key is nav pad arrow key' do
37
+ expect(arrows.all? do |vk|
38
+ KB.nav_arrow_key?(vk, :ENHANCED_KEY)
39
+ end).to be_truthy
40
+ end
41
+
42
+ it 'returns false if the key is not a nav pad arrow key' do
43
+ expect(KB.nav_arrow_key?(KB::VK[:UP])).to be_falsey
44
+ end
45
+ end
46
+
47
+ describe '::nav_control_pad_key?' do
48
+ it 'returns true if the key is one that is above the nav arrow pad' do
49
+ expect(KB.nav_control_pad_key?(KB::VK[:NEXT], :ENHANCED_KEY, :SOME_OTHER_KEY)).to be_truthy
50
+ end
51
+
52
+ it 'returns false if the key is one that is not above the nav arrow pad' do
53
+ expect(KB.nav_control_pad_key?(1, :ENHANCED_KEY)).to be_falsey
54
+ end
55
+ end
56
+
57
+ end
58
+
59
+ describe described_class::NumpadKeys do
60
+
61
+ describe '::numlock?' do
62
+ it 'will be true when given numlock id' do
63
+ expect(KB.numlock?(KB::VK[:NUMLOCK])).to be_truthy
64
+ end
65
+
66
+ it 'will be false when not given numlock num id' do
67
+ expect(KB.numlock?(12)).to be_falsey
68
+ end
69
+ end
70
+
71
+ describe '::numpad_return?' do
72
+ it 'will be true when given numpad return id and :ENHANCED_KEY symbol' do
73
+ expect(KB.numpad_return?(0x0D, :ENHANCED_KEY, :SOME_OTHER_KEY)).to be_truthy
74
+ end
75
+
76
+ it 'will be false when not given numlock num id' do
77
+ expect(KB.numpad_return?(0x0D)).to be_falsey
78
+ end
79
+ end
80
+
81
+ describe '::numpad_number_functions?' do
82
+
83
+ let(:numbers) { 10.times.map {|n| KB::VK[:"NUMPAD#{n}"] } }
84
+
85
+ it 'will be true when given keycode is a NUMPAD number' do
86
+ expect(numbers.all? {|n| KB::numpad_number_function?(n) }).to be_truthy
87
+ end
88
+
89
+ it 'will be false when given keycode not is a NUMPAD number' do
90
+ expect(KB.numpad_number_function?(5)).to be_falsey
91
+ end
92
+ end
93
+
94
+ describe '::numpad_arrow?' do
95
+ it 'returns true if the keycode is a numpad arrow' do
96
+ expect(arrows.all? {|vk| KB.numpad_arrow?(vk) }).to be_truthy
97
+ end
98
+
99
+ it 'returns false if the keycode is not a numpad arrow' do
100
+ expect(arrows.all? {|vk| KB.numpad_arrow?(vk, :ENHANCED_KEY) }).to be_falsey
101
+ end
102
+ end
103
+
104
+ describe '::numpad_control_pad_key?' do
105
+ it 'returns whether or not the keycode is a control key on the numpad , HOME, Page UP etc' do
106
+ expect(KB.numpad?(KB::VK[:HOME])).to be_truthy
107
+ end
108
+
109
+ it 'will return false when the keycode is not a control key on the numpad, :ENHANCED_KEY refers to the nav control pad ' do
110
+ expect(KB.numpad?(KB::VK[:HOME], :ENHANCED_KEY)).to be_falsey
111
+ end
112
+ end
113
+
114
+ describe '::numpad?' do
115
+ it 'returns true if the keycode is a numpad' do
116
+ expect(KB.numpad?(KB::VK[:HOME])).to be_truthy
117
+ end
118
+
119
+ it 'returns false if the keycode is not a numpad' do
120
+ expect(KB.numpad?(KB::VK[:A])).to be_falsey
121
+ end
122
+ end
123
+
124
+ end
125
+
126
+ end
@@ -0,0 +1,10 @@
1
+ require 'vigilem/win32_api/virtual_keys/map'
2
+
3
+ describe Vigilem::Win32API::VirtualKeys::Map do
4
+
5
+ describe '#virtual_key_name' do
6
+ it 'returns the name of the virtual_key' do
7
+ expect(described_class.virtual_keyname(65)).to eql(:VK_A)
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ require 'vigilem/win32_api/virtual_keys'
4
+
5
+ describe Vigilem::Win32API::VirtualKeys do
6
+
7
+ describe '::[]' do
8
+ it 'converts the current side to the opposite' do
9
+ expect(described_class::Map[0x10]).to eql(:VK_SHIFT)
10
+ end
11
+
12
+ it 'shorthand for Map so that VK_ prefix isn;t needed' do
13
+ expect(described_class::VK[:SHIFT]).to eql(0x10)
14
+ end
15
+ end
16
+
17
+ describe '::virtual_key' do
18
+
19
+ it 'convert Integer vk-code to vk Symbol' do
20
+ expect(described_class::Map.virtual_keyname(0x10)).to eql(:VK_SHIFT)
21
+ end
22
+
23
+ it 'short hand for Map returns without the VK prefix ' do
24
+ expect(described_class::VK.virtual_keyname(0x10)).to eql(:SHIFT)
25
+ end
26
+ end
27
+
28
+ end
metadata ADDED
@@ -0,0 +1,225 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vigilem-win32_api
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.10
5
+ platform: ruby
6
+ authors:
7
+ - jtzero
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-03-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: vigilem-dom
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: yard
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.7'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.7'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.1'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.1'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec-given
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: turnip
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: guard-rspec
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ description: Windows API Bindings and DOM converter for Vigilem
126
+ email: jtzero511@gmail
127
+ executables: []
128
+ extensions: []
129
+ extra_rdoc_files: []
130
+ files:
131
+ - LICENSE.txt
132
+ - lib/vigilem/win32_api.rb
133
+ - lib/vigilem/win32_api/console_input_events.rb
134
+ - lib/vigilem/win32_api/constants.rb
135
+ - lib/vigilem/win32_api/dom.rb
136
+ - lib/vigilem/win32_api/dom/adapter.rb
137
+ - lib/vigilem/win32_api/dom/code_values_tables.rb
138
+ - lib/vigilem/win32_api/dom/input_record_utils.rb
139
+ - lib/vigilem/win32_api/dom/key_values_tables.rb
140
+ - lib/vigilem/win32_api/eventable.rb
141
+ - lib/vigilem/win32_api/input__record.rb
142
+ - lib/vigilem/win32_api/input_system_handler.rb
143
+ - lib/vigilem/win32_api/p_input__record.rb
144
+ - lib/vigilem/win32_api/rubyized.rb
145
+ - lib/vigilem/win32_api/types.rb
146
+ - lib/vigilem/win32_api/utils/keyboard.rb
147
+ - lib/vigilem/win32_api/version.rb
148
+ - lib/vigilem/win32_api/virtual_keys.rb
149
+ - lib/vigilem/win32_api/virtual_keys/map.rb
150
+ - spec/acceptance/custom_input_system.feature
151
+ - spec/acceptance/dom_adapter.feature
152
+ - spec/acceptance/rubyized.feature
153
+ - spec/acceptance/steps/custom_input_system_steps.rb
154
+ - spec/acceptance/steps/dom_adapter_steps.rb
155
+ - spec/acceptance/steps/rubyized_steps.rb
156
+ - spec/attributes_and_size_test.rb
157
+ - spec/input_helper.rb
158
+ - spec/spec_helper.rb
159
+ - spec/turnip_helper.rb
160
+ - spec/vigilem/api_spec.rb
161
+ - spec/vigilem/win32_api/console_input_events_spec.rb
162
+ - spec/vigilem/win32_api/dom/adapter_spec.rb
163
+ - spec/vigilem/win32_api/dom/code_values_tables_spec.rb
164
+ - spec/vigilem/win32_api/dom/input_record_utils_spec.rb
165
+ - spec/vigilem/win32_api/dom/key_values_tables_spec.rb
166
+ - spec/vigilem/win32_api/eventable_spec.rb
167
+ - spec/vigilem/win32_api/input__record_spec.rb
168
+ - spec/vigilem/win32_api/input_system_handler_spec.rb
169
+ - spec/vigilem/win32_api/p_input__record_spec.rb
170
+ - spec/vigilem/win32_api/rubyized_spec.rb
171
+ - spec/vigilem/win32_api/types_spec.rb
172
+ - spec/vigilem/win32_api/utils/keyboard_spec.rb
173
+ - spec/vigilem/win32_api/virtual_keys/map_spec.rb
174
+ - spec/vigilem/win32_api/virtual_keys_spec.rb
175
+ homepage: http://rubygems.org/gems/vigilem-win_api
176
+ licenses:
177
+ - MIT
178
+ metadata: {}
179
+ post_install_message:
180
+ rdoc_options: []
181
+ require_paths:
182
+ - lib
183
+ required_ruby_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ required_rubygems_version: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ requirements: []
194
+ rubyforge_project:
195
+ rubygems_version: 2.4.6
196
+ signing_key:
197
+ specification_version: 4
198
+ summary: Windows API Bindings and DOM converter for Vigilem
199
+ test_files:
200
+ - spec/acceptance/custom_input_system.feature
201
+ - spec/acceptance/dom_adapter.feature
202
+ - spec/acceptance/rubyized.feature
203
+ - spec/acceptance/steps/custom_input_system_steps.rb
204
+ - spec/acceptance/steps/dom_adapter_steps.rb
205
+ - spec/acceptance/steps/rubyized_steps.rb
206
+ - spec/attributes_and_size_test.rb
207
+ - spec/input_helper.rb
208
+ - spec/spec_helper.rb
209
+ - spec/turnip_helper.rb
210
+ - spec/vigilem/api_spec.rb
211
+ - spec/vigilem/win32_api/console_input_events_spec.rb
212
+ - spec/vigilem/win32_api/dom/adapter_spec.rb
213
+ - spec/vigilem/win32_api/dom/code_values_tables_spec.rb
214
+ - spec/vigilem/win32_api/dom/input_record_utils_spec.rb
215
+ - spec/vigilem/win32_api/dom/key_values_tables_spec.rb
216
+ - spec/vigilem/win32_api/eventable_spec.rb
217
+ - spec/vigilem/win32_api/input__record_spec.rb
218
+ - spec/vigilem/win32_api/input_system_handler_spec.rb
219
+ - spec/vigilem/win32_api/p_input__record_spec.rb
220
+ - spec/vigilem/win32_api/rubyized_spec.rb
221
+ - spec/vigilem/win32_api/types_spec.rb
222
+ - spec/vigilem/win32_api/utils/keyboard_spec.rb
223
+ - spec/vigilem/win32_api/virtual_keys/map_spec.rb
224
+ - spec/vigilem/win32_api/virtual_keys_spec.rb
225
+ has_rdoc: