hokusai-zero 0.2.6.pre.pinephone → 0.2.6.pre.pinephone3
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/ast/src/core/input.c +0 -85
- data/ast/src/core/input.h +0 -32
- data/hokusai.gemspec +1 -1
- data/ui/examples/embedded.rb +0 -1
- data/ui/examples/forum/file.rb +1 -1
- data/ui/examples/forum/post.rb +0 -1
- data/ui/examples/forum.rb +7 -7
- data/ui/examples/keyboard.rb +47 -0
- data/ui/examples/shader/test.rb +28 -18
- data/ui/examples/spreadsheet.rb +12 -11
- data/ui/lib/lib_hokusai.rb +19 -39
- data/ui/spec/hokusai/e2e/keyboard_spec.rb +52 -0
- data/ui/src/hokusai/assets/icons/outline/arrow-big-up.svg +19 -0
- data/ui/src/hokusai/assets/icons/outline/backspace.svg +20 -0
- data/ui/src/hokusai/backends/raylib.rb +7 -5
- data/ui/src/hokusai/backends/sdl2/config.rb +9 -6
- data/ui/src/hokusai/backends/sdl2/font.rb +3 -1
- data/ui/src/hokusai/backends/sdl2.rb +164 -65
- data/ui/src/hokusai/blocks/input.rb +1 -1
- data/ui/src/hokusai/blocks/keyboard.rb +234 -0
- data/ui/src/hokusai/blocks/slider.rb +139 -0
- data/ui/src/hokusai/commands/rect.rb +2 -2
- data/ui/src/hokusai/event.rb +1 -1
- data/ui/src/hokusai/events/{embedded.rb → touch.rb} +12 -18
- data/ui/src/hokusai/painter.rb +5 -5
- data/ui/src/hokusai/types.rb +180 -17
- data/ui/src/hokusai/util/wrap_stream.rb +197 -0
- data/ui/src/hokusai.rb +61 -30
- data/xmake.lua +1 -1
- metadata +9 -6
- data/ui/src/hokusai/backends/embedded/config.rb +0 -47
- data/ui/src/hokusai/backends/embedded/font.rb +0 -112
- data/ui/src/hokusai/backends/embedded/keys.rb +0 -124
- data/ui/src/hokusai/backends/embedded.rb +0 -564
data/ui/src/hokusai.rb
CHANGED
@@ -13,35 +13,6 @@ require_relative './hokusai/event'
|
|
13
13
|
require_relative './hokusai/painter'
|
14
14
|
require_relative './hokusai/util/selection'
|
15
15
|
require_relative './hokusai/util/piece_table'
|
16
|
-
require_relative './hokusai/blocks/empty'
|
17
|
-
require_relative './hokusai/blocks/vblock'
|
18
|
-
require_relative './hokusai/blocks/hblock'
|
19
|
-
require_relative './hokusai/blocks/label'
|
20
|
-
require_relative './hokusai/blocks/rect'
|
21
|
-
require_relative './hokusai/blocks/button'
|
22
|
-
require_relative './hokusai/blocks/circle'
|
23
|
-
require_relative './hokusai/blocks/checkbox'
|
24
|
-
require_relative './hokusai/blocks/scissor_begin'
|
25
|
-
require_relative './hokusai/blocks/scissor_end'
|
26
|
-
require_relative './hokusai/blocks/clipped'
|
27
|
-
require_relative './hokusai/blocks/cursor'
|
28
|
-
require_relative './hokusai/blocks/image'
|
29
|
-
require_relative './hokusai/blocks/svg'
|
30
|
-
require_relative './hokusai/blocks/toggle'
|
31
|
-
require_relative './hokusai/blocks/scrollbar'
|
32
|
-
require_relative './hokusai/blocks/dynamic'
|
33
|
-
require_relative './hokusai/blocks/panel'
|
34
|
-
require_relative './hokusai/blocks/text'
|
35
|
-
require_relative './hokusai/blocks/selectable'
|
36
|
-
require_relative './hokusai/blocks/input'
|
37
|
-
require_relative './hokusai/blocks/variable'
|
38
|
-
require_relative './hokusai/blocks/titlebar/osx'
|
39
|
-
require_relative './hokusai/blocks/modal'
|
40
|
-
require_relative './hokusai/blocks/dropdown'
|
41
|
-
require_relative './hokusai/blocks/shader_begin'
|
42
|
-
require_relative './hokusai/blocks/shader_end'
|
43
|
-
require_relative './hokusai/blocks/texture'
|
44
|
-
require_relative './hokusai/blocks/color_picker'
|
45
16
|
|
46
17
|
# A backend agnostic library for authoring
|
47
18
|
# desktop applications
|
@@ -60,6 +31,10 @@ module Hokusai
|
|
60
31
|
SHADER_UNIFORM_UIVEC3 = 10 # Shader uniform type: uivec3 (3 unsigned int)
|
61
32
|
SHADER_UNIFORM_UIVEC4 = 11 # Shader uniform type: uivec4 (4 unsigned int)
|
62
33
|
|
34
|
+
def self.asset(path)
|
35
|
+
"#{ASSETS_FOLDER}/#{path}"
|
36
|
+
end
|
37
|
+
|
63
38
|
# Access the font registry
|
64
39
|
#
|
65
40
|
# @return [Hokusai::FontRegistry]
|
@@ -161,4 +136,60 @@ module Hokusai
|
|
161
136
|
def self.set_mouse_cursor(type)
|
162
137
|
@on_set_mouse_cursor&.call(type)
|
163
138
|
end
|
164
|
-
|
139
|
+
|
140
|
+
# Mobile support
|
141
|
+
def self.on_show_keyboard(&block)
|
142
|
+
@on_show_keyboard = block
|
143
|
+
end
|
144
|
+
|
145
|
+
def self.show_keyboard
|
146
|
+
@on_show_keyboard&.call
|
147
|
+
end
|
148
|
+
|
149
|
+
def self.on_hide_keyboard(&block)
|
150
|
+
@on_hide_keyboard = block
|
151
|
+
end
|
152
|
+
|
153
|
+
def self.hide_keyboard
|
154
|
+
@on_hide_keyboard&.call
|
155
|
+
end
|
156
|
+
|
157
|
+
def self.on_keyboard_visible(&block)
|
158
|
+
@on_keyboard_visible = block
|
159
|
+
end
|
160
|
+
|
161
|
+
def self.keyboard_visible?
|
162
|
+
@on_keyboard_visible&.call
|
163
|
+
end
|
164
|
+
end
|
165
|
+
|
166
|
+
require_relative './hokusai/blocks/empty'
|
167
|
+
require_relative './hokusai/blocks/vblock'
|
168
|
+
require_relative './hokusai/blocks/hblock'
|
169
|
+
require_relative './hokusai/blocks/label'
|
170
|
+
require_relative './hokusai/blocks/rect'
|
171
|
+
require_relative './hokusai/blocks/button'
|
172
|
+
require_relative './hokusai/blocks/circle'
|
173
|
+
require_relative './hokusai/blocks/checkbox'
|
174
|
+
require_relative './hokusai/blocks/scissor_begin'
|
175
|
+
require_relative './hokusai/blocks/scissor_end'
|
176
|
+
require_relative './hokusai/blocks/clipped'
|
177
|
+
require_relative './hokusai/blocks/cursor'
|
178
|
+
require_relative './hokusai/blocks/image'
|
179
|
+
require_relative './hokusai/blocks/svg'
|
180
|
+
require_relative './hokusai/blocks/toggle'
|
181
|
+
require_relative './hokusai/blocks/scrollbar'
|
182
|
+
require_relative './hokusai/blocks/dynamic'
|
183
|
+
require_relative './hokusai/blocks/panel'
|
184
|
+
require_relative './hokusai/blocks/text'
|
185
|
+
require_relative './hokusai/blocks/selectable'
|
186
|
+
require_relative './hokusai/blocks/input'
|
187
|
+
require_relative './hokusai/blocks/variable'
|
188
|
+
require_relative './hokusai/blocks/titlebar/osx'
|
189
|
+
require_relative './hokusai/blocks/modal'
|
190
|
+
require_relative './hokusai/blocks/dropdown'
|
191
|
+
require_relative './hokusai/blocks/shader_begin'
|
192
|
+
require_relative './hokusai/blocks/shader_end'
|
193
|
+
require_relative './hokusai/blocks/texture'
|
194
|
+
require_relative './hokusai/blocks/color_picker'
|
195
|
+
require_relative './hokusai/blocks/keyboard'
|
data/xmake.lua
CHANGED
@@ -159,7 +159,7 @@ target("test-ast")
|
|
159
159
|
)
|
160
160
|
-- add_cflags("-Wall -Werror")
|
161
161
|
after_build(function(target)
|
162
|
-
os.exec("./%s -t
|
162
|
+
os.exec("./%s -t input", target:targetfile())
|
163
163
|
-- os.exec("leaks -atExit -- %s", target:targetfile())
|
164
164
|
end)
|
165
165
|
target_end()
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hokusai-zero
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.6.pre.
|
4
|
+
version: 0.2.6.pre.pinephone3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- skinnyjames
|
@@ -174,6 +174,7 @@ files:
|
|
174
174
|
- ui/examples/forum/music.rb
|
175
175
|
- ui/examples/forum/post.rb
|
176
176
|
- ui/examples/game.rb
|
177
|
+
- ui/examples/keyboard.rb
|
177
178
|
- ui/examples/overlay.rb
|
178
179
|
- ui/examples/provider.rb
|
179
180
|
- ui/examples/shader.rb
|
@@ -192,6 +193,7 @@ files:
|
|
192
193
|
- ui/spec/hokusai/diff_spec.rb
|
193
194
|
- ui/spec/hokusai/directives_spec.rb
|
194
195
|
- ui/spec/hokusai/e2e/client_spec.rb
|
196
|
+
- ui/spec/hokusai/e2e/keyboard_spec.rb
|
195
197
|
- ui/spec/hokusai/e2e/meta_spec.rb
|
196
198
|
- ui/spec/hokusai/providers_spec.rb
|
197
199
|
- ui/spec/hokusai/publisher_spec.rb
|
@@ -204,6 +206,8 @@ files:
|
|
204
206
|
- ui/src/hokusai/assets/arrow-down-wide-line.png
|
205
207
|
- ui/src/hokusai/assets/arrow-drop-down-line.png
|
206
208
|
- ui/src/hokusai/assets/close-large-line.png
|
209
|
+
- ui/src/hokusai/assets/icons/outline/arrow-big-up.svg
|
210
|
+
- ui/src/hokusai/assets/icons/outline/backspace.svg
|
207
211
|
- ui/src/hokusai/ast.rb
|
208
212
|
- ui/src/hokusai/automation.rb
|
209
213
|
- ui/src/hokusai/automation/client.rb
|
@@ -220,10 +224,6 @@ files:
|
|
220
224
|
- ui/src/hokusai/automation/keys_transcoder.rb
|
221
225
|
- ui/src/hokusai/automation/selector.rb
|
222
226
|
- ui/src/hokusai/automation/server.rb
|
223
|
-
- ui/src/hokusai/backends/embedded.rb
|
224
|
-
- ui/src/hokusai/backends/embedded/config.rb
|
225
|
-
- ui/src/hokusai/backends/embedded/font.rb
|
226
|
-
- ui/src/hokusai/backends/embedded/keys.rb
|
227
227
|
- ui/src/hokusai/backends/raylib.rb
|
228
228
|
- ui/src/hokusai/backends/raylib/config.rb
|
229
229
|
- ui/src/hokusai/backends/raylib/font.rb
|
@@ -247,6 +247,7 @@ files:
|
|
247
247
|
- ui/src/hokusai/blocks/hblock.rb
|
248
248
|
- ui/src/hokusai/blocks/image.rb
|
249
249
|
- ui/src/hokusai/blocks/input.rb
|
250
|
+
- ui/src/hokusai/blocks/keyboard.rb
|
250
251
|
- ui/src/hokusai/blocks/label.rb
|
251
252
|
- ui/src/hokusai/blocks/modal.rb
|
252
253
|
- ui/src/hokusai/blocks/panel.rb
|
@@ -257,6 +258,7 @@ files:
|
|
257
258
|
- ui/src/hokusai/blocks/selectable.rb
|
258
259
|
- ui/src/hokusai/blocks/shader_begin.rb
|
259
260
|
- ui/src/hokusai/blocks/shader_end.rb
|
261
|
+
- ui/src/hokusai/blocks/slider.rb
|
260
262
|
- ui/src/hokusai/blocks/svg.rb
|
261
263
|
- ui/src/hokusai/blocks/text.rb
|
262
264
|
- ui/src/hokusai/blocks/texture.rb
|
@@ -276,9 +278,9 @@ files:
|
|
276
278
|
- ui/src/hokusai/diff.rb
|
277
279
|
- ui/src/hokusai/error.rb
|
278
280
|
- ui/src/hokusai/event.rb
|
279
|
-
- ui/src/hokusai/events/embedded.rb
|
280
281
|
- ui/src/hokusai/events/keyboard.rb
|
281
282
|
- ui/src/hokusai/events/mouse.rb
|
283
|
+
- ui/src/hokusai/events/touch.rb
|
282
284
|
- ui/src/hokusai/font.rb
|
283
285
|
- ui/src/hokusai/meta.rb
|
284
286
|
- ui/src/hokusai/mounting/loop_entry.rb
|
@@ -293,6 +295,7 @@ files:
|
|
293
295
|
- ui/src/hokusai/util/clamping_iterator.rb
|
294
296
|
- ui/src/hokusai/util/piece_table.rb
|
295
297
|
- ui/src/hokusai/util/selection.rb
|
298
|
+
- ui/src/hokusai/util/wrap_stream.rb
|
296
299
|
- ui/vendor/.gitkeep
|
297
300
|
- vendor/.gitkeep
|
298
301
|
- xmake.lua
|
@@ -1,47 +0,0 @@
|
|
1
|
-
module Hokusai::Backends
|
2
|
-
class EmbeddedBackend::ConfigError < StandardError; end
|
3
|
-
|
4
|
-
class EmbeddedBackend::Config
|
5
|
-
attr_accessor :width, :height, :fps,
|
6
|
-
:title, :config_flags, :window_state_flags,
|
7
|
-
:automation_driver, :background, :after_load_cb,
|
8
|
-
:host, :port, :automated, :on_reload, :event_waiting
|
9
|
-
|
10
|
-
def initialize
|
11
|
-
@width = 500
|
12
|
-
@height = 500
|
13
|
-
@fps = 60
|
14
|
-
@title = "(Unknown Title)"
|
15
|
-
@config_flags = Raylib::FLAG_WINDOW_RESIZABLE | Raylib::FLAG_VSYNC_HINT
|
16
|
-
@window_state_flags = Raylib::FLAG_WINDOW_RESIZABLE
|
17
|
-
@automation_driver = nil
|
18
|
-
@background = Raylib::WHITE
|
19
|
-
@after_load_cb = nil
|
20
|
-
@host = "127.0.0.1"
|
21
|
-
@port = 4333
|
22
|
-
@automated = false
|
23
|
-
@on_reload = ->(_){}
|
24
|
-
@event_waiting = false
|
25
|
-
end
|
26
|
-
|
27
|
-
def start_automation_driver
|
28
|
-
raise ConfigError.new("Need a Hokusai::Driver in order to automate") if automation_driver.nil?
|
29
|
-
|
30
|
-
automation_driver.serve(host, port)
|
31
|
-
end
|
32
|
-
|
33
|
-
def automate(host, port)
|
34
|
-
self.host = host
|
35
|
-
self.port = port
|
36
|
-
self.automated = true
|
37
|
-
end
|
38
|
-
|
39
|
-
def after_load(&block)
|
40
|
-
self.after_load_cb = block
|
41
|
-
end
|
42
|
-
|
43
|
-
def on_reload(&block)
|
44
|
-
@on_reload = block
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
@@ -1,112 +0,0 @@
|
|
1
|
-
module Hokusai
|
2
|
-
module Backends
|
3
|
-
class EmbeddedBackend
|
4
|
-
class DataForCb < FFI::Struct
|
5
|
-
layout :size, :int,
|
6
|
-
:spacing, :int,
|
7
|
-
:raw, :pointer
|
8
|
-
|
9
|
-
def self.create(size, spacing, raw)
|
10
|
-
obj = new.tap do |instance|
|
11
|
-
instance[:size] = size
|
12
|
-
instance[:spacing] = spacing
|
13
|
-
instance[:raw] = raw
|
14
|
-
end
|
15
|
-
|
16
|
-
yield obj.to_ptr
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
OnWidthCb = Proc.new do |char, ffi_pointer|
|
21
|
-
data = DataForCb.new ffi_pointer
|
22
|
-
|
23
|
-
Raylib.MeasureTextEx(data[:raw], "#{char.chr}", data[:size], data[:spacing]).x + 1.565#@ data[:spacing]
|
24
|
-
end
|
25
|
-
|
26
|
-
class Font < Hokusai::Font
|
27
|
-
attr_reader :raw
|
28
|
-
|
29
|
-
DEFAULT = "–—‘’“”…\r\n\t0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%%^&*(),.?/\"\\[]-_=+|~`{}<>;:'\0"
|
30
|
-
|
31
|
-
def self.default
|
32
|
-
font = Raylib.GetFontDefault
|
33
|
-
Raylib.SetTextureFilter(font.texture, Raylib::TEXTURE_FILTER_BILINEAR)
|
34
|
-
# Raylib.GenTextureMipmaps(font.texture)
|
35
|
-
|
36
|
-
new(font)
|
37
|
-
end
|
38
|
-
|
39
|
-
def self.from(file)
|
40
|
-
font = Raylib.LoadFont(file)
|
41
|
-
Raylib.SetTextureFilter(font.texture, Raylib::TEXTURE_FILTER_BILINEAR)
|
42
|
-
# Raylib.GenTextureMipmaps(font.texture)
|
43
|
-
|
44
|
-
new(font)
|
45
|
-
end
|
46
|
-
|
47
|
-
def self.from_ext(file, font_size, codepoint_string = DEFAULT)
|
48
|
-
ptr = FFI::MemoryPointer.new :int
|
49
|
-
codepoints = Raylib.LoadCodepoints(codepoint_string, ptr)
|
50
|
-
count = ptr.read_int
|
51
|
-
|
52
|
-
raylib_font = Raylib.LoadFontEx(file, font_size, codepoints, count)
|
53
|
-
# Raylib.GenTextureMipmaps(raylib_font.texture)
|
54
|
-
Raylib.SetTextureFilter(raylib_font.texture, Raylib::TEXTURE_FILTER_BILINEAR)
|
55
|
-
|
56
|
-
font = new(raylib_font)
|
57
|
-
Raylib.UnloadCodepoints(codepoints)
|
58
|
-
|
59
|
-
font
|
60
|
-
end
|
61
|
-
|
62
|
-
def initialize(raw, spacing = 1.0)
|
63
|
-
@raw = raw
|
64
|
-
@spacing = spacing
|
65
|
-
end
|
66
|
-
|
67
|
-
# returns the spacing for this font
|
68
|
-
# based on the text size
|
69
|
-
def spacing
|
70
|
-
ssize = raw.baseSize || 1
|
71
|
-
ssize = 10 if ssize < 10
|
72
|
-
|
73
|
-
(ssize / (raw.baseSize.zero? ? 1 : raw.baseSize)).to_f
|
74
|
-
end
|
75
|
-
|
76
|
-
def measure(string, size)
|
77
|
-
vec = Raylib.MeasureTextEx(raw, string, size, spacing)
|
78
|
-
|
79
|
-
[vec.x, vec.y]
|
80
|
-
end
|
81
|
-
|
82
|
-
def height
|
83
|
-
raw.baseSize
|
84
|
-
end
|
85
|
-
|
86
|
-
def clamp_markdown(text, size, width, initial_offset = 0.0)
|
87
|
-
clamping_pointer = FFI::MemoryPointer.new :pointer
|
88
|
-
RaylibBackend::DataForCb.create(size, spacing, raw) do |ptr|
|
89
|
-
ret = LibHokusai.hoku_text_md_clamp(clamping_pointer, text, width, initial_offset, ptr, RaylibBackend::OnWidthCb)
|
90
|
-
raise Hokusai::Error.new("Clamping failed") unless ret.zero?
|
91
|
-
end
|
92
|
-
|
93
|
-
clamping = LibHokusai::HokuClamping.new(FFI::AutoPointer.new(clamping_pointer.get_pointer(0), LibHokusai.method(:hoku_text_clamping_free)))
|
94
|
-
|
95
|
-
Hokusai::Clamping.new(clamping, markdown: true)
|
96
|
-
end
|
97
|
-
|
98
|
-
def clamp(text, size, width, initial_offset = 0.0)
|
99
|
-
clamping_pointer = FFI::MemoryPointer.new :pointer
|
100
|
-
EmbeddedBackend::DataForCb.create(size, spacing, raw) do |ptr|
|
101
|
-
ret = LibHokusai.hoku_text_clamp(clamping_pointer, text, width, initial_offset, ptr, EmbeddedBackend::OnWidthCb)
|
102
|
-
raise Hokusai::Error.new("Clamping failed") unless ret.zero?
|
103
|
-
end
|
104
|
-
|
105
|
-
clamping = LibHokusai::HokuClamping.new(FFI::AutoPointer.new(clamping_pointer.get_pointer(0), LibHokusai.method(:hoku_text_clamping_free)))
|
106
|
-
|
107
|
-
Hokusai::Clamping.new(clamping)
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
@@ -1,124 +0,0 @@
|
|
1
|
-
module Hokusai::Backends
|
2
|
-
class EmbeddedBackend
|
3
|
-
Keys = [
|
4
|
-
[:null, Raylib::KEY_NULL],
|
5
|
-
[:left_shift, Raylib::KEY_LEFT_SHIFT],
|
6
|
-
[:left_control, Raylib::KEY_LEFT_CONTROL],
|
7
|
-
[:left_alt, Raylib::KEY_LEFT_ALT],
|
8
|
-
[:left_super, Raylib::KEY_LEFT_SUPER],
|
9
|
-
[:right_shift, Raylib::KEY_RIGHT_SHIFT],
|
10
|
-
[:right_control, Raylib::KEY_RIGHT_CONTROL],
|
11
|
-
[:right_alt, Raylib::KEY_RIGHT_ALT],
|
12
|
-
[:right_super, Raylib::KEY_RIGHT_SUPER],
|
13
|
-
[:apostrophe, Raylib::KEY_APOSTROPHE],
|
14
|
-
[:comma, Raylib::KEY_COMMA],
|
15
|
-
[:minus, Raylib::KEY_MINUS],
|
16
|
-
[:period, Raylib::KEY_PERIOD],
|
17
|
-
[:slash, Raylib::KEY_SLASH],
|
18
|
-
[:zero, Raylib::KEY_ZERO],
|
19
|
-
[:one, Raylib::KEY_ONE],
|
20
|
-
[:two, Raylib::KEY_TWO],
|
21
|
-
[:three, Raylib::KEY_THREE],
|
22
|
-
[:four, Raylib::KEY_FOUR],
|
23
|
-
[:five, Raylib::KEY_FIVE],
|
24
|
-
[:six, Raylib::KEY_SIX],
|
25
|
-
[:seven, Raylib::KEY_SEVEN],
|
26
|
-
[:eight, Raylib::KEY_EIGHT],
|
27
|
-
[:nine, Raylib::KEY_NINE],
|
28
|
-
[:semicolon, Raylib::KEY_SEMICOLON],
|
29
|
-
[:equal, Raylib::KEY_EQUAL],
|
30
|
-
[:a, Raylib::KEY_A],
|
31
|
-
[:b, Raylib::KEY_B],
|
32
|
-
[:c, Raylib::KEY_C],
|
33
|
-
[:d, Raylib::KEY_D],
|
34
|
-
[:e, Raylib::KEY_E],
|
35
|
-
[:f, Raylib::KEY_F],
|
36
|
-
[:g, Raylib::KEY_G],
|
37
|
-
[:h, Raylib::KEY_H],
|
38
|
-
[:i, Raylib::KEY_I],
|
39
|
-
[:j, Raylib::KEY_J],
|
40
|
-
[:k, Raylib::KEY_K],
|
41
|
-
[:l, Raylib::KEY_L],
|
42
|
-
[:m, Raylib::KEY_M],
|
43
|
-
[:n, Raylib::KEY_N],
|
44
|
-
[:o, Raylib::KEY_O],
|
45
|
-
[:p, Raylib::KEY_P],
|
46
|
-
[:q, Raylib::KEY_Q],
|
47
|
-
[:r, Raylib::KEY_R],
|
48
|
-
[:s, Raylib::KEY_S],
|
49
|
-
[:t, Raylib::KEY_T],
|
50
|
-
[:u, Raylib::KEY_U],
|
51
|
-
[:v, Raylib::KEY_V],
|
52
|
-
[:w, Raylib::KEY_W],
|
53
|
-
[:x, Raylib::KEY_X],
|
54
|
-
[:y, Raylib::KEY_Y],
|
55
|
-
[:z, Raylib::KEY_Z],
|
56
|
-
[:left_bracket, Raylib::KEY_LEFT_BRACKET],
|
57
|
-
[:backslash, Raylib::KEY_BACKSLASH],
|
58
|
-
[:right_bracket, Raylib::KEY_RIGHT_BRACKET],
|
59
|
-
[:grave, Raylib::KEY_GRAVE],
|
60
|
-
[:space, Raylib::KEY_SPACE],
|
61
|
-
[:escape, Raylib::KEY_ESCAPE],
|
62
|
-
[:enter, Raylib::KEY_ENTER],
|
63
|
-
[:tab, Raylib::KEY_TAB],
|
64
|
-
[:backspace, Raylib::KEY_BACKSPACE],
|
65
|
-
[:insert, Raylib::KEY_INSERT],
|
66
|
-
[:delete, Raylib::KEY_DELETE],
|
67
|
-
[:right, Raylib::KEY_RIGHT],
|
68
|
-
[:left, Raylib::KEY_LEFT],
|
69
|
-
[:down, Raylib::KEY_DOWN],
|
70
|
-
[:up, Raylib::KEY_UP],
|
71
|
-
[:page_up, Raylib::KEY_PAGE_UP],
|
72
|
-
[:page_down, Raylib::KEY_PAGE_DOWN],
|
73
|
-
[:home, Raylib::KEY_HOME],
|
74
|
-
[:end, Raylib::KEY_END],
|
75
|
-
[:caps_lock, Raylib::KEY_CAPS_LOCK],
|
76
|
-
[:scroll_lock, Raylib::KEY_SCROLL_LOCK],
|
77
|
-
[:num_lock, Raylib::KEY_NUM_LOCK],
|
78
|
-
[:print_screen, Raylib::KEY_PRINT_SCREEN],
|
79
|
-
[:pause, Raylib::KEY_PAUSE],
|
80
|
-
[:f1, Raylib::KEY_F1],
|
81
|
-
[:f2, Raylib::KEY_F2],
|
82
|
-
[:f3, Raylib::KEY_F3],
|
83
|
-
[:f4, Raylib::KEY_F4],
|
84
|
-
[:f5, Raylib::KEY_F5],
|
85
|
-
[:f6, Raylib::KEY_F6],
|
86
|
-
[:f7, Raylib::KEY_F7],
|
87
|
-
[:f8, Raylib::KEY_F8],
|
88
|
-
[:f9, Raylib::KEY_F9],
|
89
|
-
[:f10, Raylib::KEY_F10],
|
90
|
-
[:f11, Raylib::KEY_F11],
|
91
|
-
[:f12, Raylib::KEY_F12],
|
92
|
-
[:left_shift, Raylib::KEY_LEFT_SHIFT],
|
93
|
-
[:left_control, Raylib::KEY_LEFT_CONTROL],
|
94
|
-
[:left_alt, Raylib::KEY_LEFT_ALT],
|
95
|
-
[:left_super, Raylib::KEY_LEFT_SUPER],
|
96
|
-
[:right_shift, Raylib::KEY_RIGHT_SHIFT],
|
97
|
-
[:right_control, Raylib::KEY_RIGHT_CONTROL],
|
98
|
-
[:right_alt, Raylib::KEY_RIGHT_ALT],
|
99
|
-
[:right_super, Raylib::KEY_RIGHT_SUPER],
|
100
|
-
[:kb_menu, Raylib::KEY_KB_MENU],
|
101
|
-
[:kp_0, Raylib::KEY_KP_0],
|
102
|
-
[:kp_1, Raylib::KEY_KP_1],
|
103
|
-
[:kp_2, Raylib::KEY_KP_2],
|
104
|
-
[:kp_3, Raylib::KEY_KP_3],
|
105
|
-
[:kp_4, Raylib::KEY_KP_4],
|
106
|
-
[:kp_5, Raylib::KEY_KP_5],
|
107
|
-
[:kp_6, Raylib::KEY_KP_6],
|
108
|
-
[:kp_7, Raylib::KEY_KP_7],
|
109
|
-
[:kp_8, Raylib::KEY_KP_8],
|
110
|
-
[:kp_9, Raylib::KEY_KP_9],
|
111
|
-
[:kp_decimal, Raylib::KEY_KP_DECIMAL],
|
112
|
-
[:kp_divide, Raylib::KEY_KP_DIVIDE],
|
113
|
-
[:kp_multiply, Raylib::KEY_KP_MULTIPLY],
|
114
|
-
[:kp_subtract, Raylib::KEY_KP_SUBTRACT],
|
115
|
-
[:kp_add, Raylib::KEY_KP_ADD],
|
116
|
-
[:kp_enter, Raylib::KEY_KP_ENTER],
|
117
|
-
[:kp_equal, Raylib::KEY_KP_EQUAL],
|
118
|
-
[:back, Raylib::KEY_BACK],
|
119
|
-
[:menu, Raylib::KEY_MENU],
|
120
|
-
[:volume_up, Raylib::KEY_VOLUME_UP],
|
121
|
-
[:volume_down, Raylib::KEY_VOLUME_DOWN]]
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|