dxopal 1.3.0 → 1.4.2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +21 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +22 -11
- data/HACKING.md +18 -0
- data/Rakefile +30 -42
- data/TODO.md +2 -2
- data/build/dxopal.js +26126 -18430
- data/build/dxopal.min.js +1 -1
- data/config.ru +2 -2
- data/doc/api/_index.html +7 -138
- data/doc/api/class_list.html +3 -3
- data/doc/api/css/style.css +2 -2
- data/doc/api/file.README.html +6 -6
- data/doc/api/file_list.html +2 -2
- data/doc/api/frames.html +2 -2
- data/doc/api/index.html +6 -6
- data/doc/api/js/app.js +25 -3
- data/doc/api/method_list.html +2 -970
- data/doc/api/top-level-namespace.html +6 -16
- data/doc/en/index.html +3 -2
- data/doc/ja/index.html +3 -2
- data/dxopal.gemspec +2 -2
- data/exe/dxopal +13 -1
- data/{opal → lib}/dxopal.rb +1 -0
- data/{opal → lib}/dxopal/constants/colors.rb +0 -0
- data/{opal → lib}/dxopal/font.rb +5 -0
- data/{opal → lib}/dxopal/image.rb +40 -9
- data/{opal → lib}/dxopal/input.rb +55 -0
- data/{opal → lib}/dxopal/input/key_codes.rb +64 -66
- data/lib/dxopal/patches/require_dxopal.rb +30 -0
- data/{opal → lib}/dxopal/patches/require_remote.rb +0 -0
- data/{opal → lib}/dxopal/remote_resource.rb +2 -2
- data/{opal → lib}/dxopal/sound.rb +0 -0
- data/{opal → lib}/dxopal/sound_effect.rb +0 -0
- data/{opal → lib}/dxopal/sprite.rb +0 -0
- data/{opal → lib}/dxopal/sprite/collision_area.rb +0 -0
- data/{opal → lib}/dxopal/sprite/collision_check.rb +0 -0
- data/{opal → lib}/dxopal/sprite/collision_checker.rb +0 -0
- data/{opal → lib}/dxopal/sprite/physics.rb +0 -0
- data/lib/dxopal/version.rb +3 -0
- data/{opal → lib}/dxopal/window.rb +0 -0
- metadata +24 -23
- data/opal/dxopal/version.rb +0 -3
@@ -6,15 +6,15 @@
|
|
6
6
|
<title>
|
7
7
|
Top Level Namespace
|
8
8
|
|
9
|
-
— Documentation by YARD 0.9.
|
9
|
+
— Documentation by YARD 0.9.24
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
13
|
-
<link rel="stylesheet" href="css/style.css" type="text/css"
|
13
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" />
|
14
14
|
|
15
|
-
<link rel="stylesheet" href="css/common.css" type="text/css"
|
15
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" />
|
16
16
|
|
17
|
-
<script type="text/javascript"
|
17
|
+
<script type="text/javascript">
|
18
18
|
pathId = "";
|
19
19
|
relpath = '';
|
20
20
|
</script>
|
@@ -78,16 +78,6 @@
|
|
78
78
|
|
79
79
|
</div>
|
80
80
|
|
81
|
-
<h2>Defined Under Namespace</h2>
|
82
|
-
<p class="children">
|
83
|
-
|
84
|
-
|
85
|
-
<strong class="modules">Modules:</strong> <span class='object_link'><a href="DXOpal.html" title="DXOpal (module)">DXOpal</a></span>
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
</p>
|
91
81
|
|
92
82
|
|
93
83
|
|
@@ -100,9 +90,9 @@
|
|
100
90
|
</div>
|
101
91
|
|
102
92
|
<div id="footer">
|
103
|
-
Generated on Sat
|
93
|
+
Generated on Sat Jan 18 14:57:06 2020 by
|
104
94
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
105
|
-
0.9.
|
95
|
+
0.9.24 (ruby-2.5.5).
|
106
96
|
</div>
|
107
97
|
|
108
98
|
</div>
|
data/doc/en/index.html
CHANGED
@@ -49,9 +49,8 @@
|
|
49
49
|
<h3>If you have Ruby installed:</h3>
|
50
50
|
<p>
|
51
51
|
<pre><code>$ gem install dxopal
|
52
|
-
$
|
52
|
+
$ dxopal new game1
|
53
53
|
$ cd game1
|
54
|
-
$ dxopal init
|
55
54
|
$ dxopal server</code></pre>
|
56
55
|
</p>
|
57
56
|
<p>
|
@@ -61,6 +60,7 @@ $ dxopal server</code></pre>
|
|
61
60
|
Then edit main.rb and reload browser.
|
62
61
|
</p>
|
63
62
|
|
63
|
+
<!--
|
64
64
|
<h3>If you don't want to install Ruby:</h3>
|
65
65
|
<p>
|
66
66
|
If you have Git command, clone <a href='https://github.com/yhara/dxopal-starter-kit'>yhara/dxopal-starter-kit</a>.
|
@@ -72,6 +72,7 @@ $ dxopal server</code></pre>
|
|
72
72
|
<p>
|
73
73
|
Then edit main.rb and reload the browser tab.
|
74
74
|
</p>
|
75
|
+
-->
|
75
76
|
|
76
77
|
<h2>Resources</h2>
|
77
78
|
<ul>
|
data/doc/ja/index.html
CHANGED
@@ -49,9 +49,8 @@
|
|
49
49
|
<h3>Rubyがインストール済みのとき</h3>
|
50
50
|
<p>
|
51
51
|
<pre><code>$ gem install dxopal
|
52
|
-
$
|
52
|
+
$ dxopal new game1
|
53
53
|
$ cd game1
|
54
|
-
$ dxopal init
|
55
54
|
$ dxopal server</code></pre>
|
56
55
|
</p>
|
57
56
|
<p>
|
@@ -61,6 +60,7 @@ $ dxopal server</code></pre>
|
|
61
60
|
main.rbを編集してブラウザをリロードすると動くはずです。
|
62
61
|
</p>
|
63
62
|
|
63
|
+
<!--
|
64
64
|
<h3>Rubyをインストールしたくないとき</h3>
|
65
65
|
<p>
|
66
66
|
Gitコマンドが使える場合は<a href='https://github.com/yhara/dxopal-starter-kit'>yhara/dxopal-starter-kit</a>をgit cloneしてください。そうでない場合は<a href='https://github.com/yhara/dxopal-starter-kit/releases'>releases</a>から最新のzipをダウンロードして展開してください。
|
@@ -71,6 +71,7 @@ $ dxopal server</code></pre>
|
|
71
71
|
<p>
|
72
72
|
main.rbを編集してブラウザをリロードすると動くはずです。
|
73
73
|
</p>
|
74
|
+
-->
|
74
75
|
|
75
76
|
<h2>リンク</h2>
|
76
77
|
<ul>
|
data/dxopal.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require_relative '
|
4
|
+
require_relative 'lib/dxopal/version.rb'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "dxopal"
|
@@ -23,6 +23,6 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
24
24
|
spec.require_paths = ["lib"]
|
25
25
|
|
26
|
-
spec.add_runtime_dependency "thor", "~> 0.
|
26
|
+
spec.add_runtime_dependency "thor", "~> 0.20"
|
27
27
|
spec.add_runtime_dependency "rack", "~> 2.0"
|
28
28
|
end
|
data/exe/dxopal
CHANGED
@@ -2,12 +2,24 @@
|
|
2
2
|
require 'fileutils'
|
3
3
|
require 'rack'
|
4
4
|
require 'thor'
|
5
|
-
require_relative '../
|
5
|
+
require_relative '../lib/dxopal/version' # Import DXOpal::VERSION
|
6
6
|
|
7
7
|
module DXOpal
|
8
8
|
class Cli < Thor
|
9
9
|
GEM_ROOT = "#{__dir__}/../"
|
10
10
|
|
11
|
+
desc "new APP_PATH", "Create a DXOpal project"
|
12
|
+
def new(app_path)
|
13
|
+
if File.exist?(app_path)
|
14
|
+
puts "Already exists: #{app_path}"
|
15
|
+
return
|
16
|
+
end
|
17
|
+
FileUtils.mkdir_p(app_path)
|
18
|
+
Dir.chdir(app_path) do
|
19
|
+
init
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
11
23
|
desc "init", "Copy template files into this directory"
|
12
24
|
def init
|
13
25
|
FileUtils.cp("#{GEM_ROOT}/template/index.html", Dir.pwd)
|
data/{opal → lib}/dxopal.rb
RENAMED
File without changes
|
data/{opal → lib}/dxopal/font.rb
RENAMED
@@ -14,6 +14,11 @@ module DXOpal
|
|
14
14
|
def size; @size; end
|
15
15
|
def fontname; @orig_fontname; end
|
16
16
|
|
17
|
+
def get_width(string)
|
18
|
+
canvas = Native(`document.getElementById('dxopal-canvas')`)
|
19
|
+
canvas.getContext('2d').measureText(string).width
|
20
|
+
end
|
21
|
+
|
17
22
|
# Return a string like "48px serif"
|
18
23
|
def _spec_str
|
19
24
|
"#{@size}px #{@fontname}"
|
@@ -28,6 +28,37 @@ module DXOpal
|
|
28
28
|
return img, img_promise
|
29
29
|
end
|
30
30
|
|
31
|
+
attr_accessor :promise, :loaded
|
32
|
+
def loaded?; loaded; end
|
33
|
+
|
34
|
+
def self.load(path_or_url)
|
35
|
+
return new(1, 1).load(path_or_url)
|
36
|
+
end
|
37
|
+
|
38
|
+
def load(path_or_url)
|
39
|
+
raw_img = `new Image()`
|
40
|
+
@promise = %x{
|
41
|
+
new Promise(function(resolve, reject) {
|
42
|
+
raw_img.onload = function() {
|
43
|
+
self.$_resize(raw_img.width, raw_img.height);
|
44
|
+
self.$_draw_raw_image(0, 0, raw_img);
|
45
|
+
self.loaded = #{true};
|
46
|
+
resolve();
|
47
|
+
};
|
48
|
+
raw_img.src = path_or_url;
|
49
|
+
});
|
50
|
+
}
|
51
|
+
return self
|
52
|
+
end
|
53
|
+
|
54
|
+
def onload(&block)
|
55
|
+
%x{
|
56
|
+
#{@promise}.then(function(response){
|
57
|
+
#{block.call()}
|
58
|
+
});
|
59
|
+
}
|
60
|
+
end
|
61
|
+
|
31
62
|
# Create an instance of Image
|
32
63
|
def initialize(width, height, color=C_DEFAULT, canvas: nil)
|
33
64
|
@width, @height = width, height
|
@@ -153,8 +184,8 @@ module DXOpal
|
|
153
184
|
%x{
|
154
185
|
ctx.beginPath();
|
155
186
|
ctx.strokeStyle = #{_rgba(color)};
|
156
|
-
ctx.moveTo(x1, y1);
|
157
|
-
ctx.lineTo(x2, y2);
|
187
|
+
ctx.moveTo(x1+0.5, y1+0.5);
|
188
|
+
ctx.lineTo(x2+0.5, y2+0.5);
|
158
189
|
ctx.stroke();
|
159
190
|
}
|
160
191
|
return self
|
@@ -166,7 +197,7 @@ module DXOpal
|
|
166
197
|
%x{
|
167
198
|
ctx.beginPath();
|
168
199
|
ctx.strokeStyle = #{_rgba(color)};
|
169
|
-
ctx.rect(x1, y1, x2-x1
|
200
|
+
ctx.rect(x1+0.5, y1+0.5, x2-x1, y2-y1);
|
170
201
|
ctx.stroke();
|
171
202
|
}
|
172
203
|
return self
|
@@ -178,7 +209,7 @@ module DXOpal
|
|
178
209
|
%x{
|
179
210
|
ctx.beginPath();
|
180
211
|
ctx.fillStyle = #{_rgba(color)};
|
181
|
-
ctx.fillRect(x1, y1, x2-x1
|
212
|
+
ctx.fillRect(x1, y1, x2-x1, y2-y1);
|
182
213
|
}
|
183
214
|
return self
|
184
215
|
end
|
@@ -189,7 +220,7 @@ module DXOpal
|
|
189
220
|
%x{
|
190
221
|
ctx.beginPath();
|
191
222
|
ctx.strokeStyle = #{_rgba(color)};
|
192
|
-
ctx.arc(x, y, r, 0, Math.PI*2, false)
|
223
|
+
ctx.arc(x+0.5, y+0.5, r, 0, Math.PI*2, false)
|
193
224
|
ctx.stroke();
|
194
225
|
}
|
195
226
|
return self
|
@@ -213,10 +244,10 @@ module DXOpal
|
|
213
244
|
%x{
|
214
245
|
ctx.beginPath();
|
215
246
|
ctx.strokeStyle = #{_rgba(color)};
|
216
|
-
ctx.moveTo(x1, y1);
|
217
|
-
ctx.lineTo(x2, y2);
|
218
|
-
ctx.lineTo(x3, y3);
|
219
|
-
ctx.lineTo(x1, y1);
|
247
|
+
ctx.moveTo(x1+0.5, y1+0.5);
|
248
|
+
ctx.lineTo(x2+0.5, y2+0.5);
|
249
|
+
ctx.lineTo(x3+0.5, y3+0.5);
|
250
|
+
ctx.lineTo(x1+0.5, y1+0.5);
|
220
251
|
ctx.stroke();
|
221
252
|
}
|
222
253
|
return self
|
@@ -17,12 +17,15 @@ module DXOpal
|
|
17
17
|
@@pressing_keys = `new Object()`
|
18
18
|
@@mouse_info = `{x: 0, y: 0}`
|
19
19
|
@@pressing_mouse_buttons = `new Object()`
|
20
|
+
@@touch_info = `{x: 0, y: 0}`
|
21
|
+
@@pressing_touch = `new Object()`
|
20
22
|
|
21
23
|
rect = `canvas.getBoundingClientRect()`
|
22
24
|
@@canvas_x = `rect.left + window.pageXOffset`
|
23
25
|
@@canvas_y = `rect.top + window.pageYOffset`
|
24
26
|
|
25
27
|
self._init_mouse_events
|
28
|
+
self._init_touch_events
|
26
29
|
self.keyevent_target = `window` unless Input.keyevent_target
|
27
30
|
end
|
28
31
|
|
@@ -166,5 +169,57 @@ module DXOpal
|
|
166
169
|
def self.mouse_release?(mouse_code)
|
167
170
|
return `#{@@pressing_mouse_buttons}[mouse_code] == -(#{@@tick}-1)`
|
168
171
|
end
|
172
|
+
|
173
|
+
#
|
174
|
+
# Touch
|
175
|
+
#
|
176
|
+
|
177
|
+
# (internal) initialize touch events
|
178
|
+
def self._init_touch_events
|
179
|
+
%x{
|
180
|
+
document.addEventListener('touchmove', function(ev){
|
181
|
+
#{@@touch_info}.x = ev.changedTouches[0].pageX - #{@@canvas_x};
|
182
|
+
#{@@touch_info}.y = ev.changedTouches[0].pageY - #{@@canvas_y};
|
183
|
+
});
|
184
|
+
document.addEventListener('touchstart', function(ev){
|
185
|
+
#{@@touch_info}.x = ev.changedTouches[0].pageX - #{@@canvas_x};
|
186
|
+
#{@@touch_info}.y = ev.changedTouches[0].pageY - #{@@canvas_y};
|
187
|
+
#{@@pressing_touch}[0] = #{@@tick};
|
188
|
+
});
|
189
|
+
document.addEventListener('touchend', function(ev){
|
190
|
+
#{@@touch_info}.x = ev.changedTouches[0].pageX - #{@@canvas_x};
|
191
|
+
#{@@touch_info}.y = ev.changedTouches[0].pageY - #{@@canvas_y};
|
192
|
+
#{@@pressing_touch}[0] = -#{@@tick};
|
193
|
+
});
|
194
|
+
}
|
195
|
+
end
|
196
|
+
|
197
|
+
# Return position of touch
|
198
|
+
# (0, 0) is the top-left corner of the canvas
|
199
|
+
def self.touch_x
|
200
|
+
return `#{@@touch_info}.x`
|
201
|
+
end
|
202
|
+
def self.touch_y
|
203
|
+
return `#{@@touch_info}.y`
|
204
|
+
end
|
205
|
+
class << self
|
206
|
+
alias touch_pos_x touch_x
|
207
|
+
alias touch_pos_y touch_y
|
208
|
+
end
|
209
|
+
|
210
|
+
# Return true if the touch is being pressed
|
211
|
+
def self.touch_down?
|
212
|
+
return `#{@@pressing_touch}[0] > 0`
|
213
|
+
end
|
214
|
+
|
215
|
+
# Return true if the touch is pressed in the last tick
|
216
|
+
def self.touch_push?
|
217
|
+
return `#{@@pressing_touch}[0] == -(#{@@tick}-1)`
|
218
|
+
end
|
219
|
+
|
220
|
+
# Return true if the touch is released in the last tick
|
221
|
+
def self.touch_release?
|
222
|
+
return `#{@@pressing_touch}[0] == -(#{@@tick}-1)`
|
223
|
+
end
|
169
224
|
end
|
170
225
|
end
|
@@ -3,9 +3,7 @@ module DXOpal
|
|
3
3
|
# List of key codes (event.code)
|
4
4
|
# https://developer.mozilla.org/ja/docs/Web/API/KeyboardEvent
|
5
5
|
module KeyCodes
|
6
|
-
# TODO: add
|
7
|
-
# especially keypads and us-keyboards
|
8
|
-
|
6
|
+
# TODO: add event.code for those commented out (pull request welcome)
|
9
7
|
K_ESCAPE = 'Escape'
|
10
8
|
K_1 = 'Digit1'
|
11
9
|
K_2 = 'Digit2'
|
@@ -47,7 +45,7 @@ module DXOpal
|
|
47
45
|
K_L = 'KeyL'
|
48
46
|
K_SEMICOLON = 'Semicolon'
|
49
47
|
K_APOSTROPHE = 'Quote' # '
|
50
|
-
|
48
|
+
K_GRAVE = "Backquote" # `
|
51
49
|
K_LSHIFT = 'ShiftLeft'
|
52
50
|
K_BACKSLASH = 'BackSlash' # Note: different to K_YEN
|
53
51
|
K_Z = 'KeyZ'
|
@@ -61,45 +59,45 @@ module DXOpal
|
|
61
59
|
K_PERIOD = 'Period'
|
62
60
|
K_SLASH = 'Slash'
|
63
61
|
K_RSHIFT = 'ShiftRight'
|
64
|
-
|
62
|
+
K_MULTIPLY = "NumpadMultiply"
|
65
63
|
#K_LMENU Alt
|
66
64
|
K_SPACE = 'Space'
|
67
65
|
#K_CAPITAL
|
68
|
-
K_F1
|
69
|
-
K_F2
|
70
|
-
K_F3
|
71
|
-
K_F4
|
72
|
-
K_F5
|
73
|
-
K_F6
|
74
|
-
K_F7
|
75
|
-
K_F8
|
76
|
-
K_F9
|
77
|
-
K_F10 =
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
66
|
+
K_F1 = "F1"
|
67
|
+
K_F2 = "F2"
|
68
|
+
K_F3 = "F3"
|
69
|
+
K_F4 = "F4"
|
70
|
+
K_F5 = "F5"
|
71
|
+
K_F6 = "F6"
|
72
|
+
K_F7 = "F7"
|
73
|
+
K_F8 = "F8"
|
74
|
+
K_F9 = "F9"
|
75
|
+
K_F10 = "F10"
|
76
|
+
K_NUMLOCK = "NumLock"
|
77
|
+
K_SCROLL = "ScrollLock"
|
78
|
+
K_NUMPAD7 = "Numpad7"
|
79
|
+
K_NUMPAD8 = "Numpad8"
|
80
|
+
K_NUMPAD9 = "Numpad9"
|
81
|
+
K_SUBTRACT = "NumpadSubtract"
|
82
|
+
K_NUMPAD4 = "Numpad4"
|
83
|
+
K_NUMPAD5 = "Numpad5"
|
84
|
+
K_NUMPAD6 = "Numpad6"
|
85
|
+
K_ADD = "NumpadAdd"
|
86
|
+
K_NUMPAD1 = "Numpad1"
|
87
|
+
K_NUMPAD2 = "Numpad2"
|
88
|
+
K_NUMPAD3 = "Numpad3"
|
89
|
+
K_NUMPAD0 = "Numpad0"
|
90
|
+
K_DECIMAL = "NumpadDecimal"
|
93
91
|
#K_OEM_102
|
94
|
-
K_F11 =
|
95
|
-
K_F12 =
|
96
|
-
K_F13 =
|
97
|
-
K_F14 =
|
98
|
-
K_F15 =
|
99
|
-
|
92
|
+
K_F11 = "F11"
|
93
|
+
K_F12 = "F12"
|
94
|
+
K_F13 = "F13"
|
95
|
+
K_F14 = "F14"
|
96
|
+
K_F15 = "F15"
|
97
|
+
K_KANA = "KanaMode"
|
100
98
|
#K_ABNT_C1
|
101
|
-
|
102
|
-
|
99
|
+
K_CONVERT = "Convert"
|
100
|
+
K_NOCONVERT = "NonConvert"
|
103
101
|
K_YEN = 'IntlYen'
|
104
102
|
#K_ABNT_C2
|
105
103
|
#K_NUMPADEQUALS = *3 *1
|
@@ -112,60 +110,60 @@ module DXOpal
|
|
112
110
|
#K_AX
|
113
111
|
#K_UNLABELED
|
114
112
|
#K_NEXTTRACK
|
115
|
-
|
113
|
+
K_NUMPADENTER = "NumpadEnter"
|
116
114
|
K_RCONTROL = 'ControlRight'
|
117
|
-
|
115
|
+
K_MUTE = "VolumeMute"
|
118
116
|
#K_CALCULATOR
|
119
117
|
#K_PLAYPAUSE
|
120
118
|
#K_MEDIASTOP
|
121
|
-
|
122
|
-
|
123
|
-
|
119
|
+
K_VOLUMEDOWN = "VolumeDown"
|
120
|
+
K_VOLUMEUP = "VolumeUp"
|
121
|
+
K_WEBHOME = "BrowserHome"
|
124
122
|
#K_NUMPADCOMMA , *3 *1
|
125
|
-
|
123
|
+
K_DIVIDE = "NumpadDivide"
|
126
124
|
#K_SYSRQ
|
127
125
|
#K_RMENU Alt
|
128
|
-
|
129
|
-
|
126
|
+
K_PAUSE = "Pause"
|
127
|
+
K_HOME = "Home"
|
130
128
|
K_UP = 'ArrowUp'
|
131
129
|
#K_PRIOR
|
132
130
|
K_LEFT = 'ArrowLeft'
|
133
131
|
K_RIGHT = 'ArrowRight'
|
134
|
-
|
132
|
+
K_END = "End"
|
135
133
|
K_DOWN = 'ArrowDown'
|
136
134
|
#K_NEXT
|
137
|
-
|
138
|
-
|
139
|
-
#K_LWIN
|
140
|
-
#K_RWIN
|
135
|
+
K_INSERT = "Insert"
|
136
|
+
K_DELETE = "Delete"
|
137
|
+
#K_LWIN
|
138
|
+
#K_RWIN
|
141
139
|
#K_APPS
|
142
140
|
#K_POWER
|
143
141
|
#K_SLEEP
|
144
142
|
#K_WAKE
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
143
|
+
K_WEBSEARCH = "BrowserSearch"
|
144
|
+
K_WEBFAVORITES = "BrowserFavorites"
|
145
|
+
K_WEBREFRESH = "BrowserRefresh"
|
146
|
+
K_WEBSTOP = "BrowserStop"
|
147
|
+
K_WEBFORWARD = "BrowserForward"
|
148
|
+
K_WEBBACK = "BrowserBack"
|
151
149
|
#K_MYCOMPUTER
|
152
150
|
#K_MAIL
|
153
151
|
#K_MEDIASELECT
|
154
152
|
K_BACKSPACE = 'Backspace'
|
155
|
-
|
156
|
-
|
153
|
+
K_NUMPADSTAR = "NumpadMultiply"
|
154
|
+
K_LALT = "AltLeft"
|
157
155
|
K_CAPSLOCK = 'CapsLock'
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
156
|
+
K_NUMPADMINUS = "NumpadSubtract"
|
157
|
+
K_NUMPADPLUS = "NumpadAdd"
|
158
|
+
K_NUMPADPERIOD = "NumpadDecimal"
|
159
|
+
K_NUMPADSLASH = "NumpadDivide"
|
160
|
+
K_RALT = "AltRight"
|
163
161
|
K_UPARROW = 'ArrowUp'
|
164
|
-
|
162
|
+
K_PGUP = "PageUp"
|
165
163
|
K_LEFTARROW = 'ArrowLeft'
|
166
164
|
K_RIGHTARROW = 'ArrowRight'
|
167
165
|
K_DOWNARROW = 'ArrowDown'
|
168
|
-
|
166
|
+
K_PGDN = "PageDown"
|
169
167
|
end
|
170
168
|
end
|
171
169
|
end
|