Artifact
83dd221bdda9eb596f6bbd2aadda1966ef7887ae:
- File
sdl2/keyboard-functions.ss
— part of check-in
[c9770d8f7f]
at
2016-08-17 07:47:19
on branch trunk
— added sdl2
(user:
ovenpasta@pizzahack.eu
size: 1439)
0000: 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 (define-sdl-func
0010: 20 28 2a 20 73 64 6c 2d 77 69 6e 64 6f 77 2d 74 (* sdl-window-t
0020: 29 20 73 64 6c 2d 67 65 74 2d 6b 65 79 62 6f 61 ) sdl-get-keyboa
0030: 72 64 2d 66 6f 63 75 73 20 28 29 20 22 53 44 4c rd-focus () "SDL
0040: 5f 47 65 74 4b 65 79 62 6f 61 72 64 46 6f 63 75 _GetKeyboardFocu
0050: 73 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d s").(define-sdl-
0060: 66 75 6e 63 20 28 2a 20 75 69 6e 74 38 29 20 73 func (* uint8) s
0070: 64 6c 2d 67 65 74 2d 6b 65 79 62 6f 61 72 64 2d dl-get-keyboard-
0080: 73 74 61 74 65 20 28 28 6e 75 6d 6b 65 79 73 20 state ((numkeys
0090: 28 2a 20 69 6e 74 29 29 29 20 22 53 44 4c 5f 47 (* int))) "SDL_G
00a0: 65 74 4b 65 79 62 6f 61 72 64 53 74 61 74 65 22 etKeyboardState"
00b0: 29 0a 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 ).(define-sdl-fu
00c0: 6e 63 20 73 64 6c 2d 6b 65 79 6d 6f 64 2d 74 20 nc sdl-keymod-t
00d0: 73 64 6c 2d 67 65 74 2d 6d 6f 64 2d 73 74 61 74 sdl-get-mod-stat
00e0: 65 20 28 29 20 22 53 44 4c 5f 47 65 74 4d 6f 64 e () "SDL_GetMod
00f0: 53 74 61 74 65 22 29 0a 28 64 65 66 69 6e 65 2d State").(define-
0100: 73 64 6c 2d 66 75 6e 63 20 76 6f 69 64 20 73 64 sdl-func void sd
0110: 6c 2d 73 65 74 2d 6d 6f 64 2d 73 74 61 74 65 20 l-set-mod-state
0120: 28 28 6d 6f 64 73 74 61 74 65 20 73 64 6c 2d 6b ((modstate sdl-k
0130: 65 79 6d 6f 64 2d 74 29 29 20 22 53 44 4c 5f 53 eymod-t)) "SDL_S
0140: 65 74 4d 6f 64 53 74 61 74 65 22 29 0a 28 64 65 etModState").(de
0150: 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 64 fine-sdl-func sd
0160: 6c 2d 6b 65 79 63 6f 64 65 2d 74 20 73 64 6c 2d l-keycode-t sdl-
0170: 67 65 74 2d 6b 65 79 2d 66 72 6f 6d 2d 73 63 61 get-key-from-sca
0180: 6e 63 6f 64 65 20 28 28 73 63 61 6e 63 6f 64 65 ncode ((scancode
0190: 20 73 64 6c 2d 73 63 61 6e 63 6f 64 65 2d 74 29 sdl-scancode-t)
01a0: 29 20 22 53 44 4c 5f 47 65 74 4b 65 79 46 72 6f ) "SDL_GetKeyFro
01b0: 6d 53 63 61 6e 63 6f 64 65 22 29 0a 28 64 65 66 mScancode").(def
01c0: 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 64 6c ine-sdl-func sdl
01d0: 2d 73 63 61 6e 63 6f 64 65 2d 74 20 73 64 6c 2d -scancode-t sdl-
01e0: 67 65 74 2d 73 63 61 6e 63 6f 64 65 2d 66 72 6f get-scancode-fro
01f0: 6d 2d 6b 65 79 20 28 28 6b 65 79 20 73 64 6c 2d m-key ((key sdl-
0200: 6b 65 79 63 6f 64 65 2d 74 29 29 20 22 53 44 4c keycode-t)) "SDL
0210: 5f 47 65 74 53 63 61 6e 63 6f 64 65 46 72 6f 6d _GetScancodeFrom
0220: 4b 65 79 22 29 0a 28 64 65 66 69 6e 65 2d 73 64 Key").(define-sd
0230: 6c 2d 66 75 6e 63 20 73 74 72 69 6e 67 20 73 64 l-func string sd
0240: 6c 2d 67 65 74 2d 73 63 61 6e 63 6f 64 65 2d 6e l-get-scancode-n
0250: 61 6d 65 20 28 28 73 63 61 6e 63 6f 64 65 20 73 ame ((scancode s
0260: 64 6c 2d 73 63 61 6e 63 6f 64 65 2d 74 29 29 20 dl-scancode-t))
0270: 22 53 44 4c 5f 47 65 74 53 63 61 6e 63 6f 64 65 "SDL_GetScancode
0280: 4e 61 6d 65 22 29 0a 28 64 65 66 69 6e 65 2d 73 Name").(define-s
0290: 64 6c 2d 66 75 6e 63 20 73 64 6c 2d 73 63 61 6e dl-func sdl-scan
02a0: 63 6f 64 65 2d 74 20 73 64 6c 2d 67 65 74 2d 73 code-t sdl-get-s
02b0: 63 61 6e 63 6f 64 65 2d 66 72 6f 6d 2d 6e 61 6d cancode-from-nam
02c0: 65 20 28 28 6e 61 6d 65 20 73 74 72 69 6e 67 29 e ((name string)
02d0: 29 20 22 53 44 4c 5f 47 65 74 53 63 61 6e 63 6f ) "SDL_GetScanco
02e0: 64 65 46 72 6f 6d 4e 61 6d 65 22 29 0a 28 64 65 deFromName").(de
02f0: 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 74 fine-sdl-func st
0300: 72 69 6e 67 20 73 64 6c 2d 67 65 74 2d 6b 65 79 ring sdl-get-key
0310: 2d 6e 61 6d 65 20 28 28 6b 65 79 20 73 64 6c 2d -name ((key sdl-
0320: 6b 65 79 63 6f 64 65 2d 74 29 29 20 22 53 44 4c keycode-t)) "SDL
0330: 5f 47 65 74 4b 65 79 4e 61 6d 65 22 29 0a 28 64 _GetKeyName").(d
0340: 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 efine-sdl-func s
0350: 64 6c 2d 6b 65 79 63 6f 64 65 2d 74 20 73 64 6c dl-keycode-t sdl
0360: 2d 67 65 74 2d 6b 65 79 2d 66 72 6f 6d 2d 6e 61 -get-key-from-na
0370: 6d 65 20 28 28 6e 61 6d 65 20 73 74 72 69 6e 67 me ((name string
0380: 29 29 20 22 53 44 4c 5f 47 65 74 4b 65 79 46 72 )) "SDL_GetKeyFr
0390: 6f 6d 4e 61 6d 65 22 29 0a 28 64 65 66 69 6e 65 omName").(define
03a0: 2d 73 64 6c 2d 66 75 6e 63 20 76 6f 69 64 20 73 -sdl-func void s
03b0: 64 6c 2d 73 74 61 72 74 2d 74 65 78 74 2d 69 6e dl-start-text-in
03c0: 70 75 74 20 28 29 20 22 53 44 4c 5f 53 74 61 72 put () "SDL_Star
03d0: 74 54 65 78 74 49 6e 70 75 74 22 29 0a 28 64 65 tTextInput").(de
03e0: 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 64 fine-sdl-func sd
03f0: 6c 2d 62 6f 6f 6c 2d 74 20 73 64 6c 2d 69 73 2d l-bool-t sdl-is-
0400: 74 65 78 74 2d 69 6e 70 75 74 2d 61 63 74 69 76 text-input-activ
0410: 65 20 28 29 20 22 53 44 4c 5f 49 73 54 65 78 74 e () "SDL_IsText
0420: 49 6e 70 75 74 41 63 74 69 76 65 22 29 0a 28 64 InputActive").(d
0430: 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 76 efine-sdl-func v
0440: 6f 69 64 20 73 64 6c 2d 73 74 6f 70 2d 74 65 78 oid sdl-stop-tex
0450: 74 2d 69 6e 70 75 74 20 28 29 20 22 53 44 4c 5f t-input () "SDL_
0460: 53 74 6f 70 54 65 78 74 49 6e 70 75 74 22 29 0a StopTextInput").
0470: 28 64 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 (define-sdl-func
0480: 20 76 6f 69 64 20 73 64 6c 2d 73 65 74 2d 74 65 void sdl-set-te
0490: 78 74 2d 69 6e 70 75 74 2d 72 65 63 74 20 28 28 xt-input-rect ((
04a0: 72 65 63 74 20 28 2a 20 73 64 6c 2d 72 65 63 74 rect (* sdl-rect
04b0: 2d 74 29 29 29 20 22 53 44 4c 5f 53 65 74 54 65 -t))) "SDL_SetTe
04c0: 78 74 49 6e 70 75 74 52 65 63 74 22 29 0a 28 64 xtInputRect").(d
04d0: 65 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 efine-sdl-func s
04e0: 64 6c 2d 62 6f 6f 6c 2d 74 20 73 64 6c 2d 68 61 dl-bool-t sdl-ha
04f0: 73 2d 73 63 72 65 65 6e 2d 6b 65 79 62 6f 61 72 s-screen-keyboar
0500: 64 2d 73 75 70 70 6f 72 74 20 28 29 20 22 53 44 d-support () "SD
0510: 4c 5f 48 61 73 53 63 72 65 65 6e 4b 65 79 62 6f L_HasScreenKeybo
0520: 61 72 64 53 75 70 70 6f 72 74 22 29 0a 28 64 65 ardSupport").(de
0530: 66 69 6e 65 2d 73 64 6c 2d 66 75 6e 63 20 73 64 fine-sdl-func sd
0540: 6c 2d 62 6f 6f 6c 2d 74 20 73 64 6c 2d 69 73 2d l-bool-t sdl-is-
0550: 73 63 72 65 65 6e 2d 6b 65 79 62 6f 61 72 64 2d screen-keyboard-
0560: 73 68 6f 77 6e 20 28 28 77 69 6e 64 6f 77 20 28 shown ((window (
0570: 2a 20 73 64 6c 2d 77 69 6e 64 6f 77 2d 74 29 29 * sdl-window-t))
0580: 29 20 22 53 44 4c 5f 49 73 53 63 72 65 65 6e 4b ) "SDL_IsScreenK
0590: 65 79 62 6f 61 72 64 53 68 6f 77 6e 22 29 0a eyboardShown").