-
Notifications
You must be signed in to change notification settings - Fork 10
/
init.lua
1498 lines (1489 loc) · 73.7 KB
/
init.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
-- Do not change this file manually
-- Generated with dev/create-init.lua
local ffi = require 'ffi'
local C = ffi.load('SDL2')
local sdl = {C=C}
local registerdefines = require 'sdl2.defines'
require 'sdl2.cdefs'
local function register(luafuncname, funcname)
local symexists, msg = pcall(function()
local sym = C[funcname]
end)
if symexists then
sdl[luafuncname] = C[funcname]
end
end
register('getPlatform', 'SDL_GetPlatform')
register('dummy_uint8[', 'SDL_dummy_uint8[')
register('dummy_sint8[', 'SDL_dummy_sint8[')
register('dummy_uint16[', 'SDL_dummy_uint16[')
register('dummy_sint16[', 'SDL_dummy_sint16[')
register('dummy_uint32[', 'SDL_dummy_uint32[')
register('dummy_sint32[', 'SDL_dummy_sint32[')
register('dummy_uint64[', 'SDL_dummy_uint64[')
register('dummy_sint64[', 'SDL_dummy_sint64[')
register('dummy_enum[', 'SDL_dummy_enum[')
register('malloc', 'SDL_malloc')
register('calloc', 'SDL_calloc')
register('realloc', 'SDL_realloc')
register('free', 'SDL_free')
register('getenv', 'SDL_getenv')
register('setenv', 'SDL_setenv')
register('qsort', 'SDL_qsort')
register('abs', 'SDL_abs')
register('isdigit', 'SDL_isdigit')
register('isspace', 'SDL_isspace')
register('toupper', 'SDL_toupper')
register('tolower', 'SDL_tolower')
register('memset', 'SDL_memset')
register('memcpy', 'SDL_memcpy')
register('memmove', 'SDL_memmove')
register('memcmp', 'SDL_memcmp')
register('wcslen', 'SDL_wcslen')
register('wcslcpy', 'SDL_wcslcpy')
register('wcslcat', 'SDL_wcslcat')
register('strlen', 'SDL_strlen')
register('strlcpy', 'SDL_strlcpy')
register('utf8strlcpy', 'SDL_utf8strlcpy')
register('strlcat', 'SDL_strlcat')
register('strdup', 'SDL_strdup')
register('strrev', 'SDL_strrev')
register('strupr', 'SDL_strupr')
register('strlwr', 'SDL_strlwr')
register('strchr', 'SDL_strchr')
register('strrchr', 'SDL_strrchr')
register('strstr', 'SDL_strstr')
register('itoa', 'SDL_itoa')
register('uitoa', 'SDL_uitoa')
register('ltoa', 'SDL_ltoa')
register('ultoa', 'SDL_ultoa')
register('lltoa', 'SDL_lltoa')
register('ulltoa', 'SDL_ulltoa')
register('atoi', 'SDL_atoi')
register('atof', 'SDL_atof')
register('strtol', 'SDL_strtol')
register('strtoul', 'SDL_strtoul')
register('strtoll', 'SDL_strtoll')
register('strtoull', 'SDL_strtoull')
register('strtod', 'SDL_strtod')
register('strcmp', 'SDL_strcmp')
register('strncmp', 'SDL_strncmp')
register('strcasecmp', 'SDL_strcasecmp')
register('strncasecmp', 'SDL_strncasecmp')
register('sscanf', 'SDL_sscanf')
register('snprintf', 'SDL_snprintf')
register('vsnprintf', 'SDL_vsnprintf')
register('atan', 'SDL_atan')
register('atan2', 'SDL_atan2')
register('ceil', 'SDL_ceil')
register('copysign', 'SDL_copysign')
register('cos', 'SDL_cos')
register('cosf', 'SDL_cosf')
register('fabs', 'SDL_fabs')
register('floor', 'SDL_floor')
register('log', 'SDL_log')
register('pow', 'SDL_pow')
register('scalbn', 'SDL_scalbn')
register('sin', 'SDL_sin')
register('sinf', 'SDL_sinf')
register('sqrt', 'SDL_sqrt')
register('iconv_open', 'SDL_iconv_open')
register('iconv_close', 'SDL_iconv_close')
register('iconv', 'SDL_iconv')
register('iconv_string', 'SDL_iconv_string')
register('main', 'SDL_main')
register('setMainReady', 'SDL_SetMainReady')
register('reportAssertion', 'SDL_ReportAssertion')
register('assert_state', 'SDL_assert_state')
register('setAssertionHandler', 'SDL_SetAssertionHandler')
register('getAssertionReport', 'SDL_GetAssertionReport')
register('resetAssertionReport', 'SDL_ResetAssertionReport')
register('atomicTryLock', 'SDL_AtomicTryLock')
register('atomicLock', 'SDL_AtomicLock')
register('atomicUnlock', 'SDL_AtomicUnlock')
register('setError', 'SDL_SetError')
register('getError', 'SDL_GetError')
register('clearError', 'SDL_ClearError')
register('error', 'SDL_Error')
register('createMutex', 'SDL_CreateMutex')
register('lockMutex', 'SDL_LockMutex')
register('tryLockMutex', 'SDL_TryLockMutex')
register('unlockMutex', 'SDL_UnlockMutex')
register('destroyMutex', 'SDL_DestroyMutex')
register('createSemaphore', 'SDL_CreateSemaphore')
register('destroySemaphore', 'SDL_DestroySemaphore')
register('semWait', 'SDL_SemWait')
register('semTryWait', 'SDL_SemTryWait')
register('semWaitTimeout', 'SDL_SemWaitTimeout')
register('semPost', 'SDL_SemPost')
register('semValue', 'SDL_SemValue')
register('createCond', 'SDL_CreateCond')
register('destroyCond', 'SDL_DestroyCond')
register('condSignal', 'SDL_CondSignal')
register('condBroadcast', 'SDL_CondBroadcast')
register('condWait', 'SDL_CondWait')
register('condWaitTimeout', 'SDL_CondWaitTimeout')
if ffi.os == 'Windows' then
sdl.createThread =
function(fn, name, data)
return C.SDL_CreateThread(fn, name, data, ffi.C._beginthreadex, ffi.C._endthreadex)
end
else
register('createThread', 'SDL_CreateThread')
end
register('getThreadName', 'SDL_GetThreadName')
register('threadID', 'SDL_ThreadID')
register('getThreadID', 'SDL_GetThreadID')
register('setThreadPriority', 'SDL_SetThreadPriority')
register('waitThread', 'SDL_WaitThread')
register('tLSCreate', 'SDL_TLSCreate')
register('tLSGet', 'SDL_TLSGet')
register('tLSSet', 'SDL_TLSSet')
register('RWFromFile', 'SDL_RWFromFile')
register('RWFromFP', 'SDL_RWFromFP')
register('RWFromMem', 'SDL_RWFromMem')
register('RWFromConstMem', 'SDL_RWFromConstMem')
register('allocRW', 'SDL_AllocRW')
register('freeRW', 'SDL_FreeRW')
register('readU8', 'SDL_ReadU8')
register('readLE16', 'SDL_ReadLE16')
register('readBE16', 'SDL_ReadBE16')
register('readLE32', 'SDL_ReadLE32')
register('readBE32', 'SDL_ReadBE32')
register('readLE64', 'SDL_ReadLE64')
register('readBE64', 'SDL_ReadBE64')
register('writeU8', 'SDL_WriteU8')
register('writeLE16', 'SDL_WriteLE16')
register('writeBE16', 'SDL_WriteBE16')
register('writeLE32', 'SDL_WriteLE32')
register('writeBE32', 'SDL_WriteBE32')
register('writeLE64', 'SDL_WriteLE64')
register('writeBE64', 'SDL_WriteBE64')
register('getNumAudioDrivers', 'SDL_GetNumAudioDrivers')
register('getAudioDriver', 'SDL_GetAudioDriver')
register('audioInit', 'SDL_AudioInit')
register('audioQuit', 'SDL_AudioQuit')
register('getCurrentAudioDriver', 'SDL_GetCurrentAudioDriver')
register('openAudio', 'SDL_OpenAudio')
register('getNumAudioDevices', 'SDL_GetNumAudioDevices')
register('getAudioDeviceName', 'SDL_GetAudioDeviceName')
register('openAudioDevice', 'SDL_OpenAudioDevice')
register('getAudioStatus', 'SDL_GetAudioStatus')
register('getAudioDeviceStatus', 'SDL_GetAudioDeviceStatus')
register('pauseAudio', 'SDL_PauseAudio')
register('pauseAudioDevice', 'SDL_PauseAudioDevice')
register('loadWAV_RW', 'SDL_LoadWAV_RW')
register('freeWAV', 'SDL_FreeWAV')
register('buildAudioCVT', 'SDL_BuildAudioCVT')
register('convertAudio', 'SDL_ConvertAudio')
register('mixAudio', 'SDL_MixAudio')
register('mixAudioFormat', 'SDL_MixAudioFormat')
register('lockAudio', 'SDL_LockAudio')
register('lockAudioDevice', 'SDL_LockAudioDevice')
register('unlockAudio', 'SDL_UnlockAudio')
register('unlockAudioDevice', 'SDL_UnlockAudioDevice')
register('closeAudio', 'SDL_CloseAudio')
register('closeAudioDevice', 'SDL_CloseAudioDevice')
register('setClipboardText', 'SDL_SetClipboardText')
register('getClipboardText', 'SDL_GetClipboardText')
register('hasClipboardText', 'SDL_HasClipboardText')
register('getCPUCount', 'SDL_GetCPUCount')
register('getCPUCacheLineSize', 'SDL_GetCPUCacheLineSize')
register('hasRDTSC', 'SDL_HasRDTSC')
register('hasAltiVec', 'SDL_HasAltiVec')
register('hasMMX', 'SDL_HasMMX')
register('has3DNow', 'SDL_Has3DNow')
register('hasSSE', 'SDL_HasSSE')
register('hasSSE2', 'SDL_HasSSE2')
register('hasSSE3', 'SDL_HasSSE3')
register('hasSSE41', 'SDL_HasSSE41')
register('hasSSE42', 'SDL_HasSSE42')
register('getPixelFormatName', 'SDL_GetPixelFormatName')
register('pixelFormatEnumToMasks', 'SDL_PixelFormatEnumToMasks')
register('masksToPixelFormatEnum', 'SDL_MasksToPixelFormatEnum')
register('allocFormat', 'SDL_AllocFormat')
register('freeFormat', 'SDL_FreeFormat')
register('allocPalette', 'SDL_AllocPalette')
register('setPixelFormatPalette', 'SDL_SetPixelFormatPalette')
register('setPaletteColors', 'SDL_SetPaletteColors')
register('freePalette', 'SDL_FreePalette')
register('mapRGB', 'SDL_MapRGB')
register('mapRGBA', 'SDL_MapRGBA')
register('getRGB', 'SDL_GetRGB')
register('getRGBA', 'SDL_GetRGBA')
register('calculateGammaRamp', 'SDL_CalculateGammaRamp')
register('hasIntersection', 'SDL_HasIntersection')
register('intersectRect', 'SDL_IntersectRect')
register('unionRect', 'SDL_UnionRect')
register('enclosePoints', 'SDL_EnclosePoints')
register('intersectRectAndLine', 'SDL_IntersectRectAndLine')
register('createRGBSurface', 'SDL_CreateRGBSurface')
register('createRGBSurfaceFrom', 'SDL_CreateRGBSurfaceFrom')
register('freeSurface', 'SDL_FreeSurface')
register('setSurfacePalette', 'SDL_SetSurfacePalette')
register('lockSurface', 'SDL_LockSurface')
register('unlockSurface', 'SDL_UnlockSurface')
register('loadBMP_RW', 'SDL_LoadBMP_RW')
register('saveBMP_RW', 'SDL_SaveBMP_RW')
register('setSurfaceRLE', 'SDL_SetSurfaceRLE')
register('setColorKey', 'SDL_SetColorKey')
register('getColorKey', 'SDL_GetColorKey')
register('setSurfaceColorMod', 'SDL_SetSurfaceColorMod')
register('getSurfaceColorMod', 'SDL_GetSurfaceColorMod')
register('setSurfaceAlphaMod', 'SDL_SetSurfaceAlphaMod')
register('getSurfaceAlphaMod', 'SDL_GetSurfaceAlphaMod')
register('setSurfaceBlendMode', 'SDL_SetSurfaceBlendMode')
register('getSurfaceBlendMode', 'SDL_GetSurfaceBlendMode')
register('setClipRect', 'SDL_SetClipRect')
register('getClipRect', 'SDL_GetClipRect')
register('convertSurface', 'SDL_ConvertSurface')
register('convertSurfaceFormat', 'SDL_ConvertSurfaceFormat')
register('convertPixels', 'SDL_ConvertPixels')
register('fillRect', 'SDL_FillRect')
register('fillRects', 'SDL_FillRects')
register('upperBlit', 'SDL_UpperBlit')
register('lowerBlit', 'SDL_LowerBlit')
register('softStretch', 'SDL_SoftStretch')
register('upperBlitScaled', 'SDL_UpperBlitScaled')
register('lowerBlitScaled', 'SDL_LowerBlitScaled')
register('getNumVideoDrivers', 'SDL_GetNumVideoDrivers')
register('getVideoDriver', 'SDL_GetVideoDriver')
register('videoInit', 'SDL_VideoInit')
register('videoQuit', 'SDL_VideoQuit')
register('getCurrentVideoDriver', 'SDL_GetCurrentVideoDriver')
register('getNumVideoDisplays', 'SDL_GetNumVideoDisplays')
register('getDisplayName', 'SDL_GetDisplayName')
register('getDisplayBounds', 'SDL_GetDisplayBounds')
register('getNumDisplayModes', 'SDL_GetNumDisplayModes')
register('getDisplayMode', 'SDL_GetDisplayMode')
register('getDesktopDisplayMode', 'SDL_GetDesktopDisplayMode')
register('getCurrentDisplayMode', 'SDL_GetCurrentDisplayMode')
register('getClosestDisplayMode', 'SDL_GetClosestDisplayMode')
register('getWindowDisplayIndex', 'SDL_GetWindowDisplayIndex')
register('setWindowDisplayMode', 'SDL_SetWindowDisplayMode')
register('getWindowDisplayMode', 'SDL_GetWindowDisplayMode')
register('getWindowPixelFormat', 'SDL_GetWindowPixelFormat')
register('createWindow', 'SDL_CreateWindow')
register('createWindowFrom', 'SDL_CreateWindowFrom')
register('getWindowID', 'SDL_GetWindowID')
register('getWindowFromID', 'SDL_GetWindowFromID')
register('getWindowFlags', 'SDL_GetWindowFlags')
register('setWindowTitle', 'SDL_SetWindowTitle')
register('getWindowTitle', 'SDL_GetWindowTitle')
register('setWindowIcon', 'SDL_SetWindowIcon')
register('setWindowData', 'SDL_SetWindowData')
register('getWindowData', 'SDL_GetWindowData')
register('setWindowPosition', 'SDL_SetWindowPosition')
register('getWindowPosition', 'SDL_GetWindowPosition')
register('setWindowSize', 'SDL_SetWindowSize')
register('getWindowSize', 'SDL_GetWindowSize')
register('setWindowMinimumSize', 'SDL_SetWindowMinimumSize')
register('getWindowMinimumSize', 'SDL_GetWindowMinimumSize')
register('setWindowMaximumSize', 'SDL_SetWindowMaximumSize')
register('getWindowMaximumSize', 'SDL_GetWindowMaximumSize')
register('setWindowBordered', 'SDL_SetWindowBordered')
register('showWindow', 'SDL_ShowWindow')
register('hideWindow', 'SDL_HideWindow')
register('raiseWindow', 'SDL_RaiseWindow')
register('maximizeWindow', 'SDL_MaximizeWindow')
register('minimizeWindow', 'SDL_MinimizeWindow')
register('restoreWindow', 'SDL_RestoreWindow')
register('setWindowFullscreen', 'SDL_SetWindowFullscreen')
register('getWindowSurface', 'SDL_GetWindowSurface')
register('updateWindowSurface', 'SDL_UpdateWindowSurface')
register('updateWindowSurfaceRects', 'SDL_UpdateWindowSurfaceRects')
register('setWindowGrab', 'SDL_SetWindowGrab')
register('getWindowGrab', 'SDL_GetWindowGrab')
register('setWindowBrightness', 'SDL_SetWindowBrightness')
register('getWindowBrightness', 'SDL_GetWindowBrightness')
register('setWindowGammaRamp', 'SDL_SetWindowGammaRamp')
register('getWindowGammaRamp', 'SDL_GetWindowGammaRamp')
register('destroyWindow', 'SDL_DestroyWindow')
register('isScreenSaverEnabled', 'SDL_IsScreenSaverEnabled')
register('enableScreenSaver', 'SDL_EnableScreenSaver')
register('disableScreenSaver', 'SDL_DisableScreenSaver')
register('gL_LoadLibrary', 'SDL_GL_LoadLibrary')
register('gL_GetProcAddress', 'SDL_GL_GetProcAddress')
register('gL_UnloadLibrary', 'SDL_GL_UnloadLibrary')
register('gL_ExtensionSupported', 'SDL_GL_ExtensionSupported')
register('gL_SetAttribute', 'SDL_GL_SetAttribute')
register('gL_GetAttribute', 'SDL_GL_GetAttribute')
register('gL_CreateContext', 'SDL_GL_CreateContext')
register('gL_MakeCurrent', 'SDL_GL_MakeCurrent')
register('gL_GetCurrentWindow', 'SDL_GL_GetCurrentWindow')
register('gL_GetCurrentContext', 'SDL_GL_GetCurrentContext')
register('gL_SetSwapInterval', 'SDL_GL_SetSwapInterval')
register('gL_GetSwapInterval', 'SDL_GL_GetSwapInterval')
register('gL_SwapWindow', 'SDL_GL_SwapWindow')
register('gL_DeleteContext', 'SDL_GL_DeleteContext')
register('getKeyboardFocus', 'SDL_GetKeyboardFocus')
register('getKeyboardState', 'SDL_GetKeyboardState')
register('getModState', 'SDL_GetModState')
register('setModState', 'SDL_SetModState')
register('getKeyFromScancode', 'SDL_GetKeyFromScancode')
register('getScancodeFromKey', 'SDL_GetScancodeFromKey')
register('getScancodeName', 'SDL_GetScancodeName')
register('getScancodeFromName', 'SDL_GetScancodeFromName')
register('getKeyName', 'SDL_GetKeyName')
register('getKeyFromName', 'SDL_GetKeyFromName')
register('startTextInput', 'SDL_StartTextInput')
register('isTextInputActive', 'SDL_IsTextInputActive')
register('stopTextInput', 'SDL_StopTextInput')
register('setTextInputRect', 'SDL_SetTextInputRect')
register('hasScreenKeyboardSupport', 'SDL_HasScreenKeyboardSupport')
register('isScreenKeyboardShown', 'SDL_IsScreenKeyboardShown')
register('getMouseFocus', 'SDL_GetMouseFocus')
register('getMouseState', 'SDL_GetMouseState')
register('getRelativeMouseState', 'SDL_GetRelativeMouseState')
register('warpMouseInWindow', 'SDL_WarpMouseInWindow')
register('setRelativeMouseMode', 'SDL_SetRelativeMouseMode')
register('getRelativeMouseMode', 'SDL_GetRelativeMouseMode')
register('createCursor', 'SDL_CreateCursor')
register('createColorCursor', 'SDL_CreateColorCursor')
register('createSystemCursor', 'SDL_CreateSystemCursor')
register('setCursor', 'SDL_SetCursor')
register('getCursor', 'SDL_GetCursor')
register('getDefaultCursor', 'SDL_GetDefaultCursor')
register('freeCursor', 'SDL_FreeCursor')
register('showCursor', 'SDL_ShowCursor')
register('numJoysticks', 'SDL_NumJoysticks')
register('joystickNameForIndex', 'SDL_JoystickNameForIndex')
register('joystickOpen', 'SDL_JoystickOpen')
register('joystickName', 'SDL_JoystickName')
register('joystickGetDeviceGUID', 'SDL_JoystickGetDeviceGUID')
register('joystickGetGUID', 'SDL_JoystickGetGUID')
register('joystickGetGUIDString', 'SDL_JoystickGetGUIDString')
register('joystickGetGUIDFromString', 'SDL_JoystickGetGUIDFromString')
register('joystickGetAttached', 'SDL_JoystickGetAttached')
register('joystickInstanceID', 'SDL_JoystickInstanceID')
register('joystickNumAxes', 'SDL_JoystickNumAxes')
register('joystickNumBalls', 'SDL_JoystickNumBalls')
register('joystickNumHats', 'SDL_JoystickNumHats')
register('joystickNumButtons', 'SDL_JoystickNumButtons')
register('joystickUpdate', 'SDL_JoystickUpdate')
register('joystickEventState', 'SDL_JoystickEventState')
register('joystickGetAxis', 'SDL_JoystickGetAxis')
register('joystickGetHat', 'SDL_JoystickGetHat')
register('joystickGetBall', 'SDL_JoystickGetBall')
register('joystickGetButton', 'SDL_JoystickGetButton')
register('joystickClose', 'SDL_JoystickClose')
register('gameControllerAddMapping', 'SDL_GameControllerAddMapping')
register('gameControllerMappingForGUID', 'SDL_GameControllerMappingForGUID')
register('gameControllerMapping', 'SDL_GameControllerMapping')
register('isGameController', 'SDL_IsGameController')
register('gameControllerNameForIndex', 'SDL_GameControllerNameForIndex')
register('gameControllerOpen', 'SDL_GameControllerOpen')
register('gameControllerName', 'SDL_GameControllerName')
register('gameControllerGetAttached', 'SDL_GameControllerGetAttached')
register('gameControllerGetJoystick', 'SDL_GameControllerGetJoystick')
register('gameControllerEventState', 'SDL_GameControllerEventState')
register('gameControllerUpdate', 'SDL_GameControllerUpdate')
register('gameControllerGetAxisFromString', 'SDL_GameControllerGetAxisFromString')
register('gameControllerGetStringForAxis', 'SDL_GameControllerGetStringForAxis')
register('gameControllerGetBindForAxis', 'SDL_GameControllerGetBindForAxis')
register('gameControllerGetAxis', 'SDL_GameControllerGetAxis')
register('gameControllerGetButtonFromString', 'SDL_GameControllerGetButtonFromString')
register('gameControllerGetStringForButton', 'SDL_GameControllerGetStringForButton')
register('gameControllerGetBindForButton', 'SDL_GameControllerGetBindForButton')
register('gameControllerGetButton', 'SDL_GameControllerGetButton')
register('gameControllerClose', 'SDL_GameControllerClose')
register('getNumTouchDevices', 'SDL_GetNumTouchDevices')
register('getTouchDevice', 'SDL_GetTouchDevice')
register('getNumTouchFingers', 'SDL_GetNumTouchFingers')
register('getTouchFinger', 'SDL_GetTouchFinger')
register('recordGesture', 'SDL_RecordGesture')
register('saveAllDollarTemplates', 'SDL_SaveAllDollarTemplates')
register('saveDollarTemplate', 'SDL_SaveDollarTemplate')
register('loadDollarTemplates', 'SDL_LoadDollarTemplates')
register('pumpEvents', 'SDL_PumpEvents')
register('peepEvents', 'SDL_PeepEvents')
register('hasEvent', 'SDL_HasEvent')
register('hasEvents', 'SDL_HasEvents')
register('flushEvent', 'SDL_FlushEvent')
register('flushEvents', 'SDL_FlushEvents')
register('pollEvent', 'SDL_PollEvent')
register('waitEvent', 'SDL_WaitEvent')
register('waitEventTimeout', 'SDL_WaitEventTimeout')
register('pushEvent', 'SDL_PushEvent')
register('setEventFilter', 'SDL_SetEventFilter')
register('getEventFilter', 'SDL_GetEventFilter')
register('addEventWatch', 'SDL_AddEventWatch')
register('delEventWatch', 'SDL_DelEventWatch')
register('filterEvents', 'SDL_FilterEvents')
register('eventState', 'SDL_EventState')
register('registerEvents', 'SDL_RegisterEvents')
register('numHaptics', 'SDL_NumHaptics')
register('hapticName', 'SDL_HapticName')
register('hapticOpen', 'SDL_HapticOpen')
register('hapticOpened', 'SDL_HapticOpened')
register('hapticIndex', 'SDL_HapticIndex')
register('mouseIsHaptic', 'SDL_MouseIsHaptic')
register('hapticOpenFromMouse', 'SDL_HapticOpenFromMouse')
register('joystickIsHaptic', 'SDL_JoystickIsHaptic')
register('hapticOpenFromJoystick', 'SDL_HapticOpenFromJoystick')
register('hapticClose', 'SDL_HapticClose')
register('hapticNumEffects', 'SDL_HapticNumEffects')
register('hapticNumEffectsPlaying', 'SDL_HapticNumEffectsPlaying')
register('hapticQuery', 'SDL_HapticQuery')
register('hapticNumAxes', 'SDL_HapticNumAxes')
register('hapticEffectSupported', 'SDL_HapticEffectSupported')
register('hapticNewEffect', 'SDL_HapticNewEffect')
register('hapticUpdateEffect', 'SDL_HapticUpdateEffect')
register('hapticRunEffect', 'SDL_HapticRunEffect')
register('hapticStopEffect', 'SDL_HapticStopEffect')
register('hapticDestroyEffect', 'SDL_HapticDestroyEffect')
register('hapticGetEffectStatus', 'SDL_HapticGetEffectStatus')
register('hapticSetGain', 'SDL_HapticSetGain')
register('hapticSetAutocenter', 'SDL_HapticSetAutocenter')
register('hapticPause', 'SDL_HapticPause')
register('hapticUnpause', 'SDL_HapticUnpause')
register('hapticStopAll', 'SDL_HapticStopAll')
register('hapticRumbleSupported', 'SDL_HapticRumbleSupported')
register('hapticRumbleInit', 'SDL_HapticRumbleInit')
register('hapticRumblePlay', 'SDL_HapticRumblePlay')
register('hapticRumbleStop', 'SDL_HapticRumbleStop')
register('setHintWithPriority', 'SDL_SetHintWithPriority')
register('setHint', 'SDL_SetHint')
register('getHint', 'SDL_GetHint')
register('addHintCallback', 'SDL_AddHintCallback')
register('delHintCallback', 'SDL_DelHintCallback')
register('clearHints', 'SDL_ClearHints')
register('loadObject', 'SDL_LoadObject')
register('loadFunction', 'SDL_LoadFunction')
register('unloadObject', 'SDL_UnloadObject')
register('logSetAllPriority', 'SDL_LogSetAllPriority')
register('logSetPriority', 'SDL_LogSetPriority')
register('logGetPriority', 'SDL_LogGetPriority')
register('logResetPriorities', 'SDL_LogResetPriorities')
register('log', 'SDL_Log')
register('logVerbose', 'SDL_LogVerbose')
register('logDebug', 'SDL_LogDebug')
register('logInfo', 'SDL_LogInfo')
register('logWarn', 'SDL_LogWarn')
register('logError', 'SDL_LogError')
register('logCritical', 'SDL_LogCritical')
register('logMessage', 'SDL_LogMessage')
register('logMessageV', 'SDL_LogMessageV')
register('logGetOutputFunction', 'SDL_LogGetOutputFunction')
register('logSetOutputFunction', 'SDL_LogSetOutputFunction')
register('showMessageBox', 'SDL_ShowMessageBox')
register('showSimpleMessageBox', 'SDL_ShowSimpleMessageBox')
register('getPowerInfo', 'SDL_GetPowerInfo')
register('getNumRenderDrivers', 'SDL_GetNumRenderDrivers')
register('getRenderDriverInfo', 'SDL_GetRenderDriverInfo')
register('createWindowAndRenderer', 'SDL_CreateWindowAndRenderer')
register('createRenderer', 'SDL_CreateRenderer')
register('createSoftwareRenderer', 'SDL_CreateSoftwareRenderer')
register('getRenderer', 'SDL_GetRenderer')
register('getRendererInfo', 'SDL_GetRendererInfo')
register('getRendererOutputSize', 'SDL_GetRendererOutputSize')
register('createTexture', 'SDL_CreateTexture')
register('createTextureFromSurface', 'SDL_CreateTextureFromSurface')
register('queryTexture', 'SDL_QueryTexture')
register('setTextureColorMod', 'SDL_SetTextureColorMod')
register('getTextureColorMod', 'SDL_GetTextureColorMod')
register('setTextureAlphaMod', 'SDL_SetTextureAlphaMod')
register('getTextureAlphaMod', 'SDL_GetTextureAlphaMod')
register('setTextureBlendMode', 'SDL_SetTextureBlendMode')
register('getTextureBlendMode', 'SDL_GetTextureBlendMode')
register('updateTexture', 'SDL_UpdateTexture')
register('lockTexture', 'SDL_LockTexture')
register('unlockTexture', 'SDL_UnlockTexture')
register('renderTargetSupported', 'SDL_RenderTargetSupported')
register('setRenderTarget', 'SDL_SetRenderTarget')
register('getRenderTarget', 'SDL_GetRenderTarget')
register('renderSetLogicalSize', 'SDL_RenderSetLogicalSize')
register('renderGetLogicalSize', 'SDL_RenderGetLogicalSize')
register('renderSetViewport', 'SDL_RenderSetViewport')
register('renderGetViewport', 'SDL_RenderGetViewport')
register('renderSetClipRect', 'SDL_RenderSetClipRect')
register('renderGetClipRect', 'SDL_RenderGetClipRect')
register('renderSetScale', 'SDL_RenderSetScale')
register('renderGetScale', 'SDL_RenderGetScale')
register('setRenderDrawColor', 'SDL_SetRenderDrawColor')
register('getRenderDrawColor', 'SDL_GetRenderDrawColor')
register('setRenderDrawBlendMode', 'SDL_SetRenderDrawBlendMode')
register('getRenderDrawBlendMode', 'SDL_GetRenderDrawBlendMode')
register('renderClear', 'SDL_RenderClear')
register('renderDrawPoint', 'SDL_RenderDrawPoint')
register('renderDrawPoints', 'SDL_RenderDrawPoints')
register('renderDrawLine', 'SDL_RenderDrawLine')
register('renderDrawLines', 'SDL_RenderDrawLines')
register('renderDrawRect', 'SDL_RenderDrawRect')
register('renderDrawRects', 'SDL_RenderDrawRects')
register('renderFillRect', 'SDL_RenderFillRect')
register('renderFillRects', 'SDL_RenderFillRects')
register('renderCopy', 'SDL_RenderCopy')
register('renderCopyEx', 'SDL_RenderCopyEx')
register('renderReadPixels', 'SDL_RenderReadPixels')
register('renderPresent', 'SDL_RenderPresent')
register('destroyTexture', 'SDL_DestroyTexture')
register('destroyRenderer', 'SDL_DestroyRenderer')
register('gL_BindTexture', 'SDL_GL_BindTexture')
register('gL_UnbindTexture', 'SDL_GL_UnbindTexture')
register('getTicks', 'SDL_GetTicks')
register('getPerformanceCounter', 'SDL_GetPerformanceCounter')
register('getPerformanceFrequency', 'SDL_GetPerformanceFrequency')
register('delay', 'SDL_Delay')
register('addTimer', 'SDL_AddTimer')
register('removeTimer', 'SDL_RemoveTimer')
register('getVersion', 'SDL_GetVersion')
register('getRevision', 'SDL_GetRevision')
register('getRevisionNumber', 'SDL_GetRevisionNumber')
register('init', 'SDL_Init')
register('initSubSystem', 'SDL_InitSubSystem')
register('quitSubSystem', 'SDL_QuitSubSystem')
register('wasInit', 'SDL_WasInit')
register('quit', 'SDL_Quit')
register('registerApp', 'SDL_RegisterApp')
register('unregisterApp', 'SDL_UnregisterApp')
register('FALSE', 'SDL_FALSE')
register('TRUE', 'SDL_TRUE')
register('DUMMY_ENUM', 'SDL_DUMMY_ENUM')
register('DUMMY_ENUM', 'SDL_DUMMY_ENUM')
register('ASSERTION_RETRY', 'SDL_ASSERTION_RETRY')
register('ASSERTION_BREAK', 'SDL_ASSERTION_BREAK')
register('ASSERTION_ABORT', 'SDL_ASSERTION_ABORT')
register('ASSERTION_IGNORE', 'SDL_ASSERTION_IGNORE')
register('ASSERTION_ALWAYS_IGNORE', 'SDL_ASSERTION_ALWAYS_IGNORE')
register('ENOMEM', 'SDL_ENOMEM')
register('EFREAD', 'SDL_EFREAD')
register('EFWRITE', 'SDL_EFWRITE')
register('EFSEEK', 'SDL_EFSEEK')
register('UNSUPPORTED', 'SDL_UNSUPPORTED')
register('LASTERROR', 'SDL_LASTERROR')
register('TLSID', 'SDL_TLSID')
register('THREAD_PRIORITY_LOW', 'SDL_THREAD_PRIORITY_LOW')
register('THREAD_PRIORITY_NORMAL', 'SDL_THREAD_PRIORITY_NORMAL')
register('THREAD_PRIORITY_HIGH', 'SDL_THREAD_PRIORITY_HIGH')
register('TLSID', 'SDL_TLSID')
register('TLSID', 'SDL_TLSID')
register('TLSID', 'SDL_TLSID')
register('AUDIO_STOPPED', 'SDL_AUDIO_STOPPED')
register('AUDIO_PLAYING', 'SDL_AUDIO_PLAYING')
register('AUDIO_PAUSED', 'SDL_AUDIO_PAUSED')
register('PIXELTYPE_UNKNOWN', 'SDL_PIXELTYPE_UNKNOWN')
register('PIXELTYPE_INDEX1', 'SDL_PIXELTYPE_INDEX1')
register('PIXELTYPE_INDEX4', 'SDL_PIXELTYPE_INDEX4')
register('PIXELTYPE_INDEX8', 'SDL_PIXELTYPE_INDEX8')
register('PIXELTYPE_PACKED8', 'SDL_PIXELTYPE_PACKED8')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PIXELTYPE_PACKED32', 'SDL_PIXELTYPE_PACKED32')
register('PIXELTYPE_ARRAYU8', 'SDL_PIXELTYPE_ARRAYU8')
register('PIXELTYPE_ARRAYU16', 'SDL_PIXELTYPE_ARRAYU16')
register('PIXELTYPE_ARRAYU32', 'SDL_PIXELTYPE_ARRAYU32')
register('PIXELTYPE_ARRAYF16', 'SDL_PIXELTYPE_ARRAYF16')
register('PIXELTYPE_ARRAYF32', 'SDL_PIXELTYPE_ARRAYF32')
register('BITMAPORDER_NONE', 'SDL_BITMAPORDER_NONE')
register('BITMAPORDER_4321', 'SDL_BITMAPORDER_4321')
register('BITMAPORDER_1234', 'SDL_BITMAPORDER_1234')
register('PACKEDORDER_NONE', 'SDL_PACKEDORDER_NONE')
register('PACKEDORDER_XRGB', 'SDL_PACKEDORDER_XRGB')
register('PACKEDORDER_RGBX', 'SDL_PACKEDORDER_RGBX')
register('PACKEDORDER_ARGB', 'SDL_PACKEDORDER_ARGB')
register('PACKEDORDER_RGBA', 'SDL_PACKEDORDER_RGBA')
register('PACKEDORDER_XBGR', 'SDL_PACKEDORDER_XBGR')
register('PACKEDORDER_BGRX', 'SDL_PACKEDORDER_BGRX')
register('PACKEDORDER_ABGR', 'SDL_PACKEDORDER_ABGR')
register('PACKEDORDER_BGRA', 'SDL_PACKEDORDER_BGRA')
register('ARRAYORDER_NONE', 'SDL_ARRAYORDER_NONE')
register('ARRAYORDER_RGB', 'SDL_ARRAYORDER_RGB')
register('ARRAYORDER_RGBA', 'SDL_ARRAYORDER_RGBA')
register('ARRAYORDER_ARGB', 'SDL_ARRAYORDER_ARGB')
register('ARRAYORDER_BGR', 'SDL_ARRAYORDER_BGR')
register('ARRAYORDER_BGRA', 'SDL_ARRAYORDER_BGRA')
register('ARRAYORDER_ABGR', 'SDL_ARRAYORDER_ABGR')
register('PACKEDLAYOUT_NONE', 'SDL_PACKEDLAYOUT_NONE')
register('PACKEDLAYOUT_332', 'SDL_PACKEDLAYOUT_332')
register('PACKEDLAYOUT_4444', 'SDL_PACKEDLAYOUT_4444')
register('PACKEDLAYOUT_1555', 'SDL_PACKEDLAYOUT_1555')
register('PACKEDLAYOUT_5551', 'SDL_PACKEDLAYOUT_5551')
register('PACKEDLAYOUT_565', 'SDL_PACKEDLAYOUT_565')
register('PACKEDLAYOUT_8888', 'SDL_PACKEDLAYOUT_8888')
register('PACKEDLAYOUT_2101010', 'SDL_PACKEDLAYOUT_2101010')
register('PACKEDLAYOUT_1010102', 'SDL_PACKEDLAYOUT_1010102')
register('PIXELFORMAT_UNKNOWN', 'SDL_PIXELFORMAT_UNKNOWN')
register('PIXELFORMAT_INDEX1LSB', 'SDL_PIXELFORMAT_INDEX1LSB')
register('PIXELTYPE_INDEX1', 'SDL_PIXELTYPE_INDEX1')
register('BITMAPORDER_4321', 'SDL_BITMAPORDER_4321')
register('PIXELFORMAT_INDEX1MSB', 'SDL_PIXELFORMAT_INDEX1MSB')
register('PIXELTYPE_INDEX1', 'SDL_PIXELTYPE_INDEX1')
register('BITMAPORDER_1234', 'SDL_BITMAPORDER_1234')
register('PIXELFORMAT_INDEX4LSB', 'SDL_PIXELFORMAT_INDEX4LSB')
register('PIXELTYPE_INDEX4', 'SDL_PIXELTYPE_INDEX4')
register('BITMAPORDER_4321', 'SDL_BITMAPORDER_4321')
register('PIXELFORMAT_INDEX4MSB', 'SDL_PIXELFORMAT_INDEX4MSB')
register('PIXELTYPE_INDEX4', 'SDL_PIXELTYPE_INDEX4')
register('BITMAPORDER_1234', 'SDL_BITMAPORDER_1234')
register('PIXELFORMAT_INDEX8', 'SDL_PIXELFORMAT_INDEX8')
register('PIXELTYPE_INDEX8', 'SDL_PIXELTYPE_INDEX8')
register('PIXELFORMAT_RGB332', 'SDL_PIXELFORMAT_RGB332')
register('PIXELTYPE_PACKED8', 'SDL_PIXELTYPE_PACKED8')
register('PACKEDORDER_XRGB', 'SDL_PACKEDORDER_XRGB')
register('PACKEDLAYOUT_332', 'SDL_PACKEDLAYOUT_332')
register('PIXELFORMAT_RGB444', 'SDL_PIXELFORMAT_RGB444')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_XRGB', 'SDL_PACKEDORDER_XRGB')
register('PACKEDLAYOUT_4444', 'SDL_PACKEDLAYOUT_4444')
register('PIXELFORMAT_RGB555', 'SDL_PIXELFORMAT_RGB555')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_XRGB', 'SDL_PACKEDORDER_XRGB')
register('PACKEDLAYOUT_1555', 'SDL_PACKEDLAYOUT_1555')
register('PIXELFORMAT_BGR555', 'SDL_PIXELFORMAT_BGR555')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_XBGR', 'SDL_PACKEDORDER_XBGR')
register('PACKEDLAYOUT_1555', 'SDL_PACKEDLAYOUT_1555')
register('PIXELFORMAT_ARGB4444', 'SDL_PIXELFORMAT_ARGB4444')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_ARGB', 'SDL_PACKEDORDER_ARGB')
register('PACKEDLAYOUT_4444', 'SDL_PACKEDLAYOUT_4444')
register('PIXELFORMAT_RGBA4444', 'SDL_PIXELFORMAT_RGBA4444')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_RGBA', 'SDL_PACKEDORDER_RGBA')
register('PACKEDLAYOUT_4444', 'SDL_PACKEDLAYOUT_4444')
register('PIXELFORMAT_ABGR4444', 'SDL_PIXELFORMAT_ABGR4444')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_ABGR', 'SDL_PACKEDORDER_ABGR')
register('PACKEDLAYOUT_4444', 'SDL_PACKEDLAYOUT_4444')
register('PIXELFORMAT_BGRA4444', 'SDL_PIXELFORMAT_BGRA4444')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_BGRA', 'SDL_PACKEDORDER_BGRA')
register('PACKEDLAYOUT_4444', 'SDL_PACKEDLAYOUT_4444')
register('PIXELFORMAT_ARGB1555', 'SDL_PIXELFORMAT_ARGB1555')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_ARGB', 'SDL_PACKEDORDER_ARGB')
register('PACKEDLAYOUT_1555', 'SDL_PACKEDLAYOUT_1555')
register('PIXELFORMAT_RGBA5551', 'SDL_PIXELFORMAT_RGBA5551')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_RGBA', 'SDL_PACKEDORDER_RGBA')
register('PACKEDLAYOUT_5551', 'SDL_PACKEDLAYOUT_5551')
register('PIXELFORMAT_ABGR1555', 'SDL_PIXELFORMAT_ABGR1555')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_ABGR', 'SDL_PACKEDORDER_ABGR')
register('PACKEDLAYOUT_1555', 'SDL_PACKEDLAYOUT_1555')
register('PIXELFORMAT_BGRA5551', 'SDL_PIXELFORMAT_BGRA5551')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_BGRA', 'SDL_PACKEDORDER_BGRA')
register('PACKEDLAYOUT_5551', 'SDL_PACKEDLAYOUT_5551')
register('PIXELFORMAT_RGB565', 'SDL_PIXELFORMAT_RGB565')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_XRGB', 'SDL_PACKEDORDER_XRGB')
register('PACKEDLAYOUT_565', 'SDL_PACKEDLAYOUT_565')
register('PIXELFORMAT_BGR565', 'SDL_PIXELFORMAT_BGR565')
register('PIXELTYPE_PACKED16', 'SDL_PIXELTYPE_PACKED16')
register('PACKEDORDER_XBGR', 'SDL_PACKEDORDER_XBGR')
register('PACKEDLAYOUT_565', 'SDL_PACKEDLAYOUT_565')
register('PIXELFORMAT_RGB24', 'SDL_PIXELFORMAT_RGB24')
register('PIXELTYPE_ARRAYU8', 'SDL_PIXELTYPE_ARRAYU8')
register('ARRAYORDER_RGB', 'SDL_ARRAYORDER_RGB')
register('PIXELFORMAT_BGR24', 'SDL_PIXELFORMAT_BGR24')
register('PIXELTYPE_ARRAYU8', 'SDL_PIXELTYPE_ARRAYU8')
register('ARRAYORDER_BGR', 'SDL_ARRAYORDER_BGR')
register('PIXELFORMAT_RGB888', 'SDL_PIXELFORMAT_RGB888')
register('PIXELTYPE_PACKED32', 'SDL_PIXELTYPE_PACKED32')
register('PACKEDORDER_XRGB', 'SDL_PACKEDORDER_XRGB')
register('PACKEDLAYOUT_8888', 'SDL_PACKEDLAYOUT_8888')
register('PIXELFORMAT_RGBX8888', 'SDL_PIXELFORMAT_RGBX8888')
register('PIXELTYPE_PACKED32', 'SDL_PIXELTYPE_PACKED32')
register('PACKEDORDER_RGBX', 'SDL_PACKEDORDER_RGBX')
register('PACKEDLAYOUT_8888', 'SDL_PACKEDLAYOUT_8888')
register('PIXELFORMAT_BGR888', 'SDL_PIXELFORMAT_BGR888')
register('PIXELTYPE_PACKED32', 'SDL_PIXELTYPE_PACKED32')
register('PACKEDORDER_XBGR', 'SDL_PACKEDORDER_XBGR')
register('PACKEDLAYOUT_8888', 'SDL_PACKEDLAYOUT_8888')
register('PIXELFORMAT_BGRX8888', 'SDL_PIXELFORMAT_BGRX8888')
register('PIXELTYPE_PACKED32', 'SDL_PIXELTYPE_PACKED32')
register('PACKEDORDER_BGRX', 'SDL_PACKEDORDER_BGRX')
register('PACKEDLAYOUT_8888', 'SDL_PACKEDLAYOUT_8888')
register('PIXELFORMAT_ARGB8888', 'SDL_PIXELFORMAT_ARGB8888')
register('PIXELTYPE_PACKED32', 'SDL_PIXELTYPE_PACKED32')
register('PACKEDORDER_ARGB', 'SDL_PACKEDORDER_ARGB')
register('PACKEDLAYOUT_8888', 'SDL_PACKEDLAYOUT_8888')
register('PIXELFORMAT_RGBA8888', 'SDL_PIXELFORMAT_RGBA8888')
register('PIXELTYPE_PACKED32', 'SDL_PIXELTYPE_PACKED32')
register('PACKEDORDER_RGBA', 'SDL_PACKEDORDER_RGBA')
register('PACKEDLAYOUT_8888', 'SDL_PACKEDLAYOUT_8888')
register('PIXELFORMAT_ABGR8888', 'SDL_PIXELFORMAT_ABGR8888')
register('PIXELTYPE_PACKED32', 'SDL_PIXELTYPE_PACKED32')
register('PACKEDORDER_ABGR', 'SDL_PACKEDORDER_ABGR')
register('PACKEDLAYOUT_8888', 'SDL_PACKEDLAYOUT_8888')
register('PIXELFORMAT_BGRA8888', 'SDL_PIXELFORMAT_BGRA8888')
register('PIXELTYPE_PACKED32', 'SDL_PIXELTYPE_PACKED32')
register('PACKEDORDER_BGRA', 'SDL_PACKEDORDER_BGRA')
register('PACKEDLAYOUT_8888', 'SDL_PACKEDLAYOUT_8888')
register('PIXELFORMAT_ARGB2101010', 'SDL_PIXELFORMAT_ARGB2101010')
register('PIXELTYPE_PACKED32', 'SDL_PIXELTYPE_PACKED32')
register('PACKEDORDER_ARGB', 'SDL_PACKEDORDER_ARGB')
register('PACKEDLAYOUT_2101010', 'SDL_PACKEDLAYOUT_2101010')
register('PIXELFORMAT_YV12', 'SDL_PIXELFORMAT_YV12')
register('PIXELFORMAT_IYUV', 'SDL_PIXELFORMAT_IYUV')
register('PIXELFORMAT_YUY2', 'SDL_PIXELFORMAT_YUY2')
register('PIXELFORMAT_UYVY', 'SDL_PIXELFORMAT_UYVY')
register('PIXELFORMAT_YVYU', 'SDL_PIXELFORMAT_YVYU')
register('BLENDMODE_NONE', 'SDL_BLENDMODE_NONE')
register('BLENDMODE_BLEND', 'SDL_BLENDMODE_BLEND')
register('BLENDMODE_ADD', 'SDL_BLENDMODE_ADD')
register('BLENDMODE_MOD', 'SDL_BLENDMODE_MOD')
register('WINDOW_FULLSCREEN', 'SDL_WINDOW_FULLSCREEN')
register('WINDOW_OPENGL', 'SDL_WINDOW_OPENGL')
register('WINDOW_SHOWN', 'SDL_WINDOW_SHOWN')
register('WINDOW_HIDDEN', 'SDL_WINDOW_HIDDEN')
register('WINDOW_BORDERLESS', 'SDL_WINDOW_BORDERLESS')
register('WINDOW_RESIZABLE', 'SDL_WINDOW_RESIZABLE')
register('WINDOW_MINIMIZED', 'SDL_WINDOW_MINIMIZED')
register('WINDOW_MAXIMIZED', 'SDL_WINDOW_MAXIMIZED')
register('WINDOW_INPUT_GRABBED', 'SDL_WINDOW_INPUT_GRABBED')
register('WINDOW_INPUT_FOCUS', 'SDL_WINDOW_INPUT_FOCUS')
register('WINDOW_MOUSE_FOCUS', 'SDL_WINDOW_MOUSE_FOCUS')
register('WINDOW_FULLSCREEN_DESKTOP', 'SDL_WINDOW_FULLSCREEN_DESKTOP')
register('WINDOW_FULLSCREEN', 'SDL_WINDOW_FULLSCREEN')
register('WINDOW_FOREIGN', 'SDL_WINDOW_FOREIGN')
register('WINDOWEVENT_NONE', 'SDL_WINDOWEVENT_NONE')
register('WINDOWEVENT_SHOWN', 'SDL_WINDOWEVENT_SHOWN')
register('WINDOWEVENT_HIDDEN', 'SDL_WINDOWEVENT_HIDDEN')
register('WINDOWEVENT_EXPOSED', 'SDL_WINDOWEVENT_EXPOSED')
register('WINDOWEVENT_MOVED', 'SDL_WINDOWEVENT_MOVED')
register('WINDOWEVENT_RESIZED', 'SDL_WINDOWEVENT_RESIZED')
register('WINDOWEVENT_SIZE_CHANGED', 'SDL_WINDOWEVENT_SIZE_CHANGED')
register('WINDOWEVENT_MINIMIZED', 'SDL_WINDOWEVENT_MINIMIZED')
register('WINDOWEVENT_MAXIMIZED', 'SDL_WINDOWEVENT_MAXIMIZED')
register('WINDOWEVENT_RESTORED', 'SDL_WINDOWEVENT_RESTORED')
register('WINDOWEVENT_ENTER', 'SDL_WINDOWEVENT_ENTER')
register('WINDOWEVENT_LEAVE', 'SDL_WINDOWEVENT_LEAVE')
register('WINDOWEVENT_FOCUS_GAINED', 'SDL_WINDOWEVENT_FOCUS_GAINED')
register('WINDOWEVENT_FOCUS_LOST', 'SDL_WINDOWEVENT_FOCUS_LOST')
register('WINDOWEVENT_CLOSE', 'SDL_WINDOWEVENT_CLOSE')
register('GL_RED_SIZE', 'SDL_GL_RED_SIZE')
register('GL_GREEN_SIZE', 'SDL_GL_GREEN_SIZE')
register('GL_BLUE_SIZE', 'SDL_GL_BLUE_SIZE')
register('GL_ALPHA_SIZE', 'SDL_GL_ALPHA_SIZE')
register('GL_BUFFER_SIZE', 'SDL_GL_BUFFER_SIZE')
register('GL_DOUBLEBUFFER', 'SDL_GL_DOUBLEBUFFER')
register('GL_DEPTH_SIZE', 'SDL_GL_DEPTH_SIZE')
register('GL_STENCIL_SIZE', 'SDL_GL_STENCIL_SIZE')
register('GL_ACCUM_RED_SIZE', 'SDL_GL_ACCUM_RED_SIZE')
register('GL_ACCUM_GREEN_SIZE', 'SDL_GL_ACCUM_GREEN_SIZE')
register('GL_ACCUM_BLUE_SIZE', 'SDL_GL_ACCUM_BLUE_SIZE')
register('GL_ACCUM_ALPHA_SIZE', 'SDL_GL_ACCUM_ALPHA_SIZE')
register('GL_STEREO', 'SDL_GL_STEREO')
register('GL_MULTISAMPLEBUFFERS', 'SDL_GL_MULTISAMPLEBUFFERS')
register('GL_MULTISAMPLESAMPLES', 'SDL_GL_MULTISAMPLESAMPLES')
register('GL_ACCELERATED_VISUAL', 'SDL_GL_ACCELERATED_VISUAL')
register('GL_RETAINED_BACKING', 'SDL_GL_RETAINED_BACKING')
register('GL_CONTEXT_MAJOR_VERSION', 'SDL_GL_CONTEXT_MAJOR_VERSION')
register('GL_CONTEXT_MINOR_VERSION', 'SDL_GL_CONTEXT_MINOR_VERSION')
register('GL_CONTEXT_EGL', 'SDL_GL_CONTEXT_EGL')
register('GL_CONTEXT_FLAGS', 'SDL_GL_CONTEXT_FLAGS')
register('GL_CONTEXT_PROFILE_MASK', 'SDL_GL_CONTEXT_PROFILE_MASK')
register('GL_SHARE_WITH_CURRENT_CONTEXT', 'SDL_GL_SHARE_WITH_CURRENT_CONTEXT')
register('GL_CONTEXT_PROFILE_CORE', 'SDL_GL_CONTEXT_PROFILE_CORE')
register('GL_CONTEXT_PROFILE_COMPATIBILITY', 'SDL_GL_CONTEXT_PROFILE_COMPATIBILITY')
register('GL_CONTEXT_PROFILE_ES', 'SDL_GL_CONTEXT_PROFILE_ES')
register('GL_CONTEXT_DEBUG_FLAG', 'SDL_GL_CONTEXT_DEBUG_FLAG')
register('GL_CONTEXT_FORWARD_COMPATIBLE_FLAG', 'SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG')
register('GL_CONTEXT_ROBUST_ACCESS_FLAG', 'SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG')
register('GL_CONTEXT_RESET_ISOLATION_FLAG', 'SDL_GL_CONTEXT_RESET_ISOLATION_FLAG')
register('SCANCODE_UNKNOWN', 'SDL_SCANCODE_UNKNOWN')
register('SCANCODE_A', 'SDL_SCANCODE_A')
register('SCANCODE_B', 'SDL_SCANCODE_B')
register('SCANCODE_C', 'SDL_SCANCODE_C')
register('SCANCODE_D', 'SDL_SCANCODE_D')
register('SCANCODE_E', 'SDL_SCANCODE_E')
register('SCANCODE_F', 'SDL_SCANCODE_F')
register('SCANCODE_G', 'SDL_SCANCODE_G')
register('SCANCODE_H', 'SDL_SCANCODE_H')
register('SCANCODE_I', 'SDL_SCANCODE_I')
register('SCANCODE_J', 'SDL_SCANCODE_J')
register('SCANCODE_K', 'SDL_SCANCODE_K')
register('SCANCODE_L', 'SDL_SCANCODE_L')
register('SCANCODE_M', 'SDL_SCANCODE_M')
register('SCANCODE_N', 'SDL_SCANCODE_N')
register('SCANCODE_O', 'SDL_SCANCODE_O')
register('SCANCODE_P', 'SDL_SCANCODE_P')
register('SCANCODE_Q', 'SDL_SCANCODE_Q')
register('SCANCODE_R', 'SDL_SCANCODE_R')
register('SCANCODE_S', 'SDL_SCANCODE_S')
register('SCANCODE_T', 'SDL_SCANCODE_T')
register('SCANCODE_U', 'SDL_SCANCODE_U')
register('SCANCODE_V', 'SDL_SCANCODE_V')
register('SCANCODE_W', 'SDL_SCANCODE_W')
register('SCANCODE_X', 'SDL_SCANCODE_X')
register('SCANCODE_Y', 'SDL_SCANCODE_Y')
register('SCANCODE_Z', 'SDL_SCANCODE_Z')
register('SCANCODE_1', 'SDL_SCANCODE_1')
register('SCANCODE_2', 'SDL_SCANCODE_2')
register('SCANCODE_3', 'SDL_SCANCODE_3')
register('SCANCODE_4', 'SDL_SCANCODE_4')
register('SCANCODE_5', 'SDL_SCANCODE_5')
register('SCANCODE_6', 'SDL_SCANCODE_6')
register('SCANCODE_7', 'SDL_SCANCODE_7')
register('SCANCODE_8', 'SDL_SCANCODE_8')
register('SCANCODE_9', 'SDL_SCANCODE_9')
register('SCANCODE_0', 'SDL_SCANCODE_0')
register('SCANCODE_RETURN', 'SDL_SCANCODE_RETURN')
register('SCANCODE_ESCAPE', 'SDL_SCANCODE_ESCAPE')
register('SCANCODE_BACKSPACE', 'SDL_SCANCODE_BACKSPACE')
register('SCANCODE_TAB', 'SDL_SCANCODE_TAB')
register('SCANCODE_SPACE', 'SDL_SCANCODE_SPACE')
register('SCANCODE_MINUS', 'SDL_SCANCODE_MINUS')
register('SCANCODE_EQUALS', 'SDL_SCANCODE_EQUALS')
register('SCANCODE_LEFTBRACKET', 'SDL_SCANCODE_LEFTBRACKET')
register('SCANCODE_RIGHTBRACKET', 'SDL_SCANCODE_RIGHTBRACKET')
register('SCANCODE_BACKSLASH', 'SDL_SCANCODE_BACKSLASH')
register('SCANCODE_NONUSHASH', 'SDL_SCANCODE_NONUSHASH')
register('SCANCODE_SEMICOLON', 'SDL_SCANCODE_SEMICOLON')
register('SCANCODE_APOSTROPHE', 'SDL_SCANCODE_APOSTROPHE')
register('SCANCODE_GRAVE', 'SDL_SCANCODE_GRAVE')
register('SCANCODE_COMMA', 'SDL_SCANCODE_COMMA')
register('SCANCODE_PERIOD', 'SDL_SCANCODE_PERIOD')
register('SCANCODE_SLASH', 'SDL_SCANCODE_SLASH')
register('SCANCODE_CAPSLOCK', 'SDL_SCANCODE_CAPSLOCK')
register('SCANCODE_F1', 'SDL_SCANCODE_F1')
register('SCANCODE_F2', 'SDL_SCANCODE_F2')
register('SCANCODE_F3', 'SDL_SCANCODE_F3')
register('SCANCODE_F4', 'SDL_SCANCODE_F4')
register('SCANCODE_F5', 'SDL_SCANCODE_F5')
register('SCANCODE_F6', 'SDL_SCANCODE_F6')
register('SCANCODE_F7', 'SDL_SCANCODE_F7')
register('SCANCODE_F8', 'SDL_SCANCODE_F8')
register('SCANCODE_F9', 'SDL_SCANCODE_F9')
register('SCANCODE_F10', 'SDL_SCANCODE_F10')
register('SCANCODE_F11', 'SDL_SCANCODE_F11')
register('SCANCODE_F12', 'SDL_SCANCODE_F12')
register('SCANCODE_PRINTSCREEN', 'SDL_SCANCODE_PRINTSCREEN')
register('SCANCODE_SCROLLLOCK', 'SDL_SCANCODE_SCROLLLOCK')
register('SCANCODE_PAUSE', 'SDL_SCANCODE_PAUSE')
register('SCANCODE_INSERT', 'SDL_SCANCODE_INSERT')
register('SCANCODE_HOME', 'SDL_SCANCODE_HOME')
register('SCANCODE_PAGEUP', 'SDL_SCANCODE_PAGEUP')
register('SCANCODE_DELETE', 'SDL_SCANCODE_DELETE')
register('SCANCODE_END', 'SDL_SCANCODE_END')
register('SCANCODE_PAGEDOWN', 'SDL_SCANCODE_PAGEDOWN')
register('SCANCODE_RIGHT', 'SDL_SCANCODE_RIGHT')
register('SCANCODE_LEFT', 'SDL_SCANCODE_LEFT')
register('SCANCODE_DOWN', 'SDL_SCANCODE_DOWN')
register('SCANCODE_UP', 'SDL_SCANCODE_UP')
register('SCANCODE_NUMLOCKCLEAR', 'SDL_SCANCODE_NUMLOCKCLEAR')
register('SCANCODE_KP_DIVIDE', 'SDL_SCANCODE_KP_DIVIDE')
register('SCANCODE_KP_MULTIPLY', 'SDL_SCANCODE_KP_MULTIPLY')
register('SCANCODE_KP_MINUS', 'SDL_SCANCODE_KP_MINUS')
register('SCANCODE_KP_PLUS', 'SDL_SCANCODE_KP_PLUS')
register('SCANCODE_KP_ENTER', 'SDL_SCANCODE_KP_ENTER')
register('SCANCODE_KP_1', 'SDL_SCANCODE_KP_1')
register('SCANCODE_KP_2', 'SDL_SCANCODE_KP_2')
register('SCANCODE_KP_3', 'SDL_SCANCODE_KP_3')
register('SCANCODE_KP_4', 'SDL_SCANCODE_KP_4')
register('SCANCODE_KP_5', 'SDL_SCANCODE_KP_5')
register('SCANCODE_KP_6', 'SDL_SCANCODE_KP_6')
register('SCANCODE_KP_7', 'SDL_SCANCODE_KP_7')
register('SCANCODE_KP_8', 'SDL_SCANCODE_KP_8')
register('SCANCODE_KP_9', 'SDL_SCANCODE_KP_9')
register('SCANCODE_KP_0', 'SDL_SCANCODE_KP_0')
register('SCANCODE_KP_PERIOD', 'SDL_SCANCODE_KP_PERIOD')
register('SCANCODE_NONUSBACKSLASH', 'SDL_SCANCODE_NONUSBACKSLASH')
register('SCANCODE_APPLICATION', 'SDL_SCANCODE_APPLICATION')
register('SCANCODE_POWER', 'SDL_SCANCODE_POWER')
register('SCANCODE_KP_EQUALS', 'SDL_SCANCODE_KP_EQUALS')
register('SCANCODE_F13', 'SDL_SCANCODE_F13')
register('SCANCODE_F14', 'SDL_SCANCODE_F14')
register('SCANCODE_F15', 'SDL_SCANCODE_F15')
register('SCANCODE_F16', 'SDL_SCANCODE_F16')
register('SCANCODE_F17', 'SDL_SCANCODE_F17')
register('SCANCODE_F18', 'SDL_SCANCODE_F18')
register('SCANCODE_F19', 'SDL_SCANCODE_F19')
register('SCANCODE_F20', 'SDL_SCANCODE_F20')
register('SCANCODE_F21', 'SDL_SCANCODE_F21')
register('SCANCODE_F22', 'SDL_SCANCODE_F22')
register('SCANCODE_F23', 'SDL_SCANCODE_F23')
register('SCANCODE_F24', 'SDL_SCANCODE_F24')
register('SCANCODE_EXECUTE', 'SDL_SCANCODE_EXECUTE')
register('SCANCODE_HELP', 'SDL_SCANCODE_HELP')
register('SCANCODE_MENU', 'SDL_SCANCODE_MENU')
register('SCANCODE_SELECT', 'SDL_SCANCODE_SELECT')
register('SCANCODE_STOP', 'SDL_SCANCODE_STOP')
register('SCANCODE_AGAIN', 'SDL_SCANCODE_AGAIN')
register('SCANCODE_UNDO', 'SDL_SCANCODE_UNDO')
register('SCANCODE_CUT', 'SDL_SCANCODE_CUT')
register('SCANCODE_COPY', 'SDL_SCANCODE_COPY')
register('SCANCODE_PASTE', 'SDL_SCANCODE_PASTE')
register('SCANCODE_FIND', 'SDL_SCANCODE_FIND')
register('SCANCODE_MUTE', 'SDL_SCANCODE_MUTE')
register('SCANCODE_VOLUMEUP', 'SDL_SCANCODE_VOLUMEUP')
register('SCANCODE_VOLUMEDOWN', 'SDL_SCANCODE_VOLUMEDOWN')
register('SCANCODE_KP_COMMA', 'SDL_SCANCODE_KP_COMMA')
register('SCANCODE_KP_EQUALSAS400', 'SDL_SCANCODE_KP_EQUALSAS400')
register('SCANCODE_INTERNATIONAL1', 'SDL_SCANCODE_INTERNATIONAL1')
register('SCANCODE_INTERNATIONAL2', 'SDL_SCANCODE_INTERNATIONAL2')
register('SCANCODE_INTERNATIONAL3', 'SDL_SCANCODE_INTERNATIONAL3')
register('SCANCODE_INTERNATIONAL4', 'SDL_SCANCODE_INTERNATIONAL4')
register('SCANCODE_INTERNATIONAL5', 'SDL_SCANCODE_INTERNATIONAL5')
register('SCANCODE_INTERNATIONAL6', 'SDL_SCANCODE_INTERNATIONAL6')
register('SCANCODE_INTERNATIONAL7', 'SDL_SCANCODE_INTERNATIONAL7')
register('SCANCODE_INTERNATIONAL8', 'SDL_SCANCODE_INTERNATIONAL8')
register('SCANCODE_INTERNATIONAL9', 'SDL_SCANCODE_INTERNATIONAL9')
register('SCANCODE_LANG1', 'SDL_SCANCODE_LANG1')
register('SCANCODE_LANG2', 'SDL_SCANCODE_LANG2')
register('SCANCODE_LANG3', 'SDL_SCANCODE_LANG3')
register('SCANCODE_LANG4', 'SDL_SCANCODE_LANG4')
register('SCANCODE_LANG5', 'SDL_SCANCODE_LANG5')
register('SCANCODE_LANG6', 'SDL_SCANCODE_LANG6')
register('SCANCODE_LANG7', 'SDL_SCANCODE_LANG7')
register('SCANCODE_LANG8', 'SDL_SCANCODE_LANG8')
register('SCANCODE_LANG9', 'SDL_SCANCODE_LANG9')
register('SCANCODE_ALTERASE', 'SDL_SCANCODE_ALTERASE')
register('SCANCODE_SYSREQ', 'SDL_SCANCODE_SYSREQ')
register('SCANCODE_CANCEL', 'SDL_SCANCODE_CANCEL')
register('SCANCODE_CLEAR', 'SDL_SCANCODE_CLEAR')
register('SCANCODE_PRIOR', 'SDL_SCANCODE_PRIOR')
register('SCANCODE_RETURN2', 'SDL_SCANCODE_RETURN2')
register('SCANCODE_SEPARATOR', 'SDL_SCANCODE_SEPARATOR')
register('SCANCODE_OUT', 'SDL_SCANCODE_OUT')
register('SCANCODE_OPER', 'SDL_SCANCODE_OPER')
register('SCANCODE_CLEARAGAIN', 'SDL_SCANCODE_CLEARAGAIN')
register('SCANCODE_CRSEL', 'SDL_SCANCODE_CRSEL')
register('SCANCODE_EXSEL', 'SDL_SCANCODE_EXSEL')
register('SCANCODE_KP_00', 'SDL_SCANCODE_KP_00')
register('SCANCODE_KP_000', 'SDL_SCANCODE_KP_000')
register('SCANCODE_THOUSANDSSEPARATOR', 'SDL_SCANCODE_THOUSANDSSEPARATOR')
register('SCANCODE_DECIMALSEPARATOR', 'SDL_SCANCODE_DECIMALSEPARATOR')
register('SCANCODE_CURRENCYUNIT', 'SDL_SCANCODE_CURRENCYUNIT')
register('SCANCODE_CURRENCYSUBUNIT', 'SDL_SCANCODE_CURRENCYSUBUNIT')
register('SCANCODE_KP_LEFTPAREN', 'SDL_SCANCODE_KP_LEFTPAREN')
register('SCANCODE_KP_RIGHTPAREN', 'SDL_SCANCODE_KP_RIGHTPAREN')
register('SCANCODE_KP_LEFTBRACE', 'SDL_SCANCODE_KP_LEFTBRACE')
register('SCANCODE_KP_RIGHTBRACE', 'SDL_SCANCODE_KP_RIGHTBRACE')
register('SCANCODE_KP_TAB', 'SDL_SCANCODE_KP_TAB')
register('SCANCODE_KP_BACKSPACE', 'SDL_SCANCODE_KP_BACKSPACE')
register('SCANCODE_KP_A', 'SDL_SCANCODE_KP_A')
register('SCANCODE_KP_B', 'SDL_SCANCODE_KP_B')
register('SCANCODE_KP_C', 'SDL_SCANCODE_KP_C')
register('SCANCODE_KP_D', 'SDL_SCANCODE_KP_D')
register('SCANCODE_KP_E', 'SDL_SCANCODE_KP_E')
register('SCANCODE_KP_F', 'SDL_SCANCODE_KP_F')
register('SCANCODE_KP_XOR', 'SDL_SCANCODE_KP_XOR')
register('SCANCODE_KP_POWER', 'SDL_SCANCODE_KP_POWER')
register('SCANCODE_KP_PERCENT', 'SDL_SCANCODE_KP_PERCENT')
register('SCANCODE_KP_LESS', 'SDL_SCANCODE_KP_LESS')
register('SCANCODE_KP_GREATER', 'SDL_SCANCODE_KP_GREATER')
register('SCANCODE_KP_AMPERSAND', 'SDL_SCANCODE_KP_AMPERSAND')
register('SCANCODE_KP_DBLAMPERSAND', 'SDL_SCANCODE_KP_DBLAMPERSAND')
register('SCANCODE_KP_VERTICALBAR', 'SDL_SCANCODE_KP_VERTICALBAR')
register('SCANCODE_KP_DBLVERTICALBAR', 'SDL_SCANCODE_KP_DBLVERTICALBAR')
register('SCANCODE_KP_COLON', 'SDL_SCANCODE_KP_COLON')
register('SCANCODE_KP_HASH', 'SDL_SCANCODE_KP_HASH')
register('SCANCODE_KP_SPACE', 'SDL_SCANCODE_KP_SPACE')
register('SCANCODE_KP_AT', 'SDL_SCANCODE_KP_AT')
register('SCANCODE_KP_EXCLAM', 'SDL_SCANCODE_KP_EXCLAM')
register('SCANCODE_KP_MEMSTORE', 'SDL_SCANCODE_KP_MEMSTORE')
register('SCANCODE_KP_MEMRECALL', 'SDL_SCANCODE_KP_MEMRECALL')
register('SCANCODE_KP_MEMCLEAR', 'SDL_SCANCODE_KP_MEMCLEAR')
register('SCANCODE_KP_MEMADD', 'SDL_SCANCODE_KP_MEMADD')
register('SCANCODE_KP_MEMSUBTRACT', 'SDL_SCANCODE_KP_MEMSUBTRACT')
register('SCANCODE_KP_MEMMULTIPLY', 'SDL_SCANCODE_KP_MEMMULTIPLY')
register('SCANCODE_KP_MEMDIVIDE', 'SDL_SCANCODE_KP_MEMDIVIDE')
register('SCANCODE_KP_PLUSMINUS', 'SDL_SCANCODE_KP_PLUSMINUS')
register('SCANCODE_KP_CLEAR', 'SDL_SCANCODE_KP_CLEAR')
register('SCANCODE_KP_CLEARENTRY', 'SDL_SCANCODE_KP_CLEARENTRY')
register('SCANCODE_KP_BINARY', 'SDL_SCANCODE_KP_BINARY')
register('SCANCODE_KP_OCTAL', 'SDL_SCANCODE_KP_OCTAL')
register('SCANCODE_KP_DECIMAL', 'SDL_SCANCODE_KP_DECIMAL')
register('SCANCODE_KP_HEXADECIMAL', 'SDL_SCANCODE_KP_HEXADECIMAL')
register('SCANCODE_LCTRL', 'SDL_SCANCODE_LCTRL')
register('SCANCODE_LSHIFT', 'SDL_SCANCODE_LSHIFT')
register('SCANCODE_LALT', 'SDL_SCANCODE_LALT')