rubygl 0.1.0 → 0.2.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.
- checksums.yaml +13 -5
- data/.travis/push-rdoc-to-gh-pages.sh +22 -0
- data/.travis.yml +18 -0
- data/Gemfile +7 -0
- data/Gemfile.lock +12 -0
- data/LICENSE +21 -21
- data/README.md +40 -0
- data/Rakefile +98 -83
- data/bin/ffi_code_gen.rb +166 -166
- data/bin/gl_code_gen.rb +458 -458
- data/examples/faceted_example.rb +71 -64
- data/examples/instanced_example.rb +135 -127
- data/examples/phong_example.rb +80 -71
- data/ext/windows/RubyGL.so +0 -0
- data/lib/rubygl/event.rb +64 -0
- data/lib/{RubyGL → rubygl}/geometry.rb +216 -211
- data/lib/{RubyGL → rubygl}/math.rb +300 -300
- data/lib/{RubyGL → rubygl}/memory.rb +125 -121
- data/lib/rubygl/native/all_enums.rb +641 -0
- data/lib/{RubyGL/Native → rubygl/native}/glcontext.rb +23 -47
- data/lib/{RubyGL/Native → rubygl/native}/include/GLContext.h +36 -36
- data/lib/{RubyGL/Native → rubygl/native}/include/Input.h +15 -15
- data/lib/{RubyGL/Native → rubygl/native}/include/Window.h +27 -27
- data/lib/rubygl/native/input.rb +247 -0
- data/lib/{RubyGL/Native → rubygl/native}/opengl.rb +2808 -2032
- data/lib/{RubyGL/Native → rubygl/native}/src/GLContext.c +72 -72
- data/lib/{RubyGL/Native → rubygl/native}/src/Input.c +25 -25
- data/lib/{RubyGL/Native → rubygl/native}/src/Window.c +57 -57
- data/lib/{RubyGL/Native → rubygl/native}/window.rb +24 -24
- data/lib/{RubyGL → rubygl}/setup.rb +50 -50
- data/lib/{RubyGL → rubygl}/shader.rb +203 -203
- data/lib/{RubyGL → rubygl}/util.rb +77 -77
- data/lib/rubygl.rb +49 -48
- data/{RubyGL.gemspec → rubygl.gemspec} +20 -23
- data/test/test_util.rb +19 -0
- metadata +36 -33
- data/lib/RubyGL/Native/input.rb +0 -13
- data/lib/RubyGL/callback.rb +0 -10
@@ -0,0 +1,641 @@
|
|
1
|
+
|
2
|
+
module RubyGL::Native
|
3
|
+
|
4
|
+
# The different types of attributes that can be set for a specific OpenGL
|
5
|
+
# context. Only a few of these are going to be used in a simple application.
|
6
|
+
ALL_ATTRIBS = enum :attribute, [
|
7
|
+
:red_size, 0,
|
8
|
+
:green_size,
|
9
|
+
:blue_size,
|
10
|
+
:alpha_size,
|
11
|
+
:buffer_size,
|
12
|
+
:doublebuffer,
|
13
|
+
:depth_size,
|
14
|
+
:stencil_size,
|
15
|
+
:accum_red_size,
|
16
|
+
:accum_green_size,
|
17
|
+
:accum_blue_size,
|
18
|
+
:accum_alpha_size,
|
19
|
+
:stereo,
|
20
|
+
:multisamplebuffers,
|
21
|
+
:multisamplesamples,
|
22
|
+
:accelerated_visual,
|
23
|
+
:retained_backing,
|
24
|
+
:context_major_version,
|
25
|
+
:context_minor_version,
|
26
|
+
:context_egl,
|
27
|
+
:context_flags,
|
28
|
+
:context_profile_mask,
|
29
|
+
:share_with_current_context,
|
30
|
+
:framebuffer_srgb_capable
|
31
|
+
]
|
32
|
+
|
33
|
+
# The different types of events that may be generated during an applications
|
34
|
+
# lifetime. These correlate to the different type of event structs that are given
|
35
|
+
# to us when one of these events occurs. See input.rb for the list of structs.
|
36
|
+
ALL_EVENTS = enum :event_type, [
|
37
|
+
# Quit Events
|
38
|
+
:quit, 0x100,
|
39
|
+
# Window Events
|
40
|
+
:window_event, 0x200,
|
41
|
+
# Keyboard Events
|
42
|
+
:key_down, 0x300,
|
43
|
+
:key_up,
|
44
|
+
:text_editing,
|
45
|
+
:text_input,
|
46
|
+
# Mouse Events
|
47
|
+
:mouse_motion, 0x400,
|
48
|
+
:mouse_button_down,
|
49
|
+
:mouse_button_up,
|
50
|
+
:mouse_wheel,
|
51
|
+
# Joystick Events
|
52
|
+
:joy_axis_motion, 0x600,
|
53
|
+
:joy_ball_motion,
|
54
|
+
:joy_hat_motion,
|
55
|
+
:joy_button_down,
|
56
|
+
:joy_button_up,
|
57
|
+
:joy_device_added,
|
58
|
+
:joy_device_removed,
|
59
|
+
# Game Controller Events
|
60
|
+
:controller_axis_motion, 0x650,
|
61
|
+
:controller_button_down,
|
62
|
+
:controller_button_up,
|
63
|
+
:controller_device_added,
|
64
|
+
:controller_device_removed,
|
65
|
+
:controller_device_remapped,
|
66
|
+
# Drag And Drop Events
|
67
|
+
:drop_file, 0x1000
|
68
|
+
]
|
69
|
+
|
70
|
+
# Translate symbolic mouse buttons to their actual value
|
71
|
+
def self.mouse_button_mask(button)
|
72
|
+
(1 << (button - 1))
|
73
|
+
end
|
74
|
+
|
75
|
+
# Mouse button values that correspond to the :button value within the
|
76
|
+
# MouseButtonEvent struct
|
77
|
+
ALL_MOUSECODES = enum :mousecode, [
|
78
|
+
# Symbolic Enumerations, SHOULD NOT BE USED
|
79
|
+
:button_left, mouse_button_mask(1),
|
80
|
+
:button_midle, mouse_button_mask(2),
|
81
|
+
:button_right, mouse_button_mask(3),
|
82
|
+
:button_x1, mouse_button_mask(4),
|
83
|
+
:button_x2, mouse_button_mask(5)
|
84
|
+
]
|
85
|
+
|
86
|
+
# Key modifier values that correspond to the :mod value within the Keysym
|
87
|
+
# struct
|
88
|
+
ALL_KEYMODS = enum :keymods, [
|
89
|
+
:kmod_none, 0x0000,
|
90
|
+
:kmod_lshift, 0x0001,
|
91
|
+
:kmod_rshift, 0x0002,
|
92
|
+
:kmod_lctrl, 0x0040,
|
93
|
+
:kmod_rctrl, 0x0080,
|
94
|
+
:kmod_lalt, 0x0100,
|
95
|
+
:kmod_ralt, 0x0200,
|
96
|
+
:kmod_lgui, 0x0400,
|
97
|
+
:kmod_rgui, 0x0800,
|
98
|
+
:kmod_num, 0x1000,
|
99
|
+
:kmod_caps, 0x2000,
|
100
|
+
:kmod_mode, 0x4000,
|
101
|
+
:kmod_reserved, 0x8000
|
102
|
+
]
|
103
|
+
|
104
|
+
# Physical key codes which map to the location of specific keys on a keyboard.
|
105
|
+
# These should almost never be used because a user will not be able to arrange
|
106
|
+
# their keyboard setup in order to achieve a more preferred layout.
|
107
|
+
ALL_SCANCODES = enum :scancode, [
|
108
|
+
:scancode_a, 4,
|
109
|
+
:scancode_b, 5,
|
110
|
+
:scancode_c, 6,
|
111
|
+
:scancode_d, 7,
|
112
|
+
:scancode_e, 8,
|
113
|
+
:scancode_f, 9,
|
114
|
+
:scancode_g, 10,
|
115
|
+
:scancode_h, 11,
|
116
|
+
:scancode_i, 12,
|
117
|
+
:scancode_j, 13,
|
118
|
+
:scancode_k, 14,
|
119
|
+
:scancode_l, 15,
|
120
|
+
:scancode_m, 16,
|
121
|
+
:scancode_n, 17,
|
122
|
+
:scancode_o, 18,
|
123
|
+
:scancode_p, 19,
|
124
|
+
:scancode_q, 20,
|
125
|
+
:scancode_r, 21,
|
126
|
+
:scancode_s, 22,
|
127
|
+
:scancode_t, 23,
|
128
|
+
:scancode_u, 24,
|
129
|
+
:scancode_v, 25,
|
130
|
+
:scancode_w, 26,
|
131
|
+
:scancode_x, 27,
|
132
|
+
:scancode_y, 28,
|
133
|
+
:scancode_z, 29,
|
134
|
+
|
135
|
+
:scancode_1, 30,
|
136
|
+
:scancode_2, 31,
|
137
|
+
:scancode_3, 32,
|
138
|
+
:scancode_4, 33,
|
139
|
+
:scancode_5, 34,
|
140
|
+
:scancode_6, 35,
|
141
|
+
:scancode_7, 36,
|
142
|
+
:scancode_8, 37,
|
143
|
+
:scancode_9, 38,
|
144
|
+
:scancode_0, 39,
|
145
|
+
|
146
|
+
:scancode_return, 40,
|
147
|
+
:scancode_escape, 41,
|
148
|
+
:scancode_backspace, 42,
|
149
|
+
:scancode_tab, 43,
|
150
|
+
:scancode_space, 44,
|
151
|
+
|
152
|
+
:scancode_minus, 45,
|
153
|
+
:scancode_equals, 46,
|
154
|
+
:scancode_leftbracket, 47,
|
155
|
+
:scancode_rightbracket, 48,
|
156
|
+
:scancode_backslash, 49,
|
157
|
+
:scancode_nonushash, 50,
|
158
|
+
:scancode_semicolon, 51,
|
159
|
+
:scancode_apostrophe, 52,
|
160
|
+
:scancode_grave, 53,
|
161
|
+
:scancode_comma, 54,
|
162
|
+
:scancode_period, 55,
|
163
|
+
:scancode_slash, 56,
|
164
|
+
|
165
|
+
:scancode_capslock, 57,
|
166
|
+
|
167
|
+
:scancode_f1, 58,
|
168
|
+
:scancode_f2, 59,
|
169
|
+
:scancode_f3, 60,
|
170
|
+
:scancode_f4, 61,
|
171
|
+
:scancode_f5, 62,
|
172
|
+
:scancode_f6, 63,
|
173
|
+
:scancode_f7, 64,
|
174
|
+
:scancode_f8, 65,
|
175
|
+
:scancode_f9, 66,
|
176
|
+
:scancode_f10, 67,
|
177
|
+
:scancode_f11, 68,
|
178
|
+
:scancode_f12, 69,
|
179
|
+
|
180
|
+
:scancode_printscreen, 70,
|
181
|
+
:scancode_scrolllock, 71,
|
182
|
+
:scancode_pause, 72,
|
183
|
+
:scancode_insert, 73,
|
184
|
+
|
185
|
+
:scancode_home, 74,
|
186
|
+
:scancode_pageup, 75,
|
187
|
+
:scancode_delete, 76,
|
188
|
+
:scancode_end, 77,
|
189
|
+
:scancode_pagedown, 78,
|
190
|
+
:scancode_right, 79,
|
191
|
+
:scancode_left, 80,
|
192
|
+
:scancode_down, 81,
|
193
|
+
:scancode_up, 82,
|
194
|
+
|
195
|
+
:scancode_numlockclear, 83,
|
196
|
+
|
197
|
+
:scancode_kp_divide, 84,
|
198
|
+
:scancode_kp_multiply, 85,
|
199
|
+
:scancode_kp_minus, 86,
|
200
|
+
:scancode_kp_plus, 87,
|
201
|
+
:scancode_kp_enter, 88,
|
202
|
+
:scancode_kp_1, 89,
|
203
|
+
:scancode_kp_2, 90,
|
204
|
+
:scancode_kp_3, 91,
|
205
|
+
:scancode_kp_4, 92,
|
206
|
+
:scancode_kp_5, 93,
|
207
|
+
:scancode_kp_6, 94,
|
208
|
+
:scancode_kp_7, 95,
|
209
|
+
:scancode_kp_8, 96,
|
210
|
+
:scancode_kp_9, 97,
|
211
|
+
:scancode_kp_0, 98,
|
212
|
+
:scancode_kp_period, 99,
|
213
|
+
|
214
|
+
:scancode_nonusbackslash, 100,
|
215
|
+
|
216
|
+
:scancode_application, 101,
|
217
|
+
:scancode_power, 102,
|
218
|
+
|
219
|
+
:scancode_kp_equals, 103,
|
220
|
+
:scancode_f13, 104,
|
221
|
+
:scancode_f14, 105,
|
222
|
+
:scancode_f15, 106,
|
223
|
+
:scancode_f16, 107,
|
224
|
+
:scancode_f17, 108,
|
225
|
+
:scancode_f18, 109,
|
226
|
+
:scancode_f19, 110,
|
227
|
+
:scancode_f20, 111,
|
228
|
+
:scancode_f21, 112,
|
229
|
+
:scancode_f22, 113,
|
230
|
+
:scancode_f23, 114,
|
231
|
+
:scancode_f24, 115,
|
232
|
+
:scancode_execute, 116,
|
233
|
+
:scancode_help, 117,
|
234
|
+
:scancode_menu, 118,
|
235
|
+
:scancode_select, 119,
|
236
|
+
:scancode_stop, 120,
|
237
|
+
:scancode_again, 121,
|
238
|
+
:scancode_undo, 122,
|
239
|
+
:scancode_cut, 123,
|
240
|
+
:scancode_copy, 124,
|
241
|
+
:scancode_paste, 125,
|
242
|
+
:scancode_find, 126,
|
243
|
+
:scancode_mute, 127,
|
244
|
+
:scancode_volumeup, 128,
|
245
|
+
:scancode_volumedown, 129,
|
246
|
+
#:scancode_lockingcapslock, 130,
|
247
|
+
#:scancode_lockingnumlock, 131,
|
248
|
+
#:scancode_lockingscrolllock, 132,
|
249
|
+
:scancode_kp_comma, 133,
|
250
|
+
:scancode_kp_equalsas400, 134,
|
251
|
+
|
252
|
+
:scancode_international1, 135,
|
253
|
+
|
254
|
+
:scancode_international2, 136,
|
255
|
+
:scancode_international3, 137,
|
256
|
+
:scancode_international4, 138,
|
257
|
+
:scancode_international5, 139,
|
258
|
+
:scancode_international6, 140,
|
259
|
+
:scancode_international7, 141,
|
260
|
+
:scancode_international8, 142,
|
261
|
+
:scancode_international9, 143,
|
262
|
+
:scancode_lang1, 144,
|
263
|
+
:scancode_lang2, 145,
|
264
|
+
:scancode_lang3, 146,
|
265
|
+
:scancode_lang4, 147,
|
266
|
+
:scancode_lang5, 148,
|
267
|
+
:scancode_lang6, 149,
|
268
|
+
:scancode_lang7, 150,
|
269
|
+
:scancode_lang8, 151,
|
270
|
+
:scancode_lang9, 152,
|
271
|
+
|
272
|
+
:scancode_alterase, 153,
|
273
|
+
:scancode_sysreq, 154,
|
274
|
+
:scancode_cancel, 155,
|
275
|
+
:scancode_clear, 156,
|
276
|
+
:scancode_prior, 157,
|
277
|
+
:scancode_return2, 158,
|
278
|
+
:scancode_separator, 159,
|
279
|
+
:scancode_out, 160,
|
280
|
+
:scancode_oper, 161,
|
281
|
+
:scancode_clearagain, 162,
|
282
|
+
:scancode_crsel, 163,
|
283
|
+
:scancode_exsel, 164,
|
284
|
+
|
285
|
+
:scancode_kp_00, 176,
|
286
|
+
:scancode_kp_000, 177,
|
287
|
+
:scancode_thousandsseparator, 178,
|
288
|
+
:scancode_decimalseparator, 179,
|
289
|
+
:scancode_currencyunit, 180,
|
290
|
+
:scancode_currencysubunit, 181,
|
291
|
+
:scancode_kp_leftparen, 182,
|
292
|
+
:scancode_kp_rightparen, 183,
|
293
|
+
:scancode_kp_leftbrace, 184,
|
294
|
+
:scancode_kp_rightbrace, 185,
|
295
|
+
:scancode_kp_tab, 186,
|
296
|
+
:scancode_kp_backspace, 187,
|
297
|
+
:scancode_kp_a, 188,
|
298
|
+
:scancode_kp_b, 189,
|
299
|
+
:scancode_kp_c, 190,
|
300
|
+
:scancode_kp_d, 191,
|
301
|
+
:scancode_kp_e, 192,
|
302
|
+
:scancode_kp_f, 193,
|
303
|
+
:scancode_kp_xor, 194,
|
304
|
+
:scancode_kp_power, 195,
|
305
|
+
:scancode_kp_percent, 196,
|
306
|
+
:scancode_kp_less, 197,
|
307
|
+
:scancode_kp_greater, 198,
|
308
|
+
:scancode_kp_ampersand, 199,
|
309
|
+
:scancode_kp_dblampersand, 200,
|
310
|
+
:scancode_kp_verticalbar, 201,
|
311
|
+
:scancode_kp_dblverticalbar, 202,
|
312
|
+
:scancode_kp_colon, 203,
|
313
|
+
:scancode_kp_hash, 204,
|
314
|
+
:scancode_kp_space, 205,
|
315
|
+
:scancode_kp_at, 206,
|
316
|
+
:scancode_kp_exclam, 207,
|
317
|
+
:scancode_kp_memstore, 208,
|
318
|
+
:scancode_kp_memrecall, 209,
|
319
|
+
:scancode_kp_memclear, 210,
|
320
|
+
:scancode_kp_memadd, 211,
|
321
|
+
:scancode_kp_memsubtract, 212,
|
322
|
+
:scancode_kp_memmultiply, 213,
|
323
|
+
:scancode_kp_memdivide, 214,
|
324
|
+
:scancode_kp_plusminus, 215,
|
325
|
+
:scancode_kp_clear, 216,
|
326
|
+
:scancode_kp_clearentry, 217,
|
327
|
+
:scancode_kp_binary, 218,
|
328
|
+
:scancode_kp_octal, 219,
|
329
|
+
:scancode_kp_decimal, 220,
|
330
|
+
:scancode_kp_hexadecimal, 221,
|
331
|
+
|
332
|
+
:scancode_lctrl, 224,
|
333
|
+
:scancode_lshift, 225,
|
334
|
+
:scancode_lalt, 226,
|
335
|
+
:scancode_lgui, 227,
|
336
|
+
:scancode_rctrl, 228,
|
337
|
+
:scancode_rshift, 229,
|
338
|
+
:scancode_ralt, 230,
|
339
|
+
:scancode_rgui, 231,
|
340
|
+
|
341
|
+
:scancode_mode, 257,
|
342
|
+
|
343
|
+
:scancode_audionext, 258,
|
344
|
+
:scancode_audioprev, 259,
|
345
|
+
:scancode_audiostop, 260,
|
346
|
+
:scancode_audioplay, 261,
|
347
|
+
:scancode_audiomute, 262,
|
348
|
+
:scancode_mediaselect, 263,
|
349
|
+
:scancode_www, 264,
|
350
|
+
:scancode_mail, 265,
|
351
|
+
:scancode_calculator, 266,
|
352
|
+
:scancode_computer, 267,
|
353
|
+
:scancode_ac_search, 268,
|
354
|
+
:scancode_ac_home, 269,
|
355
|
+
:scancode_ac_back, 270,
|
356
|
+
:scancode_ac_forward, 271,
|
357
|
+
:scancode_ac_stop, 272,
|
358
|
+
:scancode_ac_refresh, 273,
|
359
|
+
:scancode_ac_bookmarks, 274,
|
360
|
+
|
361
|
+
|
362
|
+
:scancode_brightnessdown, 275,
|
363
|
+
:scancode_brightnessup, 276,
|
364
|
+
:scancode_displayswitch, 277,
|
365
|
+
|
366
|
+
:scancode_kbdillumtoggle, 278,
|
367
|
+
:scancode_kbdillumdown, 279,
|
368
|
+
:scancode_kbdillumup, 280,
|
369
|
+
:scancode_eject, 281,
|
370
|
+
:scancode_sleep, 282,
|
371
|
+
|
372
|
+
:scancode_app1, 283,
|
373
|
+
:scancode_app2, 284,
|
374
|
+
:num_scancodes, 512
|
375
|
+
]
|
376
|
+
|
377
|
+
# Used to convert some scan codes into key codes.
|
378
|
+
def self.scancode_to_keycode(scancode)
|
379
|
+
code_value = ALL_SCANCODES[scancode]
|
380
|
+
|
381
|
+
code_value | (1 << 30)
|
382
|
+
end
|
383
|
+
|
384
|
+
# Virtual key codes which map to the value that the operating system gets
|
385
|
+
# when a key is pushed. These should be used almost always by default as
|
386
|
+
# users can always remap their keys if they have a different layout and
|
387
|
+
# wish to have a more comfortable layout for controls.
|
388
|
+
ALL_KEYCODES = enum :keycode, [
|
389
|
+
:keycode_unknown, 0,
|
390
|
+
:keycode_return, "\r".ord,
|
391
|
+
:keycode_escape, "\033".ord,
|
392
|
+
:keycode_backspace, "\b".ord,
|
393
|
+
:keycode_tab, "\t".ord,
|
394
|
+
:keycode_space, " ".ord,
|
395
|
+
:keycode_exclaim, "!".ord,
|
396
|
+
:keycode_quotedbl, "\".ord",
|
397
|
+
:keycode_hash, "#".ord,
|
398
|
+
:keycode_percent, "%".ord,
|
399
|
+
:keycode_dollar, "$".ord,
|
400
|
+
:keycode_ampersand, "&".ord,
|
401
|
+
:keycode_quote, "\"".ord,
|
402
|
+
:keycode_leftparen, "(".ord,
|
403
|
+
:keycode_rightparen, ")".ord,
|
404
|
+
:keycode_asterisk, "*".ord,
|
405
|
+
:keycode_plus, "+".ord,
|
406
|
+
:keycode_comma, ",".ord,
|
407
|
+
:keycode_minus, "-".ord,
|
408
|
+
:keycode_period, ".".ord,
|
409
|
+
:keycode_slash, "/".ord,
|
410
|
+
:keycode_0, "0".ord,
|
411
|
+
:keycode_1, "1".ord,
|
412
|
+
:keycode_2, "2".ord,
|
413
|
+
:keycode_3, "3".ord,
|
414
|
+
:keycode_4, "4".ord,
|
415
|
+
:keycode_5, "5".ord,
|
416
|
+
:keycode_6, "6".ord,
|
417
|
+
:keycode_7, "7".ord,
|
418
|
+
:keycode_8, "8".ord,
|
419
|
+
:keycode_9, "9".ord,
|
420
|
+
:keycode_colon, ":keycode_".ord,
|
421
|
+
:keycode_semicolon, ";".ord,
|
422
|
+
:keycode_less, "<".ord,
|
423
|
+
:keycode_equals, "=".ord,
|
424
|
+
:keycode_greater, ">".ord,
|
425
|
+
:keycode_question, "?".ord,
|
426
|
+
:keycode_at, "@".ord,
|
427
|
+
|
428
|
+
# skip uppercase letters
|
429
|
+
|
430
|
+
:keycode_leftbracket, "[".ord,
|
431
|
+
:keycode_backslash, "\\".ord,
|
432
|
+
:keycode_rightbracket, "]".ord,
|
433
|
+
:keycode_caret, "^".ord,
|
434
|
+
:keycode_underscore, "_".ord,
|
435
|
+
:keycode_backquote, "`".ord,
|
436
|
+
:keycode_a, "a".ord,
|
437
|
+
:keycode_b, "b".ord,
|
438
|
+
:keycode_c, "c".ord,
|
439
|
+
:keycode_d, "d".ord,
|
440
|
+
:keycode_e, "e".ord,
|
441
|
+
:keycode_f, "f".ord,
|
442
|
+
:keycode_g, "g".ord,
|
443
|
+
:keycode_h, "h".ord,
|
444
|
+
:keycode_i, "i".ord,
|
445
|
+
:keycode_j, "j".ord,
|
446
|
+
:keycode_k, "k".ord,
|
447
|
+
:keycode_l, "l".ord,
|
448
|
+
:keycode_m, "m".ord,
|
449
|
+
:keycode_n, "n".ord,
|
450
|
+
:keycode_o, "o".ord,
|
451
|
+
:keycode_p, "p".ord,
|
452
|
+
:keycode_q, "q".ord,
|
453
|
+
:keycode_r, "r".ord,
|
454
|
+
:keycode_s, "s".ord,
|
455
|
+
:keycode_t, "t".ord,
|
456
|
+
:keycode_u, "u".ord,
|
457
|
+
:keycode_v, "v".ord,
|
458
|
+
:keycode_w, "w".ord,
|
459
|
+
:keycode_x, "x".ord,
|
460
|
+
:keycode_y, "y".ord,
|
461
|
+
:keycode_z, "z".ord,
|
462
|
+
|
463
|
+
:keycode_capslock, scancode_to_keycode(:scancode_capslock),
|
464
|
+
|
465
|
+
:keycode_f1, scancode_to_keycode(:scancode_f1),
|
466
|
+
:keycode_f2, scancode_to_keycode(:scancode_f2),
|
467
|
+
:keycode_f3, scancode_to_keycode(:scancode_f3),
|
468
|
+
:keycode_f4, scancode_to_keycode(:scancode_f4),
|
469
|
+
:keycode_f5, scancode_to_keycode(:scancode_f5),
|
470
|
+
:keycode_f6, scancode_to_keycode(:scancode_f6),
|
471
|
+
:keycode_f7, scancode_to_keycode(:scancode_f7),
|
472
|
+
:keycode_f8, scancode_to_keycode(:scancode_f8),
|
473
|
+
:keycode_f9, scancode_to_keycode(:scancode_f9),
|
474
|
+
:keycode_f10, scancode_to_keycode(:scancode_f10),
|
475
|
+
:keycode_f11, scancode_to_keycode(:scancode_f11),
|
476
|
+
:keycode_f12, scancode_to_keycode(:scancode_f12),
|
477
|
+
|
478
|
+
:keycode_printscreen, scancode_to_keycode(:scancode_printscreen),
|
479
|
+
:keycode_scrolllock, scancode_to_keycode(:scancode_scrolllock),
|
480
|
+
:keycode_pause, scancode_to_keycode(:scancode_pause),
|
481
|
+
:keycode_insert, scancode_to_keycode(:scancode_insert),
|
482
|
+
:keycode_home, scancode_to_keycode(:scancode_home),
|
483
|
+
:keycode_pageup, scancode_to_keycode(:scancode_pageup),
|
484
|
+
:keycode_delete, 127, # SDL Uses A 177 Literal, But That Seems To Be Wrong
|
485
|
+
:keycode_end, scancode_to_keycode(:scancode_end),
|
486
|
+
:keycode_pagedown, scancode_to_keycode(:scancode_pagedown),
|
487
|
+
:keycode_right, scancode_to_keycode(:scancode_right),
|
488
|
+
:keycode_left, scancode_to_keycode(:scancode_left),
|
489
|
+
:keycode_down, scancode_to_keycode(:scancode_down),
|
490
|
+
:keycode_up, scancode_to_keycode(:scancode_up),
|
491
|
+
|
492
|
+
:keycode_numlockclear, scancode_to_keycode(:scancode_numlockclear),
|
493
|
+
:keycode_kp_divide, scancode_to_keycode(:scancode_kp_divide),
|
494
|
+
:keycode_kp_multiply, scancode_to_keycode(:scancode_kp_multiply),
|
495
|
+
:keycode_kp_minus, scancode_to_keycode(:scancode_kp_minus),
|
496
|
+
:keycode_kp_plus, scancode_to_keycode(:scancode_kp_plus),
|
497
|
+
:keycode_kp_enter, scancode_to_keycode(:scancode_kp_enter),
|
498
|
+
:keycode_kp_1, scancode_to_keycode(:scancode_kp_1),
|
499
|
+
:keycode_kp_2, scancode_to_keycode(:scancode_kp_2),
|
500
|
+
:keycode_kp_3, scancode_to_keycode(:scancode_kp_3),
|
501
|
+
:keycode_kp_4, scancode_to_keycode(:scancode_kp_4),
|
502
|
+
:keycode_kp_5, scancode_to_keycode(:scancode_kp_5),
|
503
|
+
:keycode_kp_6, scancode_to_keycode(:scancode_kp_6),
|
504
|
+
:keycode_kp_7, scancode_to_keycode(:scancode_kp_7),
|
505
|
+
:keycode_kp_8, scancode_to_keycode(:scancode_kp_8),
|
506
|
+
:keycode_kp_9, scancode_to_keycode(:scancode_kp_9),
|
507
|
+
:keycode_kp_0, scancode_to_keycode(:scancode_kp_0),
|
508
|
+
:keycode_kp_period, scancode_to_keycode(:scancode_kp_period),
|
509
|
+
|
510
|
+
:keycode_application, scancode_to_keycode(:scancode_application),
|
511
|
+
:keycode_power, scancode_to_keycode(:scancode_power),
|
512
|
+
:keycode_kp_equals, scancode_to_keycode(:scancode_kp_equals),
|
513
|
+
:keycode_f13, scancode_to_keycode(:scancode_f13),
|
514
|
+
:keycode_f14, scancode_to_keycode(:scancode_f14),
|
515
|
+
:keycode_f15, scancode_to_keycode(:scancode_f15),
|
516
|
+
:keycode_f16, scancode_to_keycode(:scancode_f16),
|
517
|
+
:keycode_f17, scancode_to_keycode(:scancode_f17),
|
518
|
+
:keycode_f18, scancode_to_keycode(:scancode_f18),
|
519
|
+
:keycode_f19, scancode_to_keycode(:scancode_f19),
|
520
|
+
:keycode_f20, scancode_to_keycode(:scancode_f20),
|
521
|
+
:keycode_f21, scancode_to_keycode(:scancode_f21),
|
522
|
+
:keycode_f22, scancode_to_keycode(:scancode_f22),
|
523
|
+
:keycode_f23, scancode_to_keycode(:scancode_f23),
|
524
|
+
:keycode_f24, scancode_to_keycode(:scancode_f24),
|
525
|
+
:keycode_execute, scancode_to_keycode(:scancode_execute),
|
526
|
+
:keycode_help, scancode_to_keycode(:scancode_help),
|
527
|
+
:keycode_menu, scancode_to_keycode(:scancode_menu),
|
528
|
+
:keycode_select, scancode_to_keycode(:scancode_select),
|
529
|
+
:keycode_stop, scancode_to_keycode(:scancode_stop),
|
530
|
+
:keycode_again, scancode_to_keycode(:scancode_again),
|
531
|
+
:keycode_undo, scancode_to_keycode(:scancode_undo),
|
532
|
+
:keycode_cut, scancode_to_keycode(:scancode_cut),
|
533
|
+
:keycode_copy, scancode_to_keycode(:scancode_copy),
|
534
|
+
:keycode_paste, scancode_to_keycode(:scancode_paste),
|
535
|
+
:keycode_find, scancode_to_keycode(:scancode_find),
|
536
|
+
:keycode_mute, scancode_to_keycode(:scancode_mute),
|
537
|
+
:keycode_volumeup, scancode_to_keycode(:scancode_volumeup),
|
538
|
+
:keycode_volumedown, scancode_to_keycode(:scancode_volumedown),
|
539
|
+
:keycode_kp_comma, scancode_to_keycode(:scancode_kp_comma),
|
540
|
+
:keycode_kp_equalsas400, scancode_to_keycode(:scancode_kp_equalsas400),
|
541
|
+
|
542
|
+
:keycode_alterase, scancode_to_keycode(:scancode_alterase),
|
543
|
+
:keycode_sysreq, scancode_to_keycode(:scancode_sysreq),
|
544
|
+
:keycode_cancel, scancode_to_keycode(:scancode_cancel),
|
545
|
+
:keycode_clear, scancode_to_keycode(:scancode_clear),
|
546
|
+
:keycode_prior, scancode_to_keycode(:scancode_prior),
|
547
|
+
:keycode_return2, scancode_to_keycode(:scancode_return2),
|
548
|
+
:keycode_separator, scancode_to_keycode(:scancode_separator),
|
549
|
+
:keycode_out, scancode_to_keycode(:scancode_out),
|
550
|
+
:keycode_oper, scancode_to_keycode(:scancode_oper),
|
551
|
+
:keycode_clearagain, scancode_to_keycode(:scancode_clearagain),
|
552
|
+
:keycode_crsel, scancode_to_keycode(:scancode_crsel),
|
553
|
+
:keycode_exsel, scancode_to_keycode(:scancode_exsel),
|
554
|
+
|
555
|
+
:keycode_kp_00, scancode_to_keycode(:scancode_kp_00),
|
556
|
+
:keycode_kp_000, scancode_to_keycode(:scancode_kp_000),
|
557
|
+
:keycode_thousandsseparator, scancode_to_keycode(:scancode_thousandsseparator),
|
558
|
+
:keycode_decimalseparator, scancode_to_keycode(:scancode_decimalseparator),
|
559
|
+
:keycode_currencyunit, scancode_to_keycode(:scancode_currencyunit),
|
560
|
+
:keycode_currencysubunit, scancode_to_keycode(:scancode_currencysubunit),
|
561
|
+
:keycode_kp_leftparen, scancode_to_keycode(:scancode_kp_leftparen),
|
562
|
+
:keycode_kp_rightparen, scancode_to_keycode(:scancode_kp_rightparen),
|
563
|
+
:keycode_kp_leftbrace, scancode_to_keycode(:scancode_kp_leftbrace),
|
564
|
+
:keycode_kp_rightbrace, scancode_to_keycode(:scancode_kp_rightbrace),
|
565
|
+
:keycode_kp_tab, scancode_to_keycode(:scancode_kp_tab),
|
566
|
+
:keycode_kp_backspace, scancode_to_keycode(:scancode_kp_backspace),
|
567
|
+
:keycode_kp_a, scancode_to_keycode(:scancode_kp_a),
|
568
|
+
:keycode_kp_b, scancode_to_keycode(:scancode_kp_b),
|
569
|
+
:keycode_kp_c, scancode_to_keycode(:scancode_kp_c),
|
570
|
+
:keycode_kp_d, scancode_to_keycode(:scancode_kp_d),
|
571
|
+
:keycode_kp_e, scancode_to_keycode(:scancode_kp_e),
|
572
|
+
:keycode_kp_f, scancode_to_keycode(:scancode_kp_f),
|
573
|
+
:keycode_kp_xor, scancode_to_keycode(:scancode_kp_xor),
|
574
|
+
:keycode_kp_power, scancode_to_keycode(:scancode_kp_power),
|
575
|
+
:keycode_kp_percent, scancode_to_keycode(:scancode_kp_percent),
|
576
|
+
:keycode_kp_less, scancode_to_keycode(:scancode_kp_less),
|
577
|
+
:keycode_kp_greater, scancode_to_keycode(:scancode_kp_greater),
|
578
|
+
:keycode_kp_ampersand, scancode_to_keycode(:scancode_kp_ampersand),
|
579
|
+
:keycode_kp_dblampersand, scancode_to_keycode(:scancode_kp_dblampersand),
|
580
|
+
:keycode_kp_verticalbar, scancode_to_keycode(:scancode_kp_verticalbar),
|
581
|
+
:keycode_kp_dblverticalbar, scancode_to_keycode(:scancode_kp_dblverticalbar),
|
582
|
+
:keycode_kp_colon, scancode_to_keycode(:scancode_kp_colon),
|
583
|
+
:keycode_kp_hash, scancode_to_keycode(:scancode_kp_hash),
|
584
|
+
:keycode_kp_space, scancode_to_keycode(:scancode_kp_space),
|
585
|
+
:keycode_kp_at, scancode_to_keycode(:scancode_kp_at),
|
586
|
+
:keycode_kp_exclam, scancode_to_keycode(:scancode_kp_exclam),
|
587
|
+
:keycode_kp_memstore, scancode_to_keycode(:scancode_kp_memstore),
|
588
|
+
:keycode_kp_memrecall, scancode_to_keycode(:scancode_kp_memrecall),
|
589
|
+
:keycode_kp_memclear, scancode_to_keycode(:scancode_kp_memclear),
|
590
|
+
:keycode_kp_memadd, scancode_to_keycode(:scancode_kp_memadd),
|
591
|
+
:keycode_kp_memsubtract, scancode_to_keycode(:scancode_kp_memsubtract),
|
592
|
+
:keycode_kp_memmultiply, scancode_to_keycode(:scancode_kp_memmultiply),
|
593
|
+
:keycode_kp_memdivide, scancode_to_keycode(:scancode_kp_memdivide),
|
594
|
+
:keycode_kp_plusminus, scancode_to_keycode(:scancode_kp_plusminus),
|
595
|
+
:keycode_kp_clear, scancode_to_keycode(:scancode_kp_clear),
|
596
|
+
:keycode_kp_clearentry, scancode_to_keycode(:scancode_kp_clearentry),
|
597
|
+
:keycode_kp_binary, scancode_to_keycode(:scancode_kp_binary),
|
598
|
+
:keycode_kp_octal, scancode_to_keycode(:scancode_kp_octal),
|
599
|
+
:keycode_kp_decimal, scancode_to_keycode(:scancode_kp_decimal),
|
600
|
+
:keycode_kp_hexadecimal, scancode_to_keycode(:scancode_kp_hexadecimal),
|
601
|
+
|
602
|
+
:keycode_lctrl, scancode_to_keycode(:scancode_lctrl),
|
603
|
+
:keycode_lshift, scancode_to_keycode(:scancode_lshift),
|
604
|
+
:keycode_lalt, scancode_to_keycode(:scancode_lalt),
|
605
|
+
:keycode_lgui, scancode_to_keycode(:scancode_lgui),
|
606
|
+
:keycode_rctrl, scancode_to_keycode(:scancode_rctrl),
|
607
|
+
:keycode_rshift, scancode_to_keycode(:scancode_rshift),
|
608
|
+
:keycode_ralt, scancode_to_keycode(:scancode_ralt),
|
609
|
+
:keycode_rgui, scancode_to_keycode(:scancode_rgui),
|
610
|
+
|
611
|
+
:keycode_mode, scancode_to_keycode(:scancode_mode),
|
612
|
+
|
613
|
+
:keycode_audionext, scancode_to_keycode(:scancode_audionext),
|
614
|
+
:keycode_audioprev, scancode_to_keycode(:scancode_audioprev),
|
615
|
+
:keycode_audiostop, scancode_to_keycode(:scancode_audiostop),
|
616
|
+
:keycode_audioplay, scancode_to_keycode(:scancode_audioplay),
|
617
|
+
:keycode_audiomute, scancode_to_keycode(:scancode_audiomute),
|
618
|
+
:keycode_mediaselect, scancode_to_keycode(:scancode_mediaselect),
|
619
|
+
:keycode_www, scancode_to_keycode(:scancode_www),
|
620
|
+
:keycode_mail, scancode_to_keycode(:scancode_mail),
|
621
|
+
:keycode_calculator, scancode_to_keycode(:scancode_calculator),
|
622
|
+
:keycode_computer, scancode_to_keycode(:scancode_computer),
|
623
|
+
:keycode_ac_search, scancode_to_keycode(:scancode_ac_search),
|
624
|
+
:keycode_ac_home, scancode_to_keycode(:scancode_ac_home),
|
625
|
+
:keycode_ac_back, scancode_to_keycode(:scancode_ac_back),
|
626
|
+
:keycode_ac_forward, scancode_to_keycode(:scancode_ac_forward),
|
627
|
+
:keycode_ac_stop, scancode_to_keycode(:scancode_ac_stop),
|
628
|
+
:keycode_ac_refresh, scancode_to_keycode(:scancode_ac_refresh),
|
629
|
+
:keycode_ac_bookmarks, scancode_to_keycode(:scancode_ac_bookmarks),
|
630
|
+
|
631
|
+
:keycode_brightnessdown, scancode_to_keycode(:scancode_brightnessdown),
|
632
|
+
:keycode_brightnessup, scancode_to_keycode(:scancode_brightnessup),
|
633
|
+
:keycode_displayswitch, scancode_to_keycode(:scancode_displayswitch),
|
634
|
+
:keycode_kbdillumtoggle, scancode_to_keycode(:scancode_kbdillumtoggle),
|
635
|
+
:keycode_kbdillumdown, scancode_to_keycode(:scancode_kbdillumdown),
|
636
|
+
:keycode_kbdillumup, scancode_to_keycode(:scancode_kbdillumup),
|
637
|
+
:keycode_eject, scancode_to_keycode(:scancode_eject),
|
638
|
+
:keycode_sleep, scancode_to_keycode(:scancode_sleep)
|
639
|
+
]
|
640
|
+
|
641
|
+
end
|