sdl2_ffi 0.0.3 → 0.0.4

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.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/README.md +31 -17
  4. data/bin/yard +16 -0
  5. data/bin/yardoc +16 -0
  6. data/bin/yri +16 -0
  7. data/graph +566 -0
  8. data/lib/enumerable_constants.rb +82 -0
  9. data/lib/sdl2.rb +74 -117
  10. data/lib/sdl2/audio.rb +10 -7
  11. data/lib/sdl2/clipboard.rb +3 -3
  12. data/lib/sdl2/events.rb +228 -168
  13. data/lib/sdl2/gem_version.rb +1 -1
  14. data/lib/sdl2/haptic.rb +366 -55
  15. data/lib/sdl2/hints.rb +36 -24
  16. data/lib/sdl2/image.rb +4 -10
  17. data/lib/sdl2/init.rb +21 -31
  18. data/lib/sdl2/joystick.rb +15 -12
  19. data/lib/sdl2/keycode.rb +261 -261
  20. data/lib/sdl2/library.rb +96 -0
  21. data/lib/sdl2/mouse.rb +22 -17
  22. data/lib/sdl2/pixel_format.rb +2 -1
  23. data/lib/sdl2/pixels.rb +114 -161
  24. data/lib/sdl2/rect.rb +14 -10
  25. data/lib/sdl2/render.rb +29 -13
  26. data/lib/sdl2/renderer.rb +9 -2
  27. data/lib/sdl2/rwops.rb +11 -7
  28. data/lib/sdl2/scancode.rb +246 -245
  29. data/lib/sdl2/stdinc.rb +213 -0
  30. data/lib/sdl2/surface.rb +23 -7
  31. data/lib/sdl2/ttf.rb +23 -19
  32. data/lib/sdl2/version.rb +8 -2
  33. data/lib/sdl2/video.rb +64 -73
  34. data/lib/sdl2/window.rb +143 -36
  35. data/lib/sdl2_ffi.rb +2 -1
  36. data/sdl2_ffi.gemspec +3 -1
  37. data/test/fixtures/an_example.png +0 -0
  38. data/test/fixtures/background.bmp +0 -0
  39. data/test/fixtures/hello.bmp +0 -0
  40. data/test/functional/examples/test_lazy_foo_examples.rb +123 -0
  41. data/test/functional/examples/test_readme_examples.rb +15 -0
  42. data/test/unit/sdl2/test_haptic.rb +17 -0
  43. data/test/unit/sdl2/test_hints.rb +9 -9
  44. data/test/unit/sdl2/test_init.rb +8 -8
  45. data/test/unit/sdl2/test_log.rb +1 -1
  46. data/test/unit/sdl2/test_pixel_format.rb +3 -1
  47. data/test/unit/sdl2/test_video.rb +3 -3
  48. data/test/unit/sdl2/test_window.rb +4 -4
  49. data/test/unit/test_scratch.rb +2 -2
  50. metadata +37 -16
@@ -1,47 +1,59 @@
1
1
  require 'sdl2'
2
2
 
3
3
  module SDL2
4
-
5
- HINT_FRAMEBUFFER_ACCELERATION = "SDL_FRAMEBUFFER_ACCELERATION"
6
- HINT_RENDER_DRIVER = "SDL_RENDER_DRIVER"
7
- HINT_RENDER_OPENGL_SHADERS = "SDL_RENDER_OPENGL_SHADERS"
8
- HINT_RENDER_SCALE_QUALITY = "SDL_RENDER_SCALE_QUALITY"
9
- HINT_RENDER_VSYNC = "SDL_RENDER_VSYNC"
10
- HINT_VIDEO_X11_XVIDMODE = "SDL_VIDEO_X11_XVIDMODE"
11
- HINT_VIDEO_X11_XINERAMA = "SDL_VIDEO_X11_XINERAMA"
12
- HINT_VIDEO_X11_XRANDR = "SDL_VIDEO_X11_XRANDR"
13
- HINT_GRAB_KEYBOARD = "SDL_GRAB_KEYBOARD"
14
- HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS = "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
15
- HINT_IDLE_TIMER_DISABLED = "SDL_IOS_IDLE_TIMER_DISABLED"
16
- HINT_ORIENTATIONS = "SDL_IOS_ORIENTATIONS"
17
- HINT_XINPUT_ENABLED = "SDL_XINPUT_ENABLED"
18
-
19
- HINT_GAMECONTROLLERCONFIG = "SDL_GAMECONTROLLERCONFIG"
20
-
21
- HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS = "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
22
- HINT_ALLOW_TOPMOST = "SDL_ALLOW_TOPMOST"
23
- HINT_TIMER_RESOLUTION = "SDL_TIMER_RESOLUTION"
4
+
5
+ module HINT
6
+ include EnumerableConstants
7
+ FRAMEBUFFER_ACCELERATION = "SDL_FRAMEBUFFER_ACCELERATION"
8
+ RENDER_DRIVER = "SDL_RENDER_DRIVER"
9
+ RENDER_OPENGL_SHADERS = "SDL_RENDER_OPENGL_SHADERS"
10
+ RENDER_SCALE_QUALITY = "SDL_RENDER_SCALE_QUALITY"
11
+ RENDER_VSYNC = "SDL_RENDER_VSYNC"
12
+ VIDEO_X11_XVIDMODE = "SDL_VIDEO_X11_XVIDMODE"
13
+ VIDEO_X11_XINERAMA = "SDL_VIDEO_X11_XINERAMA"
14
+ VIDEO_X11_XRANDR = "SDL_VIDEO_X11_XRANDR"
15
+ GRAB_KEYBOARD = "SDL_GRAB_KEYBOARD"
16
+ VIDEO_MINIMIZE_ON_FOCUS_LOSS = "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS"
17
+ IDLE_TIMER_DISABLED = "SDL_IOS_IDLE_TIMER_DISABLED"
18
+ ORIENTATIONS = "SDL_IOS_ORIENTATIONS"
19
+ XINPUT_ENABLED = "SDL_XINPUT_ENABLED"
20
+
21
+ GAMECONTROLLERCONFIG = "SDL_GAMECONTROLLERCONFIG"
22
+
23
+ JOYSTICK_ALLOW_BACKGROUND_EVENTS = "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS"
24
+ ALLOW_TOPMOST = "SDL_ALLOW_TOPMOST"
25
+ TIMER_RESOLUTION = "SDL_TIMER_RESOLUTION"
26
+ end
24
27
 
25
28
  enum :hint_priority, [:default, :normal, :override]
26
29
 
27
30
  class Hint
31
+ include HINT
32
+ # Get the named Hint's value.
33
+ # @returns String, the value.
28
34
  def self.[](name)
29
35
  SDL2.get_hint(name)
30
36
  end
31
37
 
32
- # Sets the named Hint to Value. Returns new value on success or existing value on failure
38
+ # Sets the named Hint to Value.
39
+ # @returns String, the actual value.
40
+ # @raises RuntimeError
33
41
  def self.[]=(name, value)
34
- return SDL2.set_hint(name, value) == :true ? value : self[name]
42
+ SDL2.set_hint!(name, value)
43
+ self[name]
35
44
  end
36
45
 
46
+ # Sets the named Hint to Value, with a hint_priority.
47
+ # @returns String, the actual value.
37
48
  def self.set_with_priority(name, value, hint_priority)
38
- return SDL2.set_hint_with_priority(name, value, hint_priority) == :true ? value : self[name]
49
+ SDL2.set_hint_with_priority(name, value, hint_priority)
50
+ self[name]
39
51
  end
40
52
  end
41
53
 
42
54
  api :SDL_ClearHints, [], :void
43
55
  api :SDL_GetHint, [:string], :string
44
- api :SDL_SetHint, [:string, :string], :bool
56
+ api :SDL_SetHint, [:string, :string], :bool, {error: true}
45
57
  api :SDL_SetHintWithPriority, [:string, :string, :hint_priority], :bool
46
58
 
47
59
  end
@@ -6,23 +6,17 @@ require 'active_support/inflector'
6
6
  module SDL2
7
7
 
8
8
  module Image
9
-
10
9
  extend FFI::Library
10
+ extend Library
11
11
  ffi_lib SDL_IMAGE_MODULE
12
12
 
13
- def self.api(func_name, args, type)
14
- camelCaseName = func_name.to_s.gsub('IMG_', '')
15
- methodName = ActiveSupport::Inflector.underscore(camelCaseName).to_sym
16
- self.attach_function methodName, func_name, args, type
17
- return methodName
18
- end
19
13
 
20
14
  enum :init_flags, [:JPG, :PNG, :TIF, :WEBP]
21
15
 
22
16
  api :IMG_Init, [:init_flags], :int
23
17
  api :IMG_Quit, [], :void
24
18
  api :IMG_LoadTyped_RW, [RWops.by_ref, :int, :string], Surface.auto_ptr
25
- api :IMG_Load, [:string], Surface.auto_ptr
19
+ api :IMG_Load, [:string], Surface.auto_ptr, {error: true, filter: TRUE_WHEN_NOT_NULL }
26
20
  api :IMG_Load_RW, [RWops.by_ref, :int], Surface.auto_ptr
27
21
 
28
22
  api :IMG_isICO, [RWops.by_ref], :int
@@ -55,9 +49,9 @@ module SDL2
55
49
  api :IMG_LoadXPM_RW, [RWops.by_ref], Surface.auto_ptr
56
50
  api :IMG_LoadXV_RW, [RWops.by_ref], Surface.auto_ptr
57
51
  api :IMG_LoadWEBP_RW, [RWops.by_ref], Surface.auto_ptr
58
-
52
+
59
53
  api :IMG_ReadXPMFromArray, [:pointer], Surface.auto_ptr
60
-
54
+
61
55
  api :IMG_SavePNG, [Surface.by_ref, :string], :int
62
56
  api :IMG_SavePNG_RW, [Surface.by_ref, RWops.by_ref, :int], :int
63
57
 
@@ -2,40 +2,28 @@ require 'sdl2'
2
2
  require 'sdl2/error'
3
3
 
4
4
  module SDL2
5
- # SDL Constants, for OR'ing them
6
- INIT_TIMER = 0x00000001
7
- INIT_AUDIO = 0x00000010
8
- INIT_VIDEO = 0x00000020
9
- INIT_JOYSTICK = 0x00000200
10
- INIT_HAPTIC = 0x00001000
11
- INIT_GAMECONTROLLER = 0x00002000
12
- INIT_EVENTS = 0x00004000
13
- INIT_NOPARACHUTE = 0x00100000
14
- INIT_EVERYTHING = INIT_TIMER | INIT_AUDIO | INIT_VIDEO |
15
- INIT_EVENTS | INIT_JOYSTICK | INIT_HAPTIC |
16
- INIT_GAMECONTROLLER
17
-
18
- enum :init_flag, [
19
- :nothing, 0,
20
- :timer, INIT_TIMER,
21
- :audio, INIT_AUDIO,
22
- :video, INIT_VIDEO,
23
- :joystick, INIT_JOYSTICK,
24
- :haptic, INIT_HAPTIC,
25
- :game_controller, INIT_GAMECONTROLLER,
26
- :events, INIT_EVENTS,
27
- :no_parachute, INIT_NOPARACHUTE,
28
- :everything, INIT_EVERYTHING
29
- ]
5
+
6
+ # Enumeration of valid initialization flags.
7
+ module INIT
8
+ include EnumerableConstants
9
+
10
+ TIMER = 0x00000001
11
+ AUDIO = 0x00000010
12
+ VIDEO = 0x00000020
13
+ JOYSTICK = 0x00000200
14
+ HAPTIC = 0x00001000
15
+ GAMECONTROLLER = 0x00002000
16
+ EVENTS = 0x00004000
17
+ NOPARACHUTE = 0x00100000
18
+ EVERYTHING = TIMER | AUDIO | VIDEO | EVENTS | JOYSTICK | HAPTIC | GAMECONTROLLER
19
+
20
+ end
21
+
22
+ enum :init_flag, INIT.flatten_consts
23
+
30
24
 
31
25
  api :SDL_Init, [:init_flag], :int, {error: true}
32
26
 
33
- #def self.init!(flags)
34
- # error_code = init(flags)
35
- # if (error_code != 0)
36
- # throw get_error()
37
- # end
38
- #end
39
27
 
40
28
  api :SDL_InitSubSystem, [:init_flag], :int, {error: true}
41
29
 
@@ -47,6 +35,8 @@ module SDL2
47
35
  end
48
36
 
49
37
  api :SDL_WasInit, [:init_flag], :uint32
38
+
39
+ boolean? :was_init, TRUE_WHEN_NOT_ZERO
50
40
 
51
41
  api :SDL_Quit, [], :void
52
42
 
@@ -2,6 +2,7 @@ require 'sdl2'
2
2
 
3
3
  module SDL2
4
4
 
5
+ # Joystick structure used to internally identify a joystick
5
6
  class Joystick < Struct
6
7
 
7
8
  # TODO: Review if the Joystick layout should be hidden.
@@ -13,6 +14,7 @@ module SDL2
13
14
 
14
15
  end
15
16
 
17
+ # A structure that encodes the stable unique id for a joystick device
16
18
  class JoystickGUID < Struct
17
19
  layout :data, [:uint8, 16] #line 69
18
20
  end
@@ -38,18 +40,19 @@ module SDL2
38
40
  api :SDL_JoystickEventState, [:int], :int
39
41
  api :SDL_JoystickGetAxis, [Joystick.by_ref, :int], :int16
40
42
 
41
- HAT_HASH = {
42
- :CENTERED => 0x00,
43
- :UP => 0x01,
44
- :RIGHT => 0x02,
45
- :DOWN => 0x04,
46
- :LEFT => 0x08
47
- }
48
- HAT_HASH[:RIGHTUP]=(HAT_HASH[:RIGHT]|HAT_HASH[:UP])
49
- HAT_HASH[:RIGHTDOWN]= (HAT_HASH[:RIGHT]|HAT_HASH[:DOWN])
50
- HAT_HASH[:LEFTUP]= (HAT_HASH[:LEFT]|HAT_HASH[:UP])
51
- HAT_HASH[:LEFTDOWN]= (HAT_HASH[:LEFT]|HAT_HASH[:DOWN])
52
- Hat = Enum.new(:JOYSTICK_HAT, HAT_HASH)
43
+ # Hat positions
44
+ module HAT
45
+ include EnumerableConstants
46
+ CENTERED = 0x00
47
+ UP = 0x01
48
+ RIGHT = 0x02
49
+ DOWN = 0x04
50
+ LEFT = 0x08
51
+ RIGHTUP = RIGHT | UP
52
+ RIGHTDOWN = RIGHT | DOWN
53
+ LEFTUP = LEFT | UP
54
+ LEFTDOWN = LEFT | DOWN
55
+ end
53
56
 
54
57
  api :SDL_JoystickGetHat, [Joystick.by_ref, :int], :uint8
55
58
  api :SDL_JoystickGetBall, [Joystick.by_ref, :int, IntStruct.by_ref, IntStruct.by_ref], :int
@@ -1,6 +1,5 @@
1
1
  require 'sdl2'
2
2
  require 'sdl2/scancode'
3
- require 'yinum'
4
3
 
5
4
  module SDL2
6
5
 
@@ -14,281 +13,282 @@ module SDL2
14
13
  scancode | SCANCODE_MASK
15
14
  end
16
15
 
17
- Keycode = Enum.new(:KEYCODE, {
18
- :UNKNOWN => 0,
16
+ module KEYCODE
17
+ include EnumerableConstants
18
+ UNKNOWN = 0
19
19
 
20
- :RETURN => '\r',
21
- :ESCAPE => '\033',
22
- :BACKSPACE => '\b',
23
- :TAB => '\t',
24
- :SPACE => ' ',
25
- :EXCLAIM => '!',
26
- :QUOTEDBL => '"',
27
- :HASH => '#',
28
- :PERCENT => '%',
29
- :DOLLAR => '$',
30
- :AMPERSAND => '&',
31
- :QUOTE => '\'',
32
- :LEFTPAREN => '(',
33
- :RIGHTPAREN => ')',
34
- :ASTERISK => '*',
35
- :PLUS => '+',
36
- :COMMA => ',',
37
- :MINUS => '-',
38
- :PERIOD => '.',
39
- :SLASH => '/',
40
- :'0' => '0',
41
- :'1' => '1',
42
- :'2' => '2',
43
- :'3' => '3',
44
- :'4' => '4',
45
- :'5' => '5',
46
- :'6' => '6',
47
- :'7' => '7',
48
- :'8' => '8',
49
- :'9' => '9',
50
- :COLON => ':',
51
- :SEMICOLON => ';',
52
- :LESS => '<',
53
- :EQUALS => '=',
54
- :GREATER => '>',
55
- :QUESTION => '?',
56
- :AT => '@',
20
+ RETURN = '\r'
21
+ ESCAPE = '\033'
22
+ BACKSPACE = '\b'
23
+ TAB = '\t'
24
+ SPACE = ' '
25
+ EXCLAIM = '!'
26
+ QUOTEDBL = '"'
27
+ HASH = '#'
28
+ PERCENT = '%'
29
+ DOLLAR = '$'
30
+ AMPERSAND = '&'
31
+ QUOTE = '\''
32
+ LEFTPAREN = '('
33
+ RIGHTPAREN = ')'
34
+ ASTERISK = '*'
35
+ PLUS = '+'
36
+ COMMA = ','
37
+ MINUS = '-'
38
+ PERIOD = '.'
39
+ SLASH = '/'
40
+ N0 = '0'
41
+ N1 = '1'
42
+ N2 = '2'
43
+ N3 = '3'
44
+ N4 = '4'
45
+ N5 = '5'
46
+ N6 = '6'
47
+ N7 = '7'
48
+ N8 = '8'
49
+ N9 = '9'
50
+ COLON = ':'
51
+ SEMICOLON = ';'
52
+ LESS = '<'
53
+ EQUALS = '='
54
+ GREATER = '>'
55
+ QUESTION = '?'
56
+ AT = '@'
57
57
 
58
- :LEFTBRACKET => '[',
59
- :BACKSLASH => '\\',
60
- :RIGHTBRACKET => ']',
61
- :CARET => '^',
62
- :UNDERSCORE => '_',
63
- :BACKQUOTE => '`',
64
- :a => 'a',
65
- :b => 'b',
66
- :c => 'c',
67
- :d => 'd',
68
- :e => 'e',
69
- :f => 'f',
70
- :g => 'g',
71
- :h => 'h',
72
- :i => 'i',
73
- :j => 'j',
74
- :k => 'k',
75
- :l => 'l',
76
- :m => 'm',
77
- :n => 'n',
78
- :o => 'o',
79
- :p => 'p',
80
- :q => 'q',
81
- :r => 'r',
82
- :s => 's',
83
- :t => 't',
84
- :u => 'u',
85
- :v => 'v',
86
- :w => 'w',
87
- :x => 'x',
88
- :y => 'y',
89
- :z => 'z',
58
+ LEFTBRACKET = '['
59
+ BACKSLASH = '\\'
60
+ RIGHTBRACKET = ']'
61
+ CARET = '^'
62
+ UNDERSCORE = '_'
63
+ BACKQUOTE = '`'
64
+ a = 'a'
65
+ b = 'b'
66
+ c = 'c'
67
+ d = 'd'
68
+ e = 'e'
69
+ f = 'f'
70
+ g = 'g'
71
+ h = 'h'
72
+ i = 'i'
73
+ j = 'j'
74
+ k = 'k'
75
+ l = 'l'
76
+ m = 'm'
77
+ n = 'n'
78
+ o = 'o'
79
+ p = 'p'
80
+ q = 'q'
81
+ r = 'r'
82
+ s = 's'
83
+ t = 't'
84
+ u = 'u'
85
+ v = 'v'
86
+ w = 'w'
87
+ x = 'x'
88
+ y = 'y'
89
+ z = 'z'
90
90
 
91
- :CAPSLOCK => scancode_to_keycode(Scancode.CAPSLOCK),
91
+ CAPSLOCK = SDL2.scancode_to_keycode(SCANCODE::CAPSLOCK)
92
92
 
93
- :F1 => scancode_to_keycode(Scancode.F1),
94
- :F2 => scancode_to_keycode(Scancode.F2),
95
- :F3 => scancode_to_keycode(Scancode.F3),
96
- :F4 => scancode_to_keycode(Scancode.F4),
97
- :F5 => scancode_to_keycode(Scancode.F5),
98
- :F6 => scancode_to_keycode(Scancode.F6),
99
- :F7 => scancode_to_keycode(Scancode.F7),
100
- :F8 => scancode_to_keycode(Scancode.F8),
101
- :F9 => scancode_to_keycode(Scancode.F9),
102
- :F10 => scancode_to_keycode(Scancode.F10),
103
- :F11 => scancode_to_keycode(Scancode.F11),
104
- :F12 => scancode_to_keycode(Scancode.F12),
93
+ F1 = SDL2.scancode_to_keycode(SCANCODE::F1)
94
+ F2 = SDL2.scancode_to_keycode(SCANCODE::F2)
95
+ F3 = SDL2.scancode_to_keycode(SCANCODE::F3)
96
+ F4 = SDL2.scancode_to_keycode(SCANCODE::F4)
97
+ F5 = SDL2.scancode_to_keycode(SCANCODE::F5)
98
+ F6 = SDL2.scancode_to_keycode(SCANCODE::F6)
99
+ F7 = SDL2.scancode_to_keycode(SCANCODE::F7)
100
+ F8 = SDL2.scancode_to_keycode(SCANCODE::F8)
101
+ F9 = SDL2.scancode_to_keycode(SCANCODE::F9)
102
+ F10 = SDL2.scancode_to_keycode(SCANCODE::F10)
103
+ F11 = SDL2.scancode_to_keycode(SCANCODE::F11)
104
+ F12 = SDL2.scancode_to_keycode(SCANCODE::F12)
105
105
 
106
- :PRINTSCREEN => scancode_to_keycode(Scancode.PRINTSCREEN),
107
- :SCROLLLOCK => scancode_to_keycode(Scancode.SCROLLLOCK),
108
- :PAUSE => scancode_to_keycode(Scancode.PAUSE),
109
- :INSERT => scancode_to_keycode(Scancode.INSERT),
110
- :HOME => scancode_to_keycode(Scancode.HOME),
111
- :PAGEUP => scancode_to_keycode(Scancode.PAGEUP),
112
- :DELETE => '\177',
113
- :END => scancode_to_keycode(Scancode.END),
114
- :PAGEDOWN => scancode_to_keycode(Scancode.PAGEDOWN),
115
- :RIGHT => scancode_to_keycode(Scancode.RIGHT),
116
- :LEFT => scancode_to_keycode(Scancode.LEFT),
117
- :DOWN => scancode_to_keycode(Scancode.DOWN),
118
- :UP => scancode_to_keycode(Scancode.UP),
106
+ PRINTSCREEN = SDL2.scancode_to_keycode(SCANCODE::PRINTSCREEN)
107
+ SCROLLLOCK = SDL2.scancode_to_keycode(SCANCODE::SCROLLLOCK)
108
+ PAUSE = SDL2.scancode_to_keycode(SCANCODE::PAUSE)
109
+ INSERT = SDL2.scancode_to_keycode(SCANCODE::INSERT)
110
+ HOME = SDL2.scancode_to_keycode(SCANCODE::HOME)
111
+ PAGEUP = SDL2.scancode_to_keycode(SCANCODE::PAGEUP)
112
+ DELETE = '\177'
113
+ END_ = SDL2.scancode_to_keycode(SCANCODE::END_)
114
+ PAGEDOWN = SDL2.scancode_to_keycode(SCANCODE::PAGEDOWN)
115
+ RIGHT = SDL2.scancode_to_keycode(SCANCODE::RIGHT)
116
+ LEFT = SDL2.scancode_to_keycode(SCANCODE::LEFT)
117
+ DOWN = SDL2.scancode_to_keycode(SCANCODE::DOWN)
118
+ UP = SDL2.scancode_to_keycode(SCANCODE::UP)
119
119
 
120
- :NUMLOCKCLEAR => scancode_to_keycode(Scancode.NUMLOCKCLEAR),
121
- :KP_DIVIDE => scancode_to_keycode(Scancode.KP_DIVIDE),
122
- :KP_MULTIPLY => scancode_to_keycode(Scancode.KP_MULTIPLY),
123
- :KP_MINUS => scancode_to_keycode(Scancode.KP_MINUS),
124
- :KP_PLUS => scancode_to_keycode(Scancode.KP_PLUS),
125
- :KP_ENTER => scancode_to_keycode(Scancode.KP_ENTER),
126
- :KP_1 => scancode_to_keycode(Scancode.KP_1),
127
- :KP_2 => scancode_to_keycode(Scancode.KP_2),
128
- :KP_3 => scancode_to_keycode(Scancode.KP_3),
129
- :KP_4 => scancode_to_keycode(Scancode.KP_4),
130
- :KP_5 => scancode_to_keycode(Scancode.KP_5),
131
- :KP_6 => scancode_to_keycode(Scancode.KP_6),
132
- :KP_7 => scancode_to_keycode(Scancode.KP_7),
133
- :KP_8 => scancode_to_keycode(Scancode.KP_8),
134
- :KP_9 => scancode_to_keycode(Scancode.KP_9),
135
- :KP_0 => scancode_to_keycode(Scancode.KP_0),
136
- :KP_PERIOD => scancode_to_keycode(Scancode.KP_PERIOD),
120
+ NUMLOCKCLEAR = SDL2.scancode_to_keycode(SCANCODE::NUMLOCKCLEAR)
121
+ KP_DIVIDE = SDL2.scancode_to_keycode(SCANCODE::KP_DIVIDE)
122
+ KP_MULTIPLY = SDL2.scancode_to_keycode(SCANCODE::KP_MULTIPLY)
123
+ KP_MINUS = SDL2.scancode_to_keycode(SCANCODE::KP_MINUS)
124
+ KP_PLUS = SDL2.scancode_to_keycode(SCANCODE::KP_PLUS)
125
+ KP_ENTER = SDL2.scancode_to_keycode(SCANCODE::KP_ENTER)
126
+ KP_1 = SDL2.scancode_to_keycode(SCANCODE::KP_1)
127
+ KP_2 = SDL2.scancode_to_keycode(SCANCODE::KP_2)
128
+ KP_3 = SDL2.scancode_to_keycode(SCANCODE::KP_3)
129
+ KP_4 = SDL2.scancode_to_keycode(SCANCODE::KP_4)
130
+ KP_5 = SDL2.scancode_to_keycode(SCANCODE::KP_5)
131
+ KP_6 = SDL2.scancode_to_keycode(SCANCODE::KP_6)
132
+ KP_7 = SDL2.scancode_to_keycode(SCANCODE::KP_7)
133
+ KP_8 = SDL2.scancode_to_keycode(SCANCODE::KP_8)
134
+ KP_9 = SDL2.scancode_to_keycode(SCANCODE::KP_9)
135
+ KP_0 = SDL2.scancode_to_keycode(SCANCODE::KP_0)
136
+ KP_PERIOD = SDL2.scancode_to_keycode(SCANCODE::KP_PERIOD)
137
137
 
138
- :APPLICATION => scancode_to_keycode(Scancode.APPLICATION),
139
- :POWER => scancode_to_keycode(Scancode.POWER),
140
- :KP_EQUALS => scancode_to_keycode(Scancode.KP_EQUALS),
141
- :F13 => scancode_to_keycode(Scancode.F13),
142
- :F14 => scancode_to_keycode(Scancode.F14),
143
- :F15 => scancode_to_keycode(Scancode.F15),
144
- :F16 => scancode_to_keycode(Scancode.F16),
145
- :F17 => scancode_to_keycode(Scancode.F17),
146
- :F18 => scancode_to_keycode(Scancode.F18),
147
- :F19 => scancode_to_keycode(Scancode.F19),
148
- :F20 => scancode_to_keycode(Scancode.F20),
149
- :F21 => scancode_to_keycode(Scancode.F21),
150
- :F22 => scancode_to_keycode(Scancode.F22),
151
- :F23 => scancode_to_keycode(Scancode.F23),
152
- :F24 => scancode_to_keycode(Scancode.F24),
153
- :EXECUTE => scancode_to_keycode(Scancode.EXECUTE),
154
- :HELP => scancode_to_keycode(Scancode.HELP),
155
- :MENU => scancode_to_keycode(Scancode.MENU),
156
- :SELECT => scancode_to_keycode(Scancode.SELECT),
157
- :STOP => scancode_to_keycode(Scancode.STOP),
158
- :AGAIN => scancode_to_keycode(Scancode.AGAIN),
159
- :UNDO => scancode_to_keycode(Scancode.UNDO),
160
- :CUT => scancode_to_keycode(Scancode.CUT),
161
- :COPY => scancode_to_keycode(Scancode.COPY),
162
- :PASTE => scancode_to_keycode(Scancode.PASTE),
163
- :FIND => scancode_to_keycode(Scancode.FIND),
164
- :MUTE => scancode_to_keycode(Scancode.MUTE),
165
- :VOLUMEUP => scancode_to_keycode(Scancode.VOLUMEUP),
166
- :VOLUMEDOWN => scancode_to_keycode(Scancode.VOLUMEDOWN),
167
- :KP_COMMA => scancode_to_keycode(Scancode.KP_COMMA),
168
- :KP_EQUALSAS400 => scancode_to_keycode(Scancode.KP_EQUALSAS400),
138
+ APPLICATION = SDL2.scancode_to_keycode(SCANCODE::APPLICATION)
139
+ POWER = SDL2.scancode_to_keycode(SCANCODE::POWER)
140
+ KP_EQUALS = SDL2.scancode_to_keycode(SCANCODE::KP_EQUALS)
141
+ F13 = SDL2.scancode_to_keycode(SCANCODE::F13)
142
+ F14 = SDL2.scancode_to_keycode(SCANCODE::F14)
143
+ F15 = SDL2.scancode_to_keycode(SCANCODE::F15)
144
+ F16 = SDL2.scancode_to_keycode(SCANCODE::F16)
145
+ F17 = SDL2.scancode_to_keycode(SCANCODE::F17)
146
+ F18 = SDL2.scancode_to_keycode(SCANCODE::F18)
147
+ F19 = SDL2.scancode_to_keycode(SCANCODE::F19)
148
+ F20 = SDL2.scancode_to_keycode(SCANCODE::F20)
149
+ F21 = SDL2.scancode_to_keycode(SCANCODE::F21)
150
+ F22 = SDL2.scancode_to_keycode(SCANCODE::F22)
151
+ F23 = SDL2.scancode_to_keycode(SCANCODE::F23)
152
+ F24 = SDL2.scancode_to_keycode(SCANCODE::F24)
153
+ EXECUTE = SDL2.scancode_to_keycode(SCANCODE::EXECUTE)
154
+ HELP = SDL2.scancode_to_keycode(SCANCODE::HELP)
155
+ MENU = SDL2.scancode_to_keycode(SCANCODE::MENU)
156
+ SELECT = SDL2.scancode_to_keycode(SCANCODE::SELECT)
157
+ STOP = SDL2.scancode_to_keycode(SCANCODE::STOP)
158
+ AGAIN = SDL2.scancode_to_keycode(SCANCODE::AGAIN)
159
+ UNDO = SDL2.scancode_to_keycode(SCANCODE::UNDO)
160
+ CUT = SDL2.scancode_to_keycode(SCANCODE::CUT)
161
+ COPY = SDL2.scancode_to_keycode(SCANCODE::COPY)
162
+ PASTE = SDL2.scancode_to_keycode(SCANCODE::PASTE)
163
+ FIND = SDL2.scancode_to_keycode(SCANCODE::FIND)
164
+ MUTE = SDL2.scancode_to_keycode(SCANCODE::MUTE)
165
+ VOLUMEUP = SDL2.scancode_to_keycode(SCANCODE::VOLUMEUP)
166
+ VOLUMEDOWN = SDL2.scancode_to_keycode(SCANCODE::VOLUMEDOWN)
167
+ KP_COMMA = SDL2.scancode_to_keycode(SCANCODE::KP_COMMA)
168
+ KP_EQUALSAS400 = SDL2.scancode_to_keycode(SCANCODE::KP_EQUALSAS400)
169
169
 
170
- :ALTERASE => scancode_to_keycode(Scancode.ALTERASE),
171
- :SYSREQ => scancode_to_keycode(Scancode.SYSREQ),
172
- :CANCEL => scancode_to_keycode(Scancode.CANCEL),
173
- :CLEAR => scancode_to_keycode(Scancode.CLEAR),
174
- :PRIOR => scancode_to_keycode(Scancode.PRIOR),
175
- :RETURN2 => scancode_to_keycode(Scancode.RETURN2),
176
- :SEPARATOR => scancode_to_keycode(Scancode.SEPARATOR),
177
- :OUT => scancode_to_keycode(Scancode.OUT),
178
- :OPER => scancode_to_keycode(Scancode.OPER),
179
- :CLEARAGAIN => scancode_to_keycode(Scancode.CLEARAGAIN),
180
- :CRSEL => scancode_to_keycode(Scancode.CRSEL),
181
- :EXSEL => scancode_to_keycode(Scancode.EXSEL),
170
+ ALTERASE = SDL2.scancode_to_keycode(SCANCODE::ALTERASE)
171
+ SYSREQ = SDL2.scancode_to_keycode(SCANCODE::SYSREQ)
172
+ CANCEL = SDL2.scancode_to_keycode(SCANCODE::CANCEL)
173
+ CLEAR = SDL2.scancode_to_keycode(SCANCODE::CLEAR)
174
+ PRIOR = SDL2.scancode_to_keycode(SCANCODE::PRIOR)
175
+ RETURN2 = SDL2.scancode_to_keycode(SCANCODE::RETURN2)
176
+ SEPARATOR = SDL2.scancode_to_keycode(SCANCODE::SEPARATOR)
177
+ OUT = SDL2.scancode_to_keycode(SCANCODE::OUT)
178
+ OPER = SDL2.scancode_to_keycode(SCANCODE::OPER)
179
+ CLEARAGAIN = SDL2.scancode_to_keycode(SCANCODE::CLEARAGAIN)
180
+ CRSEL = SDL2.scancode_to_keycode(SCANCODE::CRSEL)
181
+ EXSEL = SDL2.scancode_to_keycode(SCANCODE::EXSEL)
182
182
 
183
- :KP_00 => scancode_to_keycode(Scancode.KP_00),
184
- :KP_000 => scancode_to_keycode(Scancode.KP_000),
185
- :THOUSANDSSEPARATOR => scancode_to_keycode(Scancode.THOUSANDSSEPARATOR),
186
- :DECIMALSEPARATOR => scancode_to_keycode(Scancode.DECIMALSEPARATOR),
187
- :CURRENCYUNIT => scancode_to_keycode(Scancode.CURRENCYUNIT),
188
- :CURRENCYSUBUNIT => scancode_to_keycode(Scancode.CURRENCYSUBUNIT),
189
- :KP_LEFTPAREN => scancode_to_keycode(Scancode.KP_LEFTPAREN),
190
- :KP_RIGHTPAREN => scancode_to_keycode(Scancode.KP_RIGHTPAREN),
191
- :KP_LEFTBRACE => scancode_to_keycode(Scancode.KP_LEFTBRACE),
192
- :KP_RIGHTBRACE => scancode_to_keycode(Scancode.KP_RIGHTBRACE),
193
- :KP_TAB => scancode_to_keycode(Scancode.KP_TAB),
194
- :KP_BACKSPACE => scancode_to_keycode(Scancode.KP_BACKSPACE),
195
- :KP_A => scancode_to_keycode(Scancode.KP_A),
196
- :KP_B => scancode_to_keycode(Scancode.KP_B),
197
- :KP_C => scancode_to_keycode(Scancode.KP_C),
198
- :KP_D => scancode_to_keycode(Scancode.KP_D),
199
- :KP_E => scancode_to_keycode(Scancode.KP_E),
200
- :KP_F => scancode_to_keycode(Scancode.KP_F),
201
- :KP_XOR => scancode_to_keycode(Scancode.KP_XOR),
202
- :KP_POWER => scancode_to_keycode(Scancode.KP_POWER),
203
- :KP_PERCENT => scancode_to_keycode(Scancode.KP_PERCENT),
204
- :KP_LESS => scancode_to_keycode(Scancode.KP_LESS),
205
- :KP_GREATER => scancode_to_keycode(Scancode.KP_GREATER),
206
- :KP_AMPERSAND => scancode_to_keycode(Scancode.KP_AMPERSAND),
207
- :KP_DBLAMPERSAND => scancode_to_keycode(Scancode.KP_DBLAMPERSAND),
208
- :KP_VERTICALBAR => scancode_to_keycode(Scancode.KP_VERTICALBAR),
209
- :KP_DBLVERTICALBAR => scancode_to_keycode(Scancode.KP_DBLVERTICALBAR),
210
- :KP_COLON => scancode_to_keycode(Scancode.KP_COLON),
211
- :KP_HASH => scancode_to_keycode(Scancode.KP_HASH),
212
- :KP_SPACE => scancode_to_keycode(Scancode.KP_SPACE),
213
- :KP_AT => scancode_to_keycode(Scancode.KP_AT),
214
- :KP_EXCLAM => scancode_to_keycode(Scancode.KP_EXCLAM),
215
- :KP_MEMSTORE => scancode_to_keycode(Scancode.KP_MEMSTORE),
216
- :KP_MEMRECALL => scancode_to_keycode(Scancode.KP_MEMRECALL),
217
- :KP_MEMCLEAR => scancode_to_keycode(Scancode.KP_MEMCLEAR),
218
- :KP_MEMADD => scancode_to_keycode(Scancode.KP_MEMADD),
219
- :KP_MEMSUBTRACT => scancode_to_keycode(Scancode.KP_MEMSUBTRACT),
220
- :KP_MEMMULTIPLY => scancode_to_keycode(Scancode.KP_MEMMULTIPLY),
221
- :KP_MEMDIVIDE => scancode_to_keycode(Scancode.KP_MEMDIVIDE),
222
- :KP_PLUSMINUS => scancode_to_keycode(Scancode.KP_PLUSMINUS),
223
- :KP_CLEAR => scancode_to_keycode(Scancode.KP_CLEAR),
224
- :KP_CLEARENTRY => scancode_to_keycode(Scancode.KP_CLEARENTRY),
225
- :KP_BINARY => scancode_to_keycode(Scancode.KP_BINARY),
226
- :KP_OCTAL => scancode_to_keycode(Scancode.KP_OCTAL),
227
- :KP_DECIMAL => scancode_to_keycode(Scancode.KP_DECIMAL),
228
- :KP_HEXADECIMAL => scancode_to_keycode(Scancode.KP_HEXADECIMAL),
183
+ KP_00 = SDL2.scancode_to_keycode(SCANCODE::KP_00)
184
+ KP_000 = SDL2.scancode_to_keycode(SCANCODE::KP_000)
185
+ THOUSANDSSEPARATOR = SDL2.scancode_to_keycode(SCANCODE::THOUSANDSSEPARATOR)
186
+ DECIMALSEPARATOR = SDL2.scancode_to_keycode(SCANCODE::DECIMALSEPARATOR)
187
+ CURRENCYUNIT = SDL2.scancode_to_keycode(SCANCODE::CURRENCYUNIT)
188
+ CURRENCYSUBUNIT = SDL2.scancode_to_keycode(SCANCODE::CURRENCYSUBUNIT)
189
+ KP_LEFTPAREN = SDL2.scancode_to_keycode(SCANCODE::KP_LEFTPAREN)
190
+ KP_RIGHTPAREN = SDL2.scancode_to_keycode(SCANCODE::KP_RIGHTPAREN)
191
+ KP_LEFTBRACE = SDL2.scancode_to_keycode(SCANCODE::KP_LEFTBRACE)
192
+ KP_RIGHTBRACE = SDL2.scancode_to_keycode(SCANCODE::KP_RIGHTBRACE)
193
+ KP_TAB = SDL2.scancode_to_keycode(SCANCODE::KP_TAB)
194
+ KP_BACKSPACE = SDL2.scancode_to_keycode(SCANCODE::KP_BACKSPACE)
195
+ KP_A = SDL2.scancode_to_keycode(SCANCODE::KP_A)
196
+ KP_B = SDL2.scancode_to_keycode(SCANCODE::KP_B)
197
+ KP_C = SDL2.scancode_to_keycode(SCANCODE::KP_C)
198
+ KP_D = SDL2.scancode_to_keycode(SCANCODE::KP_D)
199
+ KP_E = SDL2.scancode_to_keycode(SCANCODE::KP_E)
200
+ KP_F = SDL2.scancode_to_keycode(SCANCODE::KP_F)
201
+ KP_XOR = SDL2.scancode_to_keycode(SCANCODE::KP_XOR)
202
+ KP_POWER = SDL2.scancode_to_keycode(SCANCODE::KP_POWER)
203
+ KP_PERCENT = SDL2.scancode_to_keycode(SCANCODE::KP_PERCENT)
204
+ KP_LESS = SDL2.scancode_to_keycode(SCANCODE::KP_LESS)
205
+ KP_GREATER = SDL2.scancode_to_keycode(SCANCODE::KP_GREATER)
206
+ KP_AMPERSAND = SDL2.scancode_to_keycode(SCANCODE::KP_AMPERSAND)
207
+ KP_DBLAMPERSAND = SDL2.scancode_to_keycode(SCANCODE::KP_DBLAMPERSAND)
208
+ KP_VERTICALBAR = SDL2.scancode_to_keycode(SCANCODE::KP_VERTICALBAR)
209
+ KP_DBLVERTICALBAR = SDL2.scancode_to_keycode(SCANCODE::KP_DBLVERTICALBAR)
210
+ KP_COLON = SDL2.scancode_to_keycode(SCANCODE::KP_COLON)
211
+ KP_HASH = SDL2.scancode_to_keycode(SCANCODE::KP_HASH)
212
+ KP_SPACE = SDL2.scancode_to_keycode(SCANCODE::KP_SPACE)
213
+ KP_AT = SDL2.scancode_to_keycode(SCANCODE::KP_AT)
214
+ KP_EXCLAM = SDL2.scancode_to_keycode(SCANCODE::KP_EXCLAM)
215
+ KP_MEMSTORE = SDL2.scancode_to_keycode(SCANCODE::KP_MEMSTORE)
216
+ KP_MEMRECALL = SDL2.scancode_to_keycode(SCANCODE::KP_MEMRECALL)
217
+ KP_MEMCLEAR = SDL2.scancode_to_keycode(SCANCODE::KP_MEMCLEAR)
218
+ KP_MEMADD = SDL2.scancode_to_keycode(SCANCODE::KP_MEMADD)
219
+ KP_MEMSUBTRACT = SDL2.scancode_to_keycode(SCANCODE::KP_MEMSUBTRACT)
220
+ KP_MEMMULTIPLY = SDL2.scancode_to_keycode(SCANCODE::KP_MEMMULTIPLY)
221
+ KP_MEMDIVIDE = SDL2.scancode_to_keycode(SCANCODE::KP_MEMDIVIDE)
222
+ KP_PLUSMINUS = SDL2.scancode_to_keycode(SCANCODE::KP_PLUSMINUS)
223
+ KP_CLEAR = SDL2.scancode_to_keycode(SCANCODE::KP_CLEAR)
224
+ KP_CLEARENTRY = SDL2.scancode_to_keycode(SCANCODE::KP_CLEARENTRY)
225
+ KP_BINARY = SDL2.scancode_to_keycode(SCANCODE::KP_BINARY)
226
+ KP_OCTAL = SDL2.scancode_to_keycode(SCANCODE::KP_OCTAL)
227
+ KP_DECIMAL = SDL2.scancode_to_keycode(SCANCODE::KP_DECIMAL)
228
+ KP_HEXADECIMAL = SDL2.scancode_to_keycode(SCANCODE::KP_HEXADECIMAL)
229
229
 
230
- :LCTRL => scancode_to_keycode(Scancode.LCTRL),
231
- :LSHIFT => scancode_to_keycode(Scancode.LSHIFT),
232
- :LALT => scancode_to_keycode(Scancode.LALT),
233
- :LGUI => scancode_to_keycode(Scancode.LGUI),
234
- :RCTRL => scancode_to_keycode(Scancode.RCTRL),
235
- :RSHIFT => scancode_to_keycode(Scancode.RSHIFT),
236
- :RALT => scancode_to_keycode(Scancode.RALT),
237
- :RGUI => scancode_to_keycode(Scancode.RGUI),
230
+ LCTRL = SDL2.scancode_to_keycode(SCANCODE::LCTRL)
231
+ LSHIFT = SDL2.scancode_to_keycode(SCANCODE::LSHIFT)
232
+ LALT = SDL2.scancode_to_keycode(SCANCODE::LALT)
233
+ LGUI = SDL2.scancode_to_keycode(SCANCODE::LGUI)
234
+ RCTRL = SDL2.scancode_to_keycode(SCANCODE::RCTRL)
235
+ RSHIFT = SDL2.scancode_to_keycode(SCANCODE::RSHIFT)
236
+ RALT = SDL2.scancode_to_keycode(SCANCODE::RALT)
237
+ RGUI = SDL2.scancode_to_keycode(SCANCODE::RGUI)
238
238
 
239
- :MODE => scancode_to_keycode(Scancode.MODE),
239
+ MODE = SDL2.scancode_to_keycode(SCANCODE::MODE)
240
240
 
241
- :AUDIONEXT => scancode_to_keycode(Scancode.AUDIONEXT),
242
- :AUDIOPREV => scancode_to_keycode(Scancode.AUDIOPREV),
243
- :AUDIOSTOP => scancode_to_keycode(Scancode.AUDIOSTOP),
244
- :AUDIOPLAY => scancode_to_keycode(Scancode.AUDIOPLAY),
245
- :AUDIOMUTE => scancode_to_keycode(Scancode.AUDIOMUTE),
246
- :MEDIASELECT => scancode_to_keycode(Scancode.MEDIASELECT),
247
- :WWW => scancode_to_keycode(Scancode.WWW),
248
- :MAIL => scancode_to_keycode(Scancode.MAIL),
249
- :CALCULATOR => scancode_to_keycode(Scancode.CALCULATOR),
250
- :COMPUTER => scancode_to_keycode(Scancode.COMPUTER),
251
- :AC_SEARCH => scancode_to_keycode(Scancode.AC_SEARCH),
252
- :AC_HOME => scancode_to_keycode(Scancode.AC_HOME),
253
- :AC_BACK => scancode_to_keycode(Scancode.AC_BACK),
254
- :AC_FORWARD => scancode_to_keycode(Scancode.AC_FORWARD),
255
- :AC_STOP => scancode_to_keycode(Scancode.AC_STOP),
256
- :AC_REFRESH => scancode_to_keycode(Scancode.AC_REFRESH),
257
- :AC_BOOKMARKS => scancode_to_keycode(Scancode.AC_BOOKMARKS),
241
+ AUDIONEXT = SDL2.scancode_to_keycode(SCANCODE::AUDIONEXT)
242
+ AUDIOPREV = SDL2.scancode_to_keycode(SCANCODE::AUDIOPREV)
243
+ AUDIOSTOP = SDL2.scancode_to_keycode(SCANCODE::AUDIOSTOP)
244
+ AUDIOPLAY = SDL2.scancode_to_keycode(SCANCODE::AUDIOPLAY)
245
+ AUDIOMUTE = SDL2.scancode_to_keycode(SCANCODE::AUDIOMUTE)
246
+ MEDIASELECT = SDL2.scancode_to_keycode(SCANCODE::MEDIASELECT)
247
+ WWW = SDL2.scancode_to_keycode(SCANCODE::WWW)
248
+ MAIL = SDL2.scancode_to_keycode(SCANCODE::MAIL)
249
+ CALCULATOR = SDL2.scancode_to_keycode(SCANCODE::CALCULATOR)
250
+ COMPUTER = SDL2.scancode_to_keycode(SCANCODE::COMPUTER)
251
+ AC_SEARCH = SDL2.scancode_to_keycode(SCANCODE::AC_SEARCH)
252
+ AC_HOME = SDL2.scancode_to_keycode(SCANCODE::AC_HOME)
253
+ AC_BACK = SDL2.scancode_to_keycode(SCANCODE::AC_BACK)
254
+ AC_FORWARD = SDL2.scancode_to_keycode(SCANCODE::AC_FORWARD)
255
+ AC_STOP = SDL2.scancode_to_keycode(SCANCODE::AC_STOP)
256
+ AC_REFRESH = SDL2.scancode_to_keycode(SCANCODE::AC_REFRESH)
257
+ AC_BOOKMARKS = SDL2.scancode_to_keycode(SCANCODE::AC_BOOKMARKS)
258
258
 
259
- :BRIGHTNESSDOWN => scancode_to_keycode(Scancode.BRIGHTNESSDOWN),
260
- :BRIGHTNESSUP => scancode_to_keycode(Scancode.BRIGHTNESSUP),
261
- :DISPLAYSWITCH => scancode_to_keycode(Scancode.DISPLAYSWITCH),
262
- :KBDILLUMTOGGLE => scancode_to_keycode(Scancode.KBDILLUMTOGGLE),
263
- :KBDILLUMDOWN => scancode_to_keycode(Scancode.KBDILLUMDOWN),
264
- :KBDILLUMUP => scancode_to_keycode(Scancode.KBDILLUMUP),
265
- :EJECT => scancode_to_keycode(Scancode.EJECT),
266
- :SLEEP => scancode_to_keycode(Scancode.SLEEP)
267
- })
259
+ BRIGHTNESSDOWN = SDL2.scancode_to_keycode(SCANCODE::BRIGHTNESSDOWN)
260
+ BRIGHTNESSUP = SDL2.scancode_to_keycode(SCANCODE::BRIGHTNESSUP)
261
+ DISPLAYSWITCH = SDL2.scancode_to_keycode(SCANCODE::DISPLAYSWITCH)
262
+ KBDILLUMTOGGLE = SDL2.scancode_to_keycode(SCANCODE::KBDILLUMTOGGLE)
263
+ KBDILLUMDOWN = SDL2.scancode_to_keycode(SCANCODE::KBDILLUMDOWN)
264
+ KBDILLUMUP = SDL2.scancode_to_keycode(SCANCODE::KBDILLUMUP)
265
+ EJECT = SDL2.scancode_to_keycode(SCANCODE::EJECT)
266
+ SLEEP = SDL2.scancode_to_keycode(SCANCODE::SLEEP)
267
+ end
268
268
 
269
- enum :keycode, Keycode.by_name
269
+ enum :keycode, KEYCODE.flatten_consts
270
270
 
271
- KEYMOD_HASH = {
272
- :NONE => 0x0000,
273
- :LSHIFT => 0x0001,
274
- :RSHIFT => 0x0002,
275
- :LCTRL => 0x0040,
276
- :RCTRL => 0x0080,
277
- :LALT => 0x0100,
278
- :RALT => 0x0200,
279
- :LGUI => 0x0400,
280
- :RGUI => 0x0800,
281
- :NUM => 0x1000,
282
- :CAPS => 0x2000,
283
- :MODE => 0x4000,
284
- :RESERVED => 0x8000
285
- }
286
- KEYMOD_HASH[:CTRL] = KEYMOD_HASH[:LCTRL]|KEYMOD_HASH[:RCTRL]
287
- KEYMOD_HASH[:SHIFT] = KEYMOD_HASH[:LSHIFT]|KEYMOD_HASH[:RSHIFT]
288
- KEYMOD_HASH[:ALT] = KEYMOD_HASH[:LALT]|KEYMOD_HASH[:RALT]
289
- KEYMOD_HASH[:GUI] = KEYMOD_HASH[:LGUI]|KEYMOD_HASH[:RGUI]
271
+ module KEYMOD
272
+ include EnumerableConstants
273
+ NONE = 0x0000
274
+ LSHIFT = 0x0001
275
+ RSHIFT = 0x0002
276
+ LCTRL = 0x0040
277
+ RCTRL = 0x0080
278
+ LALT = 0x0100
279
+ RALT = 0x0200
280
+ LGUI = 0x0400
281
+ RGUI = 0x0800
282
+ NUM = 0x1000
283
+ CAPS = 0x2000
284
+ MODE = 0x4000
285
+ RESERVED = 0x8000
286
+ CTRL = LCTRL|RCTRL
287
+ SHIFT = LSHIFT|RSHIFT
288
+ ALT = LALT|RALT
289
+ GUI = LGUI|RGUI
290
+ end
290
291
 
291
- Keymod = Enum.new( :KEYMOD, KEYMOD_HASH)
292
-
292
+ enum :keymod, KEYMOD.flatten_consts
293
293
 
294
294
  end