module "/pliant/language/context.pli"

public
 gvar Int SDLK_UNKNOWN := 0
 gvar Int SDKL_FIRST := 0
 gvar Int SDLK_BACKSPACE := 8
 gvar Int SDLK_TAB := 9
 gvar Int SDLK_CLEAR := 12
 gvar Int SDLK_RETURN := 13
 gvar Int SDLK_PAUSE := 19
 gvar Int SDLK_ESCAPE := 27
 gvar Int SDLK_SPACE := 32
 gvar Int SDLK_EXCLAIM := 33
 gvar Int SDLK_QUOTEDBL := 34
 gvar Int SDLK_HASH := 35
 gvar Int SDLK_DOLLAR := 36
 gvar Int SDLK_AMPERSAND := 38
 gvar Int SDLK_QUOTE := 39
 gvar Int SDLK_LEFTPAREN := 40
 gvar Int SDLK_RIGHTPAREN := 41
 gvar Int SDLK_ASTERISK := 42
 gvar Int SDLK_PLUS := 43
 gvar Int SDLK_COMMA := 44
 gvar Int SDLK_MINUS := 45
 gvar Int SDLK_PERIOD := 46
 gvar Int SDLK_SLASH := 47
 gvar Int SDLK_0 := 48
 gvar Int SDLK_1 := 49
 gvar Int SDLK_2 := 50
 gvar Int SDLK_3 := 51
 gvar Int SDLK_4 := 52
 gvar Int SDLK_5 := 53
 gvar Int SDLK_6 := 54
 gvar Int SDLK_7 := 55
 gvar Int SDLK_8 := 56
 gvar Int SDLK_9 := 57
 gvar Int SDLK_COLON := 58
 gvar Int SDLK_SEMICOLON := 59
 gvar Int SDLK_LESS := 60
 gvar Int SDLK_EQUALS := 61
 gvar Int SDLK_GREATER := 62
 gvar Int SDLK_QUESTION := 63
 gvar Int SDLK_AT := 64

 #Skip uppercase letters
 gvar Int SDLK_LEFTBRACKET := 91
 gvar Int SDLK_BACKLASH := 92
 gvar Int SDLK_RIGHTBRACKET := 93
 gvar Int SDLK_CARET := 94
 gvar Int SDLK_UNDERSCORE := 95
 gvar Int SDLK_BACKQUOTE := 96
 gvar Int SDLK_a := 97
 gvar Int SDLK_b := 98
 gvar Int SDLK_c := 99
 gvar Int SDLK_d := 100
 gvar Int SDLK_e := 101
 gvar Int SDLK_f := 102
 gvar Int SDLK_g := 103
 gvar Int SDLK_h := 104
 gvar Int SDLK_i := 105
 gvar Int SDLK_j := 106
 gvar Int SDLK_k := 107
 gvar Int SDLK_l := 108
 gvar Int SDLK_m := 109
 gvar Int SDLK_n := 110
 gvar Int SDLK_o := 111
 gvar Int SDLK_p := 112
 gvar Int SDLK_q := 113
 gvar Int SDLK_r := 114
 gvar Int SDLK_s := 115
 gvar Int SDLK_t := 116
 gvar Int SDLK_u := 117
 gvar Int SDLK_v := 118
 gvar Int SDLK_w := 119
 gvar Int SDLK_x := 120
 gvar Int SDLK_y := 121
 gvar Int SDLK_z := 122
 gvar Int SDLK_DELETE := 127

 #End of ASCII Mapped kysyms

 gvar Int SDLK_WORLD_0 := 160
 gvar Int SDLK_WORLD_1 := 161
 gvar Int SDLK_WORLD_2 := 162
 gvar Int SDLK_WORLD_3 := 163
 gvar Int SDLK_WORLD_4 := 164
 gvar Int SDLK_WORLD_5 := 165
 gvar Int SDLK_WORLD_6 := 166
 gvar Int SDLK_WORLD_7 := 167
 gvar Int SDLK_WORLD_8 := 168
 gvar Int SDLK_WORLD_9 := 169
 gvar Int SDLK_WORLD_10 := 170
 gvar Int SDLK_WORLD_11 := 171
 gvar Int SDLK_WORLD_12 := 172
 gvar Int SDLK_WORLD_13 := 173
 gvar Int SDLK_WORLD_14 := 174
 gvar Int SDLK_WORLD_15 := 175
 gvar Int SDLK_WORLD_16 := 176
 gvar Int SDLK_WORLD_17 := 177
 gvar Int SDLK_WORLD_18 := 178
 gvar Int SDLK_WORLD_19 := 179
 gvar Int SDLK_WORLD_20 := 180
 gvar Int SDLK_WORLD_21 := 181
 gvar Int SDLK_WORLD_22 := 182
 gvar Int SDLK_WORLD_23 := 183
 gvar Int SDLK_WORLD_24 := 184
 gvar Int SDLK_WORLD_25 := 185
 gvar Int SDLK_WORLD_26 := 186
 gvar Int SDLK_WORLD_27 := 187
 gvar Int SDLK_WORLD_28 := 188
 gvar Int SDLK_WORLD_29 := 189
 gvar Int SDLK_WORLD_30 := 190
 gvar Int SDLK_WORLD_31 := 191
 gvar Int SDLK_WORLD_32 := 192
 gvar Int SDLK_WORLD_33 := 193
 gvar Int SDLK_WORLD_34 := 194
 gvar Int SDLK_WORLD_35 := 195
 gvar Int SDLK_WORLD_36 := 196
 gvar Int SDLK_WORLD_37 := 197
 gvar Int SDLK_WORLD_38 := 198
 gvar Int SDLK_WORLD_39 := 199
 gvar Int SDLK_WORLD_40 := 200
 gvar Int SDLK_WORLD_41 := 201
 gvar Int SDLK_WORLD_42 := 202
 gvar Int SDLK_WORLD_43 := 203
 gvar Int SDLK_WORLD_44 := 204
 gvar Int SDLK_WORLD_45 := 205
 gvar Int SDLK_WORLD_46 := 206
 gvar Int SDLK_WORLD_47 := 207
 gvar Int SDLK_WORLD_48 := 208
 gvar Int SDLK_WORLD_49 := 209
 gvar Int SDLK_WORLD_50 := 210
 gvar Int SDLK_WORLD_51 := 211
 gvar Int SDLK_WORLD_52 := 212
 gvar Int SDLK_WORLD_53 := 213
 gvar Int SDLK_WORLD_54 := 214
 gvar Int SDLK_WORLD_55 := 215
 gvar Int SDLK_WORLD_56 := 216
 gvar Int SDLK_WORLD_57 := 217
 gvar Int SDLK_WORLD_58 := 218
 gvar Int SDLK_WORLD_59 := 219
 gvar Int SDLK_WORLD_60 := 220
 gvar Int SDLK_WORLD_61 := 221
 gvar Int SDLK_WORLD_62 := 222
 gvar Int SDLK_WORLD_63 := 223
 gvar Int SDLK_WORLD_64 := 224
 gvar Int SDLK_WORLD_65 := 225
 gvar Int SDLK_WORLD_66 := 226
 gvar Int SDLK_WORLD_67 := 227
 gvar Int SDLK_WORLD_68 := 228
 gvar Int SDLK_WORLD_69 := 229
 gvar Int SDLK_WORLD_70 := 230
 gvar Int SDLK_WORLD_71 := 231
 gvar Int SDLK_WORLD_72 := 232
 gvar Int SDLK_WORLD_73 := 233
 gvar Int SDLK_WORLD_74 := 234
 gvar Int SDLK_WORLD_75 := 235
 gvar Int SDLK_WORLD_76 := 236
 gvar Int SDLK_WORLD_77 := 237
 gvar Int SDLK_WORLD_78 := 238
 gvar Int SDLK_WORLD_79 := 239
 gvar Int SDLK_WORLD_80 := 240
 gvar Int SDLK_WORLD_81 := 241
 gvar Int SDLK_WORLD_82 := 242
 gvar Int SDLK_WORLD_83 := 243
 gvar Int SDLK_WORLD_84 := 244
 gvar Int SDLK_WORLD_85 := 245
 gvar Int SDLK_WORLD_86 := 246
 gvar Int SDLK_WORLD_87 := 247
 gvar Int SDLK_WORLD_88 := 248
 gvar Int SDLK_WORLD_89 := 249
 gvar Int SDLK_WORLD_90 := 250
 gvar Int SDLK_WORLD_91 := 251
 gvar Int SDLK_WORLD_92 := 252
 gvar Int SDLK_WORLD_93 := 253
 gvar Int SDLK_WORLD_94 := 254
 gvar Int SDLK_WORLD_95 := 255

 #Numeric Keypad  

 gvar Int SDLK_KP0 := 256
 gvar Int SDLK_KP1 := 257
 gvar Int SDLK_KP2 := 258
 gvar Int SDLK_KP3 := 259
 gvar Int SDLK_KP4 := 260
 gvar Int SDLK_KP5 := 261
 gvar Int SDLK_KP6 := 262
 gvar Int SDLK_KP7 := 263
 gvar Int SDLK_KP8 := 264
 gvar Int SDLK_KP9 := 265
 gvar Int SDLK_KP_PERIOD := 266
 gvar Int SDLK_KP_DIVIDE := 267
 gvar Int SDLK_KP_MULTIPLY := 268
 gvar Int SDLK_KP_MINUS := 269
 gvar Int SDLK_KP_PLUS := 270
 gvar Int SDLK_KP_ENTER := 271
 gvar Int SDLK_KP_EQUALS:= 272

 #Arrows + Home/End pad
 gvar Int SDLK_UP := 273
 gvar Int SDLK_DOWN := 274
 gvar Int SDLK_RIGHT := 275
 gvar Int SDLK_LEFT := 276
 gvar Int SDLK_INSERT := 277
 gvar Int SDLK_HOME := 278
 gvar Int SDLK_END := 279
 gvar Int SDLK_PAGEUP := 280
 gvar Int SDLK_PAGEDOWN := 281


 #Function Keys

 gvar Int SDLK_F1 := 282
 gvar Int SDLK_F2 := 283
 gvar Int SDLK_F3 := 284
 gvar Int SDLK_F4 := 285
 gvar Int SDLK_F5 := 286
 gvar Int SDLK_F6 := 287
 gvar Int SDLK_F7 := 288
 gvar Int SDLK_F8 := 289
 gvar Int SDLK_F9 := 290
 gvar Int SDLK_F10 := 291
 gvar Int SDLK_F11 := 292
 gvar Int SDLK_F12 := 293
 gvar Int SDLK_F13 := 294
 gvar Int SDLK_F14 := 295
 gvar Int SDLK_F15 := 296

 #Key state modfiers
 gvar Int SDLK_NUMLOCK := 300
 gvar Int SDLK_CAPSLOCK := 301
 gvar Int SDLK_SCROLLOCK := 302
 gvar Int SDLK_RSHIFT := 303
 gvar Int SDLK_LSHIFT := 304
 gvar Int SDLK_RCTRL := 305
 gvar Int SDLK_LCTRL := 306
 gvar Int SDLK_RALT := 307
 gvar Int SDLK_LALT := 308
 gvar Int SDLK_RMETA := 309
 gvar Int SDLK_LMETA := 310
 gvar Int SDLK_LSUPER := 311 #Left "Windows" key
 gvar Int SDLK_RSUPER := 312 #Right "Windows" key
 gvar Int SDLK_MODE := 313   #"Alt Gr" key
 gvar Int SDLK_COMPOSE := 314 #Multi-key compose key

 #Key Miscellaneous function keys
 gvar Int SDLK_HELP := 315
 gvar Int SDLK_PRINT := 316
 gvar Int SDLK_SYSREQ := 317
 gvar Int SDLK_BREAK := 318
 gvar Int SDLK_MENU := 319
 gvar Int SDLK_POWER := 320
 gvar Int SDLK_EURO := 321
 gvar Int SDLK_UNDO := 323

 gvar uInt KMOD_NONE := 00000h
 gvar uInt KMOD_LSHIFT := 00001h
 gvar uInt KMOD_RSHIFT := 00002h
 gvar uInt KMOD_LCTRL := 0040h
 gvar uInt KMOD_RCTRL := 0080h
 gvar uInt KMOD_LALT := 0100h
 gvar uInt KMOD_RALT := 0200h
 gvar uInt KMOD_LMETA := 0400h
 gvar uInt KMOD_RMETA := 0800h
 gvar uInt KMOD_NUM := 1000h
 gvar uInt KMOD_CAPS := 2000h
 gvar uInt KMOD_MODE := 4000h
 gvar uInt KMOD_RESERVED := 8000h

 gvar uInt KMOD_CTRL := (KMOD_LCTRL .or. KMOD_RCTRL)
 gvar uInt KMOD_SHIFT := (KMOD_LSHIFT .or. KMOD_RSHIFT)
 gvar uInt KMOD_ALT := (KMOD_LALT .or. KMOD_RALT)
 gvar uInt KMOD_META := (KMOD_LMETA .or. KMOD_RMETA)