win32-input_device 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in win32-device.gemspec
4
+ gemspec
5
+
6
+ gem "windows-api"
data/README.md ADDED
@@ -0,0 +1,2 @@
1
+ win32-input_device
2
+ win32 mouse and keyboard api
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
@@ -0,0 +1,391 @@
1
+ require "win32/input_device/version"
2
+ require 'windows/api'
3
+ module Windows
4
+ module InputDevice
5
+ API.auto_namespace = 'Windows::InputDevice'
6
+ API.auto_constant = true
7
+ API.auto_method = true
8
+ API.auto_unicode = false
9
+
10
+ private
11
+ API.new('keybd_event','IILL','V','user32')
12
+ API.new('mouse_event','LLLLL','V','user32')
13
+
14
+ HWND_DESKTOP = 0
15
+
16
+ #keybd_event
17
+ KEYEVENTF_EXTENDEDKEY = 1
18
+ KEYEVENTF_KEYUP = 2
19
+ #mouse_event
20
+ MOUSEEVENTF_MOVE = 1
21
+ MOUSEEVENTF_LEFTDOWN = 2
22
+ MOUSEEVENTF_LEFTUP = 4
23
+ MOUSEEVENTF_RIGHTDOWN = 8
24
+ MOUSEEVENTF_RIGHTUP = 16
25
+ MOUSEEVENTF_MIDDLEDOWN = 32
26
+ MOUSEEVENTF_MIDDLEUP = 64
27
+ MOUSEEVENTF_ABSOLUTE = 32768
28
+
29
+ WM_KEYDOWN = 256
30
+ WM_KEYUP = 257
31
+
32
+ GW_HWNDFIRST = 0
33
+ GW_HWNDLAST = 1
34
+ GW_HWNDNEXT = 2
35
+ GW_HWNDPREV = 3
36
+ GW_OWNER = 4
37
+ GW_CHILD = 5
38
+
39
+
40
+ GWL_EXSTYLE = -20
41
+ GWL_STYLE = -16
42
+ GWL_WNDPROC = -4
43
+ GWL_HINSTANCE = -6
44
+ GWL_HWNDPARENT = -8
45
+ GWL_ID = -12
46
+ GWL_USERDATA = -21
47
+
48
+
49
+ VK_CANCEL = 0x03
50
+ VK_BACK = 0x08
51
+ VK_TAB = 0x09
52
+ VK_CLEAR = 0x0c
53
+ VK_RETURN = 0x0d
54
+ VK_PAUSE = 0x13
55
+ VK_ESCAPE = 0x1b
56
+ VK_SPACE = 0x20
57
+ VK_PRIOR = 0x21
58
+ VK_NEXT = 0x22
59
+ VK_END = 0x23
60
+ VK_HOME = 0x24
61
+ VK_LEFT = 0x25
62
+ VK_UP = 0x26
63
+ VK_RIGHT = 0x27
64
+ VK_DOWN = 0x28
65
+ VK_SELECT = 0x29
66
+ VK_EXECUTE = 0x2b
67
+ VK_SNAPSHOT = 0x2c
68
+ VK_INSERT = 0x2d
69
+ VK_DELETE = 0x2e
70
+ VK_HELP = 0x2f
71
+ VK_0 = 0x30
72
+ VK_1 = 0x31
73
+ VK_2 = 0x32
74
+ VK_3 = 0x33
75
+ VK_4 = 0x34
76
+ VK_5 = 0x35
77
+ VK_6 = 0x36
78
+ VK_7 = 0x37
79
+ VK_8 = 0x38
80
+ VK_9 = 0x39
81
+ VK_A = 0x41
82
+ VK_B = 0x42
83
+ VK_C = 0x43
84
+ VK_D = 0x44
85
+ VK_E = 0x45
86
+ VK_F = 0x46
87
+ VK_G = 0x47
88
+ VK_H = 0x48
89
+ VK_I = 0x49
90
+ VK_J = 0x4a
91
+ VK_K = 0x4b
92
+ VK_L = 0x4c
93
+ VK_M = 0x4d
94
+ VK_N = 0x4e
95
+ VK_O = 0x4f
96
+ VK_P = 0x50
97
+ VK_Q = 0x51
98
+ VK_R = 0x52
99
+ VK_S = 0x53
100
+ VK_T = 0x54
101
+ VK_U = 0x55
102
+ VK_V = 0x56
103
+ VK_W = 0x57
104
+ VK_X = 0x58
105
+ VK_Y = 0x59
106
+ VK_Z = 0x5a
107
+ VK_LWIN = 0x5b
108
+ VK_RWIN = 0x5c
109
+ VK_APPS = 0x5d
110
+ VK_NUMPAD0 = 0x60
111
+ VK_NUMPAD1 = 0x61
112
+ VK_NUMPAD2 = 0x62
113
+ VK_NUMPAD3 = 0x63
114
+ VK_NUMPAD4 = 0x64
115
+ VK_NUMPAD5 = 0x65
116
+ VK_NUMPAD6 = 0x66
117
+ VK_NUMPAD7 = 0x67
118
+ VK_NUMPAD8 = 0x68
119
+ VK_NUMPAD9 = 0x69
120
+ VK_MULTIPLY = 0x6a
121
+ VK_ADD = 0x6b
122
+ VK_SEPARATOR = 0x6c
123
+ VK_SUBTRACT = 0x6d
124
+ VK_DECIMAL = 0x6e
125
+ VK_DIVIDE = 0x6f
126
+ VK_F1 = 0x70
127
+ VK_F2 = 0x71
128
+ VK_F3 = 0x72
129
+ VK_F4 = 0x73
130
+ VK_F5 = 0x74
131
+ VK_F6 = 0x75
132
+ VK_F7 = 0x76
133
+ VK_F8 = 0x77
134
+ VK_F9 = 0x78
135
+ VK_F10 = 0x79
136
+ VK_F11 = 0x7a
137
+ VK_F12 = 0x7b
138
+ VK_F13 = 0x7c
139
+ VK_F14 = 0x7d
140
+ VK_F15 = 0x7e
141
+ VK_F16 = 0x7f
142
+ VK_F17 = 0x80
143
+ VK_F18 = 0x81
144
+ VK_F19 = 0x82
145
+ VK_F20 = 0x83
146
+ VK_F21 = 0x84
147
+ VK_F22 = 0x85
148
+ VK_F23 = 0x86
149
+ VK_F24 = 0x87
150
+ VK_NUMLOCK = 0x90
151
+ VK_SCROLL = 0x91
152
+ VK_OEM_EQU = 0x92
153
+ VK_LSHIFT = 0xa0
154
+ VK_RSHIFT = 0xa1
155
+ VK_LCONTROL = 0xa2
156
+ VK_RCONTROL = 0xa3
157
+ VK_LMENU = 0xa4
158
+ VK_RMENU = 0xa5
159
+ VK_OEM_1 = 0xba
160
+ VK_OEM_PLUS = 0xbb
161
+ VK_OEM_COMMA = 0xbc
162
+ VK_OEM_MINUS = 0xbd
163
+ VK_OEM_PERIOD = 0xbe
164
+ VK_OEM_2 = 0xbf
165
+ VK_OEM_3 = 0xc0
166
+ VK_OEM_4 = 0xdb
167
+ VK_OEM_5 = 0xdc
168
+ VK_OEM_6 = 0xdd
169
+ VK_OEM_7 = 0xde
170
+ VK_OEM_8 = 0xdf
171
+ VK_ATTN = 0xf6
172
+ VK_CRSEL = 0xf7
173
+ VK_EXSEL = 0xf8
174
+ VK_EREOF = 0xf9
175
+ VK_PLAY = 0xfa
176
+ VK_ZOOM = 0xfb
177
+ VK_NONAME = 0xfc
178
+ VK_PA1 = 0xfd
179
+ VK_EM_CLEAR = 0xfe
180
+
181
+
182
+ VKOPT_NIL = 0
183
+ VKOPT_SHIFT = 1 # +
184
+ VKOPT_CTRL = 2 # ^
185
+ VKOPT_ALT = 4 # %
186
+ VKey = {
187
+ ' ' => [VK_SPACE, VKOPT_NIL],
188
+ 'A' => [VK_A, VKOPT_SHIFT],
189
+ 'B' => [VK_B, VKOPT_SHIFT],
190
+ 'C' => [VK_C, VKOPT_SHIFT],
191
+ 'D' => [VK_D, VKOPT_SHIFT],
192
+ 'E' => [VK_E, VKOPT_SHIFT],
193
+ 'F' => [VK_F, VKOPT_SHIFT],
194
+ 'G' => [VK_G, VKOPT_SHIFT],
195
+ 'H' => [VK_H, VKOPT_SHIFT],
196
+ 'I' => [VK_I, VKOPT_SHIFT],
197
+ 'J' => [VK_J, VKOPT_SHIFT],
198
+ 'K' => [VK_K, VKOPT_SHIFT],
199
+ 'L' => [VK_L, VKOPT_SHIFT],
200
+ 'M' => [VK_M, VKOPT_SHIFT],
201
+ 'N' => [VK_N, VKOPT_SHIFT],
202
+ 'O' => [VK_O, VKOPT_SHIFT],
203
+ 'P' => [VK_P, VKOPT_SHIFT],
204
+ 'Q' => [VK_Q, VKOPT_SHIFT],
205
+ 'R' => [VK_R, VKOPT_SHIFT],
206
+ 'S' => [VK_S, VKOPT_SHIFT],
207
+ 'T' => [VK_T, VKOPT_SHIFT],
208
+ 'U' => [VK_U, VKOPT_SHIFT],
209
+ 'V' => [VK_V, VKOPT_SHIFT],
210
+ 'W' => [VK_W, VKOPT_SHIFT],
211
+ 'X' => [VK_X, VKOPT_SHIFT],
212
+ 'Y' => [VK_Y, VKOPT_SHIFT],
213
+ 'Z' => [VK_Z, VKOPT_SHIFT],
214
+ '!' => [VK_1, VKOPT_SHIFT],
215
+ '"' => [VK_2, VKOPT_SHIFT],
216
+ '#' => [VK_3, VKOPT_SHIFT],
217
+ '$' => [VK_4, VKOPT_SHIFT],
218
+ '&' => [VK_6, VKOPT_SHIFT],
219
+ '\'' => [VK_7, VKOPT_SHIFT],
220
+ '-' => [VK_OEM_MINUS, VKOPT_NIL],
221
+ '=' => [VK_OEM_MINUS, VKOPT_SHIFT],
222
+ '~' => [VK_OEM_7, VKOPT_SHIFT],
223
+ ?\ => [VK_OEM_5, VKOPT_NIL],
224
+ '|' => [VK_OEM_5, VKOPT_SHIFT],
225
+ '@' => [VK_OEM_3, VKOPT_NIL],
226
+ '`' => [VK_OEM_3, VKOPT_SHIFT],
227
+ '[' => [VK_OEM_4, VKOPT_NIL],
228
+ ';' => [VK_OEM_PLUS, VKOPT_NIL],
229
+ ':' => [VK_OEM_1, VKOPT_NIL],
230
+ '*' => [VK_OEM_1, VKOPT_SHIFT],
231
+ ']' => [VK_OEM_6, VKOPT_NIL],
232
+ }
233
+ VKeyName = {
234
+ 'CANCEL' => [VK_CANCEL, VKOPT_NIL],
235
+ 'BACK' => [VK_BACK, VKOPT_NIL],
236
+ 'TAB' => [VK_TAB, VKOPT_NIL],
237
+ 'CLEAR' => [VK_CLEAR, VKOPT_NIL],
238
+ 'RETURN' => [VK_RETURN, VKOPT_NIL],
239
+ 'PAUSE' => [VK_PAUSE, VKOPT_NIL],
240
+ 'ESCAPE' => [VK_ESCAPE, VKOPT_NIL],
241
+ 'SPACE' => [VK_SPACE, VKOPT_NIL],
242
+ 'PRIOR' => [VK_PRIOR, VKOPT_NIL],
243
+ 'NEXT' => [VK_NEXT, VKOPT_NIL],
244
+ 'END' => [VK_END, VKOPT_NIL],
245
+ 'HOME' => [VK_HOME, VKOPT_NIL],
246
+ 'LEFT' => [VK_LEFT, VKOPT_NIL],
247
+ 'UP' => [VK_UP, VKOPT_NIL],
248
+ 'RIGHT' => [VK_RIGHT, VKOPT_NIL],
249
+ 'DOWN' => [VK_DOWN, VKOPT_NIL],
250
+ 'SELECT' => [VK_SELECT, VKOPT_NIL],
251
+ 'EXECUTE' => [VK_EXECUTE, VKOPT_NIL],
252
+ 'SNAPSHOT' => [VK_SNAPSHOT, VKOPT_NIL],
253
+ 'INSERT' => [VK_INSERT, VKOPT_NIL],
254
+ 'DELETE' => [VK_DELETE, VKOPT_NIL],
255
+ 'HELP' => [VK_HELP, VKOPT_NIL],
256
+ '0' => [VK_0, VKOPT_NIL],
257
+ '1' => [VK_1, VKOPT_NIL],
258
+ '2' => [VK_2, VKOPT_NIL],
259
+ '3' => [VK_3, VKOPT_NIL],
260
+ '4' => [VK_4, VKOPT_NIL],
261
+ '5' => [VK_5, VKOPT_NIL],
262
+ '6' => [VK_6, VKOPT_NIL],
263
+ '7' => [VK_7, VKOPT_NIL],
264
+ '8' => [VK_8, VKOPT_NIL],
265
+ '9' => [VK_9, VKOPT_NIL],
266
+ 'a' => [VK_A, VKOPT_NIL],
267
+ 'b' => [VK_B, VKOPT_NIL],
268
+ 'c' => [VK_C, VKOPT_NIL],
269
+ 'd' => [VK_D, VKOPT_NIL],
270
+ 'e' => [VK_E, VKOPT_NIL],
271
+ 'f' => [VK_F, VKOPT_NIL],
272
+ 'g' => [VK_G, VKOPT_NIL],
273
+ 'h' => [VK_H, VKOPT_NIL],
274
+ 'i' => [VK_I, VKOPT_NIL],
275
+ 'j' => [VK_J, VKOPT_NIL],
276
+ 'k' => [VK_K, VKOPT_NIL],
277
+ 'l' => [VK_L, VKOPT_NIL],
278
+ 'm' => [VK_M, VKOPT_NIL],
279
+ 'n' => [VK_N, VKOPT_NIL],
280
+ 'o' => [VK_O, VKOPT_NIL],
281
+ 'p' => [VK_P, VKOPT_NIL],
282
+ 'q' => [VK_Q, VKOPT_NIL],
283
+ 'r' => [VK_R, VKOPT_NIL],
284
+ 's' => [VK_S, VKOPT_NIL],
285
+ 't' => [VK_T, VKOPT_NIL],
286
+ 'u' => [VK_U, VKOPT_NIL],
287
+ 'v' => [VK_V, VKOPT_NIL],
288
+ 'w' => [VK_W, VKOPT_NIL],
289
+ 'x' => [VK_X, VKOPT_NIL],
290
+ 'y' => [VK_Y, VKOPT_NIL],
291
+ 'z' => [VK_Z, VKOPT_NIL],
292
+ 'LWIN' => [VK_LWIN, VKOPT_NIL],
293
+ 'RWIN' => [VK_RWIN, VKOPT_NIL],
294
+ 'APPS' => [VK_APPS, VKOPT_NIL],
295
+ 'NUMPAD0' => [VK_NUMPAD0, VKOPT_NIL],
296
+ 'NUMPAD1' => [VK_NUMPAD1, VKOPT_NIL],
297
+ 'NUMPAD2' => [VK_NUMPAD2, VKOPT_NIL],
298
+ 'NUMPAD3' => [VK_NUMPAD3, VKOPT_NIL],
299
+ 'NUMPAD4' => [VK_NUMPAD4, VKOPT_NIL],
300
+ 'NUMPAD5' => [VK_NUMPAD5, VKOPT_NIL],
301
+ 'NUMPAD6' => [VK_NUMPAD6, VKOPT_NIL],
302
+ 'NUMPAD7' => [VK_NUMPAD7, VKOPT_NIL],
303
+ 'NUMPAD8' => [VK_NUMPAD8, VKOPT_NIL],
304
+ 'NUMPAD9' => [VK_NUMPAD9, VKOPT_NIL],
305
+ 'MULTIPLY' => [VK_MULTIPLY, VKOPT_NIL],
306
+ 'ADD' => [VK_ADD, VKOPT_NIL],
307
+ 'SEPARATOR' => [VK_SEPARATOR, VKOPT_NIL],
308
+ 'SUBTRACT' => [VK_SUBTRACT, VKOPT_NIL],
309
+ 'DECIMAL' => [VK_DECIMAL, VKOPT_NIL],
310
+ 'DIVIDE' => [VK_DIVIDE, VKOPT_NIL],
311
+ 'F1' => [VK_F1, VKOPT_NIL],
312
+ 'F2' => [VK_F2, VKOPT_NIL],
313
+ 'F3' => [VK_F3, VKOPT_NIL],
314
+ 'F4' => [VK_F4, VKOPT_NIL],
315
+ 'F5' => [VK_F5, VKOPT_NIL],
316
+ 'F6' => [VK_F6, VKOPT_NIL],
317
+ 'F7' => [VK_F7, VKOPT_NIL],
318
+ 'F8' => [VK_F8, VKOPT_NIL],
319
+ 'F9' => [VK_F9, VKOPT_NIL],
320
+ 'F10' => [VK_F10, VKOPT_NIL],
321
+ 'F11' => [VK_F11, VKOPT_NIL],
322
+ 'F12' => [VK_F12, VKOPT_NIL],
323
+ 'F13' => [VK_F13, VKOPT_NIL],
324
+ 'F14' => [VK_F14, VKOPT_NIL],
325
+ 'F15' => [VK_F15, VKOPT_NIL],
326
+ 'F16' => [VK_F16, VKOPT_NIL],
327
+ 'F17' => [VK_F17, VKOPT_NIL],
328
+ 'F18' => [VK_F18, VKOPT_NIL],
329
+ 'F19' => [VK_F19, VKOPT_NIL],
330
+ 'F20' => [VK_F20, VKOPT_NIL],
331
+ 'F21' => [VK_F21, VKOPT_NIL],
332
+ 'F22' => [VK_F22, VKOPT_NIL],
333
+ 'F23' => [VK_F23, VKOPT_NIL],
334
+ 'F24' => [VK_F24, VKOPT_NIL],
335
+ 'NUMLOCK' => [VK_NUMLOCK, VKOPT_NIL],
336
+ 'SCROLL' => [VK_SCROLL, VKOPT_NIL],
337
+ 'OEM_EQU' => [VK_OEM_EQU, VKOPT_NIL],
338
+ 'LSHIFT' => [VK_LSHIFT, VKOPT_NIL],
339
+ 'RSHIFT' => [VK_RSHIFT, VKOPT_NIL],
340
+ 'LCONTROL' => [VK_LCONTROL, VKOPT_NIL],
341
+ 'RCONTROL' => [VK_RCONTROL, VKOPT_NIL],
342
+ 'LMENU' => [VK_LMENU, VKOPT_NIL],
343
+ 'RMENU' => [VK_RMENU, VKOPT_NIL],
344
+ 'OEM_1' => [VK_OEM_1, VKOPT_NIL],
345
+ 'OEM_PLUS' => [VK_OEM_PLUS, VKOPT_NIL],
346
+ 'OEM_COMMA' => [VK_OEM_COMMA, VKOPT_NIL],
347
+ 'OEM_MINUS' => [VK_OEM_MINUS, VKOPT_NIL],
348
+ 'OEM_PERIOD' => [VK_OEM_PERIOD, VKOPT_NIL],
349
+ 'OEM_2' => [VK_OEM_2, VKOPT_NIL],
350
+ 'OEM_3' => [VK_OEM_3, VKOPT_NIL],
351
+ 'OEM_4' => [VK_OEM_4, VKOPT_NIL],
352
+ 'OEM_5' => [VK_OEM_5, VKOPT_NIL],
353
+ 'OEM_6' => [VK_OEM_6, VKOPT_NIL],
354
+ 'OEM_7' => [VK_OEM_7, VKOPT_NIL],
355
+ 'OEM_8' => [VK_OEM_8, VKOPT_NIL],
356
+ 'ATTN' => [VK_ATTN, VKOPT_NIL],
357
+ 'CRSEL' => [VK_CRSEL, VKOPT_NIL],
358
+ 'EXSEL' => [VK_EXSEL, VKOPT_NIL],
359
+ 'EREOF' => [VK_EREOF, VKOPT_NIL],
360
+ 'PLAY' => [VK_PLAY, VKOPT_NIL],
361
+ 'ZOOM' => [VK_ZOOM, VKOPT_NIL],
362
+ 'NONAME' => [VK_NONAME, VKOPT_NIL],
363
+ 'PA1' => [VK_PA1, VKOPT_NIL],
364
+ 'EM_CLEAR' => [VK_EM_CLEAR, VKOPT_NIL],
365
+ #aliases
366
+ 'BREAK' => [VK_CANCEL, VKOPT_NIL],
367
+ 'BKSP' => [VK_BACK, VKOPT_NIL],
368
+ 'BACKSPACE' => [VK_BACK, VKOPT_NIL],
369
+ 'BS' => [VK_BACK, VKOPT_NIL],
370
+ 'ESC' => [VK_ESCAPE, VKOPT_NIL],
371
+ 'ENTER' => [VK_RETURN, VKOPT_NIL],
372
+ 'PRTSCR' => [VK_SNAPSHOT, VKOPT_NIL],
373
+ 'PGDN' => [VK_NEXT, VKOPT_NIL],
374
+ 'PGUP' => [VK_PRIOR, VKOPT_NIL],
375
+ }
376
+ end
377
+ end
378
+
379
+
380
+ module Win32
381
+ class InputDevice
382
+ extend Windows::InputDevice
383
+ def self.keybd( key_code, scan_code=0, flag=0, extra_info=0 )
384
+ keybd_event(key_code,scan_code,flag,extra_info)
385
+ end
386
+
387
+ def self.mouse(flags, x=0, y=0, data = 0, extrainfo = 0)
388
+ mouse_event(flags, x, y, data, extrainfo)
389
+ end
390
+ end
391
+ end
@@ -0,0 +1,5 @@
1
+ module Win32
2
+ class InputDevice
3
+ VERSION = "0.0.1"
4
+ end
5
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe Win32::InputDevice do
4
+ it 'keybd_event should no exception' do
5
+ sleep 5
6
+ Win32::InputDevice.keybd(0x31, 0, 0, 0 )
7
+ sleep 0.2
8
+ Win32::InputDevice.keybd(0x31, 0, 2, 0 )
9
+ end
10
+
11
+ it 'mouse_event should move' do
12
+ sleep 2
13
+ Win32::InputDevice.mouse(Windows::InputDevice::MOUSEEVENTF_MOVE, 0,0)
14
+ end
15
+ end
@@ -0,0 +1,4 @@
1
+ $LOAD_PATH.unshift File.join(__FILE__,'..','..','lib')
2
+
3
+ require 'rubygems'
4
+ require 'win32/input_device'
@@ -0,0 +1,17 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "win32/input_device/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "win32-input_device"
7
+ s.version = Win32::InputDevice::VERSION
8
+ s.authors = ["yafei LI"]
9
+ s.email = ["lyfi2003@gmail.com"]
10
+ s.homepage = "https://github.com/windy/win32-input_device"
11
+ s.summary = %q{ win32 mouse and keyboard api}
12
+ s.description = %q{win32 mouse and keyboard api}
13
+ s.files = `git ls-files`.split("\n")
14
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
15
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
16
+ s.require_paths = ["lib"]
17
+ end
metadata ADDED
@@ -0,0 +1,74 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: win32-input_device
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
10
+ platform: ruby
11
+ authors:
12
+ - yafei LI
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2012-01-30 00:00:00 +08:00
18
+ default_executable:
19
+ dependencies: []
20
+
21
+ description: win32 mouse and keyboard api
22
+ email:
23
+ - lyfi2003@gmail.com
24
+ executables: []
25
+
26
+ extensions: []
27
+
28
+ extra_rdoc_files: []
29
+
30
+ files:
31
+ - .gitignore
32
+ - Gemfile
33
+ - README.md
34
+ - Rakefile
35
+ - lib/win32/input_device.rb
36
+ - lib/win32/input_device/version.rb
37
+ - spec/keyboard_spec.rb
38
+ - spec/spec_helper.rb
39
+ - win32-input_device.gemspec
40
+ has_rdoc: true
41
+ homepage: https://github.com/windy/win32-input_device
42
+ licenses: []
43
+
44
+ post_install_message:
45
+ rdoc_options: []
46
+
47
+ require_paths:
48
+ - lib
49
+ required_ruby_version: !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ segments:
55
+ - 0
56
+ version: "0"
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ requirements: []
66
+
67
+ rubyforge_project:
68
+ rubygems_version: 1.3.7
69
+ signing_key:
70
+ specification_version: 3
71
+ summary: win32 mouse and keyboard api
72
+ test_files:
73
+ - spec/keyboard_spec.rb
74
+ - spec/spec_helper.rb