twitch_plays 1.1.0 → 1.2.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
  SHA1:
3
- metadata.gz: 7f5eff287aae3d3f6221c28b55737e048175a81c
4
- data.tar.gz: 599ed21f42926111ac564d491bb9ebbab2a781f5
3
+ metadata.gz: a72f64b05fbae46266299815ff2e34d699498cf2
4
+ data.tar.gz: 7985cd2648c0f6fa7dae75afd588159b9229ec42
5
5
  SHA512:
6
- metadata.gz: 8db97deb045cbe09dc0e1eecea0b0747034d1c0eec1f2d86b505d86a91649454b25a12a24e2ddd4c1875bbffc9cbe168b35c01faf510b1ab24cce1ae6c24b0f8
7
- data.tar.gz: 80e19829f0c751bb97d2094cbc1fae45c8df52fbbaf4cfff29f2f9a1976dc69792f96ce01fc6129a36a98c21b89f6a5670afbffa1fd13aa108f7fa5e1aaa2cd2
6
+ metadata.gz: a7ffc367b16600ffbd85787c81a8eca02ed8e210ff53f6a3de8a629045dc4ee7487e6dd5f881646c360e032d69770b82eb6a94dcf9b6a88059f1add7fd626793
7
+ data.tar.gz: a9b9402a998c642a73457600f4e534237c6c7385199e18bf410a64cff7557926c5ea437faaed6a94177e89b8b8ef678ce6f12c8e472683c4c5cf1f9de41d5367
@@ -6,6 +6,14 @@ module TwitchPlays
6
6
  module User32
7
7
  extend FFI::Library
8
8
 
9
+ if FFI::Platform::ADDRESS_SIZE == 64
10
+ LONG_PTR = :int64
11
+ ULONG_PTR = :uint64
12
+ else
13
+ LONG_PTR = :long
14
+ ULONG_PTR = :ulong
15
+ end
16
+
9
17
  INPUT_MOUSE = 0x00
10
18
  INPUT_KEYBOARD = 0x01
11
19
 
@@ -39,18 +47,18 @@ module TwitchPlays
39
47
  class MouseInput < FFI::Struct
40
48
  layout(:dx, :long,
41
49
  :dy, :long,
42
- :mouse_data, :uint,
43
- :flags, :uint,
44
- :time, :uint,
45
- :extra_info, :pointer)
50
+ :mouse_data, :ulong,
51
+ :flags, :ulong,
52
+ :time, :ulong,
53
+ :extra_info, ULONG_PTR)
46
54
  end
47
55
 
48
56
  class KeyboardInput < FFI::Struct
49
57
  layout(:vk, :ushort,
50
58
  :scan, :ushort,
51
- :flags, :uint,
52
- :time, :uint,
53
- :extra_info, :pointer)
59
+ :flags, :ulong,
60
+ :time, :ulong,
61
+ :extra_info, ULONG_PTR)
54
62
  end
55
63
 
56
64
  class InputEvent < FFI::Union
@@ -59,14 +67,14 @@ module TwitchPlays
59
67
  end
60
68
 
61
69
  class Input < FFI::Struct
62
- layout(:type, :uint,
70
+ layout(:type, :ulong,
63
71
  :evt, InputEvent)
64
72
  end
65
73
 
66
74
  ffi_lib 'user32'
67
75
  ffi_convention :stdcall
68
76
 
69
- attach_function :SendInput, [:uint, :pointer, :int], :uint
77
+ attach_function :SendInput, [:uint, Input.ptr, :int], :uint
70
78
  end
71
79
 
72
80
  TRANSLATE_KEYS = {
@@ -105,7 +113,7 @@ module TwitchPlays
105
113
  evt[:flags] = 0
106
114
  evt[:time] = 0
107
115
  evt[:extra_info] = 0
108
- User32.SendInput(1, [input], User32::Input.size)
116
+ User32.SendInput(1, input, User32::Input.size)
109
117
  end
110
118
 
111
119
  def self.touch_move(dx, dy)
@@ -118,7 +126,7 @@ module TwitchPlays
118
126
  evt[:flags] = User32::MOUSEEVENTF_MOVE
119
127
  evt[:time] = 0
120
128
  evt[:extra_info] = 0
121
- User32.SendInput(1, [input], User32::Input.size)
129
+ User32.SendInput(1, input, User32::Input.size)
122
130
  end
123
131
 
124
132
  def self.touch_press
@@ -131,7 +139,7 @@ module TwitchPlays
131
139
  evt[:flags] = User32::MOUSEEVENTF_LEFTDOWN
132
140
  evt[:time] = 0
133
141
  evt[:extra_info] = 0
134
- User32.SendInput(1, [input], User32::Input.size)
142
+ User32.SendInput(1, input, User32::Input.size)
135
143
  end
136
144
 
137
145
  def self.touch_release
@@ -144,7 +152,7 @@ module TwitchPlays
144
152
  evt[:flags] = User32::MOUSEEVENTF_LEFTUP
145
153
  evt[:time] = 0
146
154
  evt[:extra_info] = 0
147
- User32.SendInput(1, [input], User32::Input.size)
155
+ User32.SendInput(1, input, User32::Input.size)
148
156
  end
149
157
  end
150
158
  end
@@ -1,9 +1,9 @@
1
1
  module TwitchPlays
2
2
  case RbConfig::CONFIG['host_os']
3
- when /win/
3
+ when /mswin|mingw|cygwin/
4
4
  require_relative 'os/win'
5
5
  Output = OS::Win
6
- when /linux/
6
+ when /linux|darwin/
7
7
  require_relative 'os/x11'
8
8
  Output = OS::X11
9
9
  end
@@ -1,3 +1,3 @@
1
1
  module TwitchPlays
2
- VERSION = '1.1.0'
2
+ VERSION = '1.2.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twitch_plays
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Steward
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-29 00:00:00.000000000 Z
11
+ date: 2014-10-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cinch
@@ -76,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
76
  version: '0'
77
77
  requirements: []
78
78
  rubyforge_project:
79
- rubygems_version: 2.3.0
79
+ rubygems_version: 2.4.2
80
80
  signing_key:
81
81
  specification_version: 4
82
82
  summary: Yet another Twitch Plays Pokemon clone.