A simple .NET Framework to make 2D games quick and easy.
at main 87 kB view raw
1using Fjord.Input; 2using Fjord.Ui; 3using System; 4using System.Collections.Generic; 5using System.Linq; 6using System.Numerics; 7using System.Runtime.InteropServices; 8using System.Text; 9using System.Threading.Tasks; 10using static SDL2.SDL; 11 12namespace Fjord 13{ 14 internal static class EventHandler 15 { 16 internal static void HandleEvents() 17 { 18 while (SDL_PollEvent(out SDL_Event e) != 0) 19 { 20 switch (e.type) 21 { 22 case SDL_EventType.SDL_QUIT: 23 Game.Stop(); 24 break; 25 case SDL_EventType.SDL_KEYDOWN: 26 if(FUI.selectedTextField != null && FUI.selectedTextFieldValue != null && FUI.selectedTextFieldOnChange != null && FUI.selectedTextFieldOnSumbit != null) { 27 if(e.key.keysym.sym == SDL_Keycode.SDLK_BACKSPACE) { 28 if(FUI.selectedTextFieldValue.Length > 0) 29 FUI.selectedTextFieldOnChange(FUI.selectedTextFieldValue.Remove(FUI.selectedTextFieldValue.Length - 1)); 30 } else if(e.key.keysym.sym == SDL_Keycode.SDLK_RETURN) 31 { 32 if(FUI.selectedTextFieldValue.Length > 0) 33 { 34 FUI.selectedTextFieldOnSumbit(FUI.selectedTextFieldValue); 35 } 36 } 37 break; 38 } 39 40 switch (e.key.keysym.sym) 41 { 42 case SDL_Keycode.SDLK_0: 43 GlobalKeyboard.AddKey(Key.N0); 44 break; 45 case SDL_Keycode.SDLK_1: 46 GlobalKeyboard.AddKey(Key.N1); 47 break; 48 case SDL_Keycode.SDLK_2: 49 GlobalKeyboard.AddKey(Key.N); 50 break; 51 case SDL_Keycode.SDLK_3: 52 GlobalKeyboard.AddKey(Key.N3); 53 break; 54 case SDL_Keycode.SDLK_4: 55 GlobalKeyboard.AddKey(Key.N4); 56 break; 57 case SDL_Keycode.SDLK_5: 58 GlobalKeyboard.AddKey(Key.N5); 59 break; 60 case SDL_Keycode.SDLK_6: 61 GlobalKeyboard.AddKey(Key.N6); 62 break; 63 case SDL_Keycode.SDLK_7: 64 GlobalKeyboard.AddKey(Key.N7); 65 break; 66 case SDL_Keycode.SDLK_8: 67 GlobalKeyboard.AddKey(Key.N8); 68 break; 69 case SDL_Keycode.SDLK_9: 70 GlobalKeyboard.AddKey(Key.N9); 71 break; 72 case SDL_Keycode.SDLK_a: 73 GlobalKeyboard.AddKey(Key.A); 74 break; 75 case SDL_Keycode.SDLK_AC_BACK: 76 GlobalKeyboard.AddKey(Key.AC_BACK); 77 break; 78 case SDL_Keycode.SDLK_AC_BOOKMARKS: 79 GlobalKeyboard.AddKey(Key.AC_BOOKMARKS); 80 break; 81 case SDL_Keycode.SDLK_KP_DBLAMPERSAND: 82 GlobalKeyboard.AddKey(Key.KP_DBLAMPERSAND); 83 break; 84 case SDL_Keycode.SDLK_AC_FORWARD: 85 GlobalKeyboard.AddKey(Key.AC_FORWARD); 86 break; 87 case SDL_Keycode.SDLK_AC_HOME: 88 GlobalKeyboard.AddKey(Key.AC_HOME); 89 break; 90 case SDL_Keycode.SDLK_AC_REFRESH: 91 GlobalKeyboard.AddKey(Key.AC_REFRESH); 92 break; 93 case SDL_Keycode.SDLK_AC_SEARCH: 94 GlobalKeyboard.AddKey(Key.AC_SEARCH); 95 break; 96 case SDL_Keycode.SDLK_AC_STOP: 97 GlobalKeyboard.AddKey(Key.AC_STOP); 98 break; 99 case SDL_Keycode.SDLK_AGAIN: 100 GlobalKeyboard.AddKey(Key.AGAIN); 101 break; 102 case SDL_Keycode.SDLK_ALTERASE: 103 GlobalKeyboard.AddKey(Key.ALTERASE); 104 break; 105 case SDL_Keycode.SDLK_QUOTE: 106 GlobalKeyboard.AddKey(Key.QUOTE); 107 break; 108 case SDL_Keycode.SDLK_APPLICATION: 109 GlobalKeyboard.AddKey(Key.APPLICATION); 110 break; 111 case SDL_Keycode.SDLK_AUDIOMUTE: 112 GlobalKeyboard.AddKey(Key.AUDIOMUTE); 113 break; 114 case SDL_Keycode.SDLK_AUDIONEXT: 115 GlobalKeyboard.AddKey(Key.AUDIONEXT); 116 break; 117 case SDL_Keycode.SDLK_AUDIOPLAY: 118 GlobalKeyboard.AddKey(Key.AUDIOPLAY); 119 break; 120 case SDL_Keycode.SDLK_AUDIOPREV: 121 GlobalKeyboard.AddKey(Key.AUDIOPREV); 122 break; 123 case SDL_Keycode.SDLK_AUDIOSTOP: 124 GlobalKeyboard.AddKey(Key.AUDIOSTOP); 125 break; 126 case SDL_Keycode.SDLK_b: 127 GlobalKeyboard.AddKey(Key.B); 128 break; 129 case SDL_Keycode.SDLK_BACKSLASH: 130 GlobalKeyboard.AddKey(Key.BACKSLASH); 131 break; 132 case SDL_Keycode.SDLK_BACKSPACE: 133 GlobalKeyboard.AddKey(Key.BACKSPACE); 134 break; 135 case SDL_Keycode.SDLK_BRIGHTNESSDOWN: 136 GlobalKeyboard.AddKey(Key.BRIGHTNESSDOWN); 137 break; 138 case SDL_Keycode.SDLK_BRIGHTNESSUP: 139 GlobalKeyboard.AddKey(Key.BRIGHTNESSUP); 140 break; 141 case SDL_Keycode.SDLK_c: 142 GlobalKeyboard.AddKey(Key.C); 143 break; 144 case SDL_Keycode.SDLK_CALCULATOR: 145 GlobalKeyboard.AddKey(Key.CALCULATOR); 146 break; 147 case SDL_Keycode.SDLK_CANCEL: 148 GlobalKeyboard.AddKey(Key.CANCEL); 149 break; 150 case SDL_Keycode.SDLK_CAPSLOCK: 151 GlobalKeyboard.AddKey(Key.CAPSLOCK); 152 break; 153 case SDL_Keycode.SDLK_CLEAR: 154 GlobalKeyboard.AddKey(Key.CLEAR); 155 break; 156 case SDL_Keycode.SDLK_CLEARAGAIN: 157 GlobalKeyboard.AddKey(Key.CLEARAGAIN); 158 break; 159 case SDL_Keycode.SDLK_COMMA: 160 GlobalKeyboard.AddKey(Key.COMMA); 161 break; 162 case SDL_Keycode.SDLK_COMPUTER: 163 GlobalKeyboard.AddKey(Key.COMPUTER); 164 break; 165 case SDL_Keycode.SDLK_COPY: 166 GlobalKeyboard.AddKey(Key.COPY); 167 break; 168 case SDL_Keycode.SDLK_CRSEL: 169 GlobalKeyboard.AddKey(Key.CRSEL); 170 break; 171 case SDL_Keycode.SDLK_CURRENCYSUBUNIT: 172 GlobalKeyboard.AddKey(Key.CURRENCYSUBUNIT); 173 break; 174 case SDL_Keycode.SDLK_CURRENCYUNIT: 175 GlobalKeyboard.AddKey(Key.CURRENCYUNIT); 176 break; 177 case SDL_Keycode.SDLK_CUT: 178 GlobalKeyboard.AddKey(Key.CUT); 179 break; 180 case SDL_Keycode.SDLK_d: 181 GlobalKeyboard.AddKey(Key.D); 182 break; 183 case SDL_Keycode.SDLK_DECIMALSEPARATOR: 184 GlobalKeyboard.AddKey(Key.DECIMALSEPARATOR); 185 break; 186 case SDL_Keycode.SDLK_DELETE: 187 GlobalKeyboard.AddKey(Key.DELETE); 188 break; 189 case SDL_Keycode.SDLK_DISPLAYSWITCH: 190 GlobalKeyboard.AddKey(Key.DISPLAYSWITCH); 191 break; 192 case SDL_Keycode.SDLK_DOWN: 193 GlobalKeyboard.AddKey(Key.DOWN); 194 break; 195 case SDL_Keycode.SDLK_e: 196 GlobalKeyboard.AddKey(Key.E); 197 break; 198 case SDL_Keycode.SDLK_EJECT: 199 GlobalKeyboard.AddKey(Key.EJECT); 200 break; 201 case SDL_Keycode.SDLK_END: 202 GlobalKeyboard.AddKey(Key.END); 203 break; 204 case SDL_Keycode.SDLK_EQUALS: 205 GlobalKeyboard.AddKey(Key.EQUALS); 206 break; 207 case SDL_Keycode.SDLK_ESCAPE: 208 GlobalKeyboard.AddKey(Key.ESCAPE); 209 break; 210 case SDL_Keycode.SDLK_EXECUTE: 211 GlobalKeyboard.AddKey(Key.EXECUTE); 212 break; 213 case SDL_Keycode.SDLK_EXSEL: 214 GlobalKeyboard.AddKey(Key.EXSEL); 215 break; 216 case SDL_Keycode.SDLK_f: 217 GlobalKeyboard.AddKey(Key.F); 218 break; 219 case SDL_Keycode.SDLK_F1: 220 GlobalKeyboard.AddKey(Key.F1); 221 break; 222 case SDL_Keycode.SDLK_F10: 223 GlobalKeyboard.AddKey(Key.F10); 224 break; 225 case SDL_Keycode.SDLK_F11: 226 GlobalKeyboard.AddKey(Key.F11); 227 break; 228 case SDL_Keycode.SDLK_F12: 229 GlobalKeyboard.AddKey(Key.F12); 230 break; 231 case SDL_Keycode.SDLK_F13: 232 GlobalKeyboard.AddKey(Key.F13); 233 break; 234 case SDL_Keycode.SDLK_F14: 235 GlobalKeyboard.AddKey(Key.F14); 236 break; 237 case SDL_Keycode.SDLK_F15: 238 GlobalKeyboard.AddKey(Key.F15); 239 break; 240 case SDL_Keycode.SDLK_F16: 241 GlobalKeyboard.AddKey(Key.F16); 242 break; 243 case SDL_Keycode.SDLK_F17: 244 GlobalKeyboard.AddKey(Key.F17); 245 break; 246 case SDL_Keycode.SDLK_F18: 247 GlobalKeyboard.AddKey(Key.F18); 248 break; 249 case SDL_Keycode.SDLK_F19: 250 GlobalKeyboard.AddKey(Key.F19); 251 break; 252 case SDL_Keycode.SDLK_F2: 253 GlobalKeyboard.AddKey(Key.F2); 254 break; 255 case SDL_Keycode.SDLK_F20: 256 GlobalKeyboard.AddKey(Key.F20); 257 break; 258 case SDL_Keycode.SDLK_F21: 259 GlobalKeyboard.AddKey(Key.F21); 260 break; 261 case SDL_Keycode.SDLK_F22: 262 GlobalKeyboard.AddKey(Key.F22); 263 break; 264 case SDL_Keycode.SDLK_F23: 265 GlobalKeyboard.AddKey(Key.F23); 266 break; 267 case SDL_Keycode.SDLK_F24: 268 GlobalKeyboard.AddKey(Key.F24); 269 break; 270 case SDL_Keycode.SDLK_F3: 271 GlobalKeyboard.AddKey(Key.F3); 272 break; 273 case SDL_Keycode.SDLK_F4: 274 GlobalKeyboard.AddKey(Key.F4); 275 break; 276 case SDL_Keycode.SDLK_F5: 277 GlobalKeyboard.AddKey(Key.F5); 278 break; 279 case SDL_Keycode.SDLK_F6: 280 GlobalKeyboard.AddKey(Key.F6); 281 break; 282 case SDL_Keycode.SDLK_F7: 283 GlobalKeyboard.AddKey(Key.F7); 284 break; 285 case SDL_Keycode.SDLK_F8: 286 GlobalKeyboard.AddKey(Key.F8); 287 break; 288 case SDL_Keycode.SDLK_F9: 289 GlobalKeyboard.AddKey(Key.F9); 290 break; 291 case SDL_Keycode.SDLK_FIND: 292 GlobalKeyboard.AddKey(Key.FIND); 293 break; 294 case SDL_Keycode.SDLK_g: 295 GlobalKeyboard.AddKey(Key.G); 296 break; 297 case SDL_Keycode.SDLK_BACKQUOTE: 298 GlobalKeyboard.AddKey(Key.BACKQUOTE); 299 break; 300 case SDL_Keycode.SDLK_h: 301 GlobalKeyboard.AddKey(Key.H); 302 break; 303 case SDL_Keycode.SDLK_HELP: 304 GlobalKeyboard.AddKey(Key.HELP); 305 break; 306 case SDL_Keycode.SDLK_HOME: 307 GlobalKeyboard.AddKey(Key.HOME); 308 break; 309 case SDL_Keycode.SDLK_i: 310 GlobalKeyboard.AddKey(Key.I); 311 break; 312 case SDL_Keycode.SDLK_INSERT: 313 GlobalKeyboard.AddKey(Key.INSERT); 314 break; 315 case SDL_Keycode.SDLK_j: 316 GlobalKeyboard.AddKey(Key.J); 317 break; 318 case SDL_Keycode.SDLK_k: 319 GlobalKeyboard.AddKey(Key.K); 320 break; 321 case SDL_Keycode.SDLK_KBDILLUMDOWN: 322 GlobalKeyboard.AddKey(Key.KBDILLUMDOWN); 323 break; 324 case SDL_Keycode.SDLK_KBDILLUMTOGGLE: 325 GlobalKeyboard.AddKey(Key.KBDILLUMTOGGLE); 326 break; 327 case SDL_Keycode.SDLK_KBDILLUMUP: 328 GlobalKeyboard.AddKey(Key.KBDILLUMUP); 329 break; 330 case SDL_Keycode.SDLK_KP_0: 331 GlobalKeyboard.AddKey(Key.KP_0); 332 break; 333 case SDL_Keycode.SDLK_KP_00: 334 GlobalKeyboard.AddKey(Key.KP_00); 335 break; 336 case SDL_Keycode.SDLK_KP_000: 337 GlobalKeyboard.AddKey(Key.KP_000); 338 break; 339 case SDL_Keycode.SDLK_KP_1: 340 GlobalKeyboard.AddKey(Key.KP_1); 341 break; 342 case SDL_Keycode.SDLK_KP_2: 343 GlobalKeyboard.AddKey(Key.KP_2); 344 break; 345 case SDL_Keycode.SDLK_KP_3: 346 GlobalKeyboard.AddKey(Key.KP_3); 347 break; 348 case SDL_Keycode.SDLK_KP_4: 349 GlobalKeyboard.AddKey(Key.KP_4); 350 break; 351 case SDL_Keycode.SDLK_KP_5: 352 GlobalKeyboard.AddKey(Key.KP_5); 353 break; 354 case SDL_Keycode.SDLK_KP_6: 355 GlobalKeyboard.AddKey(Key.KP_6); 356 break; 357 case SDL_Keycode.SDLK_KP_7: 358 GlobalKeyboard.AddKey(Key.KP_7); 359 break; 360 case SDL_Keycode.SDLK_KP_8: 361 GlobalKeyboard.AddKey(Key.KP_8); 362 break; 363 case SDL_Keycode.SDLK_KP_9: 364 GlobalKeyboard.AddKey(Key.KP_9); 365 break; 366 case SDL_Keycode.SDLK_KP_A: 367 GlobalKeyboard.AddKey(Key.KP_A); 368 break; 369 case SDL_Keycode.SDLK_KP_AMPERSAND: 370 GlobalKeyboard.AddKey(Key.KP_AMPERSAND); 371 break; 372 case SDL_Keycode.SDLK_KP_AT: 373 GlobalKeyboard.AddKey(Key.KP_AT); 374 break; 375 case SDL_Keycode.SDLK_KP_B: 376 GlobalKeyboard.AddKey(Key.KP_B); 377 break; 378 case SDL_Keycode.SDLK_KP_BACKSPACE: 379 GlobalKeyboard.AddKey(Key.KP_BACKSPACE); 380 break; 381 case SDL_Keycode.SDLK_KP_BINARY: 382 GlobalKeyboard.AddKey(Key.KP_BINARY); 383 break; 384 case SDL_Keycode.SDLK_KP_C: 385 GlobalKeyboard.AddKey(Key.KP_C); 386 break; 387 case SDL_Keycode.SDLK_KP_CLEAR: 388 GlobalKeyboard.AddKey(Key.KP_CLEAR); 389 break; 390 case SDL_Keycode.SDLK_KP_CLEARENTRY: 391 GlobalKeyboard.AddKey(Key.KP_CLEARENTRY); 392 break; 393 case SDL_Keycode.SDLK_KP_COLON: 394 GlobalKeyboard.AddKey(Key.KP_COLON); 395 break; 396 case SDL_Keycode.SDLK_KP_COMMA: 397 GlobalKeyboard.AddKey(Key.KP_COMMA); 398 break; 399 case SDL_Keycode.SDLK_KP_D: 400 GlobalKeyboard.AddKey(Key.KP_D); 401 break; 402 case SDL_Keycode.SDLK_KP_DBLVERTICALBAR: 403 GlobalKeyboard.AddKey(Key.KP_DBLVERTICALBAR); 404 break; 405 case SDL_Keycode.SDLK_KP_DECIMAL: 406 GlobalKeyboard.AddKey(Key.KP_DECIMAL); 407 break; 408 case SDL_Keycode.SDLK_KP_DIVIDE: 409 GlobalKeyboard.AddKey(Key.KP_DIVIDE); 410 break; 411 case SDL_Keycode.SDLK_KP_E: 412 GlobalKeyboard.AddKey(Key.KP_E); 413 break; 414 case SDL_Keycode.SDLK_KP_ENTER: 415 GlobalKeyboard.AddKey(Key.KP_ENTER); 416 break; 417 case SDL_Keycode.SDLK_KP_EQUALS: 418 GlobalKeyboard.AddKey(Key.KP_EQUALS); 419 break; 420 case SDL_Keycode.SDLK_KP_EQUALSAS400: 421 GlobalKeyboard.AddKey(Key.KP_EQUALSAS400); 422 break; 423 case SDL_Keycode.SDLK_KP_EXCLAM: 424 GlobalKeyboard.AddKey(Key.KP_EXCLAM); 425 break; 426 case SDL_Keycode.SDLK_KP_F: 427 GlobalKeyboard.AddKey(Key.KP_F); 428 break; 429 case SDL_Keycode.SDLK_KP_GREATER: 430 GlobalKeyboard.AddKey(Key.KP_GREATER); 431 break; 432 case SDL_Keycode.SDLK_KP_HASH: 433 GlobalKeyboard.AddKey(Key.KP_HASH); 434 break; 435 case SDL_Keycode.SDLK_KP_HEXADECIMAL: 436 GlobalKeyboard.AddKey(Key.KP_HEXADECIMAL); 437 break; 438 case SDL_Keycode.SDLK_KP_LEFTBRACE: 439 GlobalKeyboard.AddKey(Key.KP_LEFTBRACE); 440 break; 441 case SDL_Keycode.SDLK_KP_LEFTPAREN: 442 GlobalKeyboard.AddKey(Key.KP_LEFTPAREN); 443 break; 444 case SDL_Keycode.SDLK_KP_LESS: 445 GlobalKeyboard.AddKey(Key.KP_LESS); 446 break; 447 case SDL_Keycode.SDLK_KP_MEMADD: 448 GlobalKeyboard.AddKey(Key.KP_MEMADD); 449 break; 450 case SDL_Keycode.SDLK_KP_MEMCLEAR: 451 GlobalKeyboard.AddKey(Key.KP_MEMCLEAR); 452 break; 453 case SDL_Keycode.SDLK_KP_MEMDIVIDE: 454 GlobalKeyboard.AddKey(Key.KP_MEMDIVIDE); 455 break; 456 case SDL_Keycode.SDLK_KP_MEMMULTIPLY: 457 GlobalKeyboard.AddKey(Key.KP_MEMMULTIPLY); 458 break; 459 case SDL_Keycode.SDLK_KP_MEMRECALL: 460 GlobalKeyboard.AddKey(Key.KP_MEMRECALL); 461 break; 462 case SDL_Keycode.SDLK_KP_MEMSTORE: 463 GlobalKeyboard.AddKey(Key.KP_MEMSTORE); 464 break; 465 case SDL_Keycode.SDLK_KP_MEMSUBTRACT: 466 GlobalKeyboard.AddKey(Key.KP_MEMSUBTRACT); 467 break; 468 case SDL_Keycode.SDLK_KP_MINUS: 469 GlobalKeyboard.AddKey(Key.KP_MINUS); 470 break; 471 case SDL_Keycode.SDLK_KP_MULTIPLY: 472 GlobalKeyboard.AddKey(Key.KP_MULTIPLY); 473 break; 474 case SDL_Keycode.SDLK_KP_OCTAL: 475 GlobalKeyboard.AddKey(Key.KP_OCTAL); 476 break; 477 case SDL_Keycode.SDLK_KP_PERCENT: 478 GlobalKeyboard.AddKey(Key.KP_PERCENT); 479 break; 480 case SDL_Keycode.SDLK_KP_PERIOD: 481 GlobalKeyboard.AddKey(Key.KP_PERIOD); 482 break; 483 case SDL_Keycode.SDLK_KP_PLUS: 484 GlobalKeyboard.AddKey(Key.KP_PLUS); 485 break; 486 case SDL_Keycode.SDLK_KP_PLUSMINUS: 487 GlobalKeyboard.AddKey(Key.KP_PLUSMINUS); 488 break; 489 case SDL_Keycode.SDLK_KP_POWER: 490 GlobalKeyboard.AddKey(Key.KP_POWER); 491 break; 492 case SDL_Keycode.SDLK_KP_RIGHTBRACE: 493 GlobalKeyboard.AddKey(Key.KP_RIGHTBRACE); 494 break; 495 case SDL_Keycode.SDLK_KP_RIGHTPAREN: 496 GlobalKeyboard.AddKey(Key.KP_RIGHTPAREN); 497 break; 498 case SDL_Keycode.SDLK_KP_SPACE: 499 GlobalKeyboard.AddKey(Key.KP_SPACE); 500 break; 501 case SDL_Keycode.SDLK_KP_TAB: 502 GlobalKeyboard.AddKey(Key.KP_TAB); 503 break; 504 case SDL_Keycode.SDLK_KP_VERTICALBAR: 505 GlobalKeyboard.AddKey(Key.KP_VERTICALBAR); 506 break; 507 case SDL_Keycode.SDLK_KP_XOR: 508 GlobalKeyboard.AddKey(Key.KP_XOR); 509 break; 510 case SDL_Keycode.SDLK_l: 511 GlobalKeyboard.AddKey(Key.L); 512 break; 513 case SDL_Keycode.SDLK_LEFT: 514 GlobalKeyboard.AddKey(Key.LEFT); 515 break; 516 case SDL_Keycode.SDLK_LEFTBRACKET: 517 GlobalKeyboard.AddKey(Key.LEFTBRACKET); 518 break; 519 case SDL_Keycode.SDLK_LGUI: 520 GlobalKeyboard.AddKey(Key.LGUI); 521 break; 522 case SDL_Keycode.SDLK_m: 523 GlobalKeyboard.AddKey(Key.M); 524 break; 525 case SDL_Keycode.SDLK_MAIL: 526 GlobalKeyboard.AddKey(Key.MAIL); 527 break; 528 case SDL_Keycode.SDLK_MEDIASELECT: 529 GlobalKeyboard.AddKey(Key.MEDIASELECT); 530 break; 531 case SDL_Keycode.SDLK_MENU: 532 GlobalKeyboard.AddKey(Key.MENU); 533 break; 534 case SDL_Keycode.SDLK_MINUS: 535 GlobalKeyboard.AddKey(Key.MINUS); 536 break; 537 case SDL_Keycode.SDLK_MODE: 538 GlobalKeyboard.AddKey(Key.MODE); 539 break; 540 case SDL_Keycode.SDLK_MUTE: 541 GlobalKeyboard.AddKey(Key.MUTE); 542 break; 543 case SDL_Keycode.SDLK_n: 544 GlobalKeyboard.AddKey(Key.N); 545 break; 546 case SDL_Keycode.SDLK_NUMLOCKCLEAR: 547 GlobalKeyboard.AddKey(Key.NUMLOCKCLEAR); 548 break; 549 case SDL_Keycode.SDLK_o: 550 GlobalKeyboard.AddKey(Key.O); 551 break; 552 case SDL_Keycode.SDLK_OPER: 553 GlobalKeyboard.AddKey(Key.OPER); 554 break; 555 case SDL_Keycode.SDLK_OUT: 556 GlobalKeyboard.AddKey(Key.OUT); 557 break; 558 case SDL_Keycode.SDLK_p: 559 GlobalKeyboard.AddKey(Key.P); 560 break; 561 case SDL_Keycode.SDLK_PAGEDOWN: 562 GlobalKeyboard.AddKey(Key.PAGEDOWN); 563 break; 564 case SDL_Keycode.SDLK_PAGEUP: 565 GlobalKeyboard.AddKey(Key.PAGEUP); 566 break; 567 case SDL_Keycode.SDLK_PASTE: 568 GlobalKeyboard.AddKey(Key.PASTE); 569 break; 570 case SDL_Keycode.SDLK_PAUSE: 571 GlobalKeyboard.AddKey(Key.PAUSE); 572 break; 573 case SDL_Keycode.SDLK_PERIOD: 574 GlobalKeyboard.AddKey(Key.PERIOD); 575 break; 576 case SDL_Keycode.SDLK_POWER: 577 GlobalKeyboard.AddKey(Key.POWER); 578 break; 579 case SDL_Keycode.SDLK_PRINTSCREEN: 580 GlobalKeyboard.AddKey(Key.PRINTSCREEN); 581 break; 582 case SDL_Keycode.SDLK_PRIOR: 583 GlobalKeyboard.AddKey(Key.PRIOR); 584 break; 585 case SDL_Keycode.SDLK_q: 586 GlobalKeyboard.AddKey(Key.Q); 587 break; 588 case SDL_Keycode.SDLK_r: 589 GlobalKeyboard.AddKey(Key.R); 590 break; 591 case SDL_Keycode.SDLK_RETURN: 592 GlobalKeyboard.AddKey(Key.RETURN); 593 break; 594 case SDL_Keycode.SDLK_RETURN2: 595 GlobalKeyboard.AddKey(Key.RETURN2); 596 break; 597 case SDL_Keycode.SDLK_RGUI: 598 GlobalKeyboard.AddKey(Key.RGUI); 599 break; 600 case SDL_Keycode.SDLK_RIGHT: 601 GlobalKeyboard.AddKey(Key.RIGHT); 602 break; 603 case SDL_Keycode.SDLK_RIGHTBRACKET: 604 GlobalKeyboard.AddKey(Key.RIGHTBRACKET); 605 break; 606 case SDL_Keycode.SDLK_s: 607 GlobalKeyboard.AddKey(Key.S); 608 break; 609 case SDL_Keycode.SDLK_SCROLLLOCK: 610 GlobalKeyboard.AddKey(Key.SCROLLLOCK); 611 break; 612 case SDL_Keycode.SDLK_SELECT: 613 GlobalKeyboard.AddKey(Key.SELECT); 614 break; 615 case SDL_Keycode.SDLK_SEMICOLON: 616 GlobalKeyboard.AddKey(Key.SEMICOLON); 617 break; 618 case SDL_Keycode.SDLK_SEPARATOR: 619 GlobalKeyboard.AddKey(Key.SEPARATOR); 620 break; 621 case SDL_Keycode.SDLK_SLASH: 622 GlobalKeyboard.AddKey(Key.SLASH); 623 break; 624 case SDL_Keycode.SDLK_SLEEP: 625 GlobalKeyboard.AddKey(Key.SLEEP); 626 break; 627 case SDL_Keycode.SDLK_SPACE: 628 GlobalKeyboard.AddKey(Key.SPACE); 629 break; 630 case SDL_Keycode.SDLK_STOP: 631 GlobalKeyboard.AddKey(Key.STOP); 632 break; 633 case SDL_Keycode.SDLK_SYSREQ: 634 GlobalKeyboard.AddKey(Key.SYSREQ); 635 break; 636 case SDL_Keycode.SDLK_t: 637 GlobalKeyboard.AddKey(Key.T); 638 break; 639 case SDL_Keycode.SDLK_TAB: 640 GlobalKeyboard.AddKey(Key.TAB); 641 break; 642 case SDL_Keycode.SDLK_THOUSANDSSEPARATOR: 643 GlobalKeyboard.AddKey(Key.THOUSANDSSEPARATOR); 644 break; 645 case SDL_Keycode.SDLK_u: 646 GlobalKeyboard.AddKey(Key.U); 647 break; 648 case SDL_Keycode.SDLK_UNDO: 649 GlobalKeyboard.AddKey(Key.UNDO); 650 break; 651 case SDL_Keycode.SDLK_UNKNOWN: 652 GlobalKeyboard.AddKey(Key.UNKNOWN); 653 break; 654 case SDL_Keycode.SDLK_UP: 655 GlobalKeyboard.AddKey(Key.UP); 656 break; 657 case SDL_Keycode.SDLK_v: 658 GlobalKeyboard.AddKey(Key.V); 659 break; 660 case SDL_Keycode.SDLK_VOLUMEDOWN: 661 GlobalKeyboard.AddKey(Key.VOLUMEDOWN); 662 break; 663 case SDL_Keycode.SDLK_VOLUMEUP: 664 GlobalKeyboard.AddKey(Key.VOLUMEUP); 665 break; 666 case SDL_Keycode.SDLK_w: 667 GlobalKeyboard.AddKey(Key.W); 668 break; 669 case SDL_Keycode.SDLK_WWW: 670 GlobalKeyboard.AddKey(Key.WWW); 671 break; 672 case SDL_Keycode.SDLK_x: 673 GlobalKeyboard.AddKey(Key.X); 674 break; 675 case SDL_Keycode.SDLK_y: 676 GlobalKeyboard.AddKey(Key.Y); 677 break; 678 case SDL_Keycode.SDLK_z: 679 GlobalKeyboard.AddKey(Key.Z); 680 break; 681 case SDL_Keycode.SDLK_AMPERSAND: 682 GlobalKeyboard.AddKey(Key.AMPERSAND); 683 break; 684 case SDL_Keycode.SDLK_ASTERISK: 685 GlobalKeyboard.AddKey(Key.ASTERISK); 686 break; 687 case SDL_Keycode.SDLK_AT: 688 GlobalKeyboard.AddKey(Key.AT); 689 break; 690 case SDL_Keycode.SDLK_CARET: 691 GlobalKeyboard.AddKey(Key.CARET); 692 break; 693 case SDL_Keycode.SDLK_COLON: 694 GlobalKeyboard.AddKey(Key.COLON); 695 break; 696 case SDL_Keycode.SDLK_DOLLAR: 697 GlobalKeyboard.AddKey(Key.DOLLAR); 698 break; 699 case SDL_Keycode.SDLK_EXCLAIM: 700 GlobalKeyboard.AddKey(Key.EXCLAIM); 701 break; 702 case SDL_Keycode.SDLK_GREATER: 703 GlobalKeyboard.AddKey(Key.GREATER); 704 break; 705 case SDL_Keycode.SDLK_HASH: 706 GlobalKeyboard.AddKey(Key.HASH); 707 break; 708 case SDL_Keycode.SDLK_LEFTPAREN: 709 GlobalKeyboard.AddKey(Key.LEFTPAREN); 710 break; 711 case SDL_Keycode.SDLK_LESS: 712 GlobalKeyboard.AddKey(Key.LESS); 713 break; 714 case SDL_Keycode.SDLK_PERCENT: 715 GlobalKeyboard.AddKey(Key.PERCENT); 716 break; 717 case SDL_Keycode.SDLK_PLUS: 718 GlobalKeyboard.AddKey(Key.PLUS); 719 break; 720 case SDL_Keycode.SDLK_QUESTION: 721 GlobalKeyboard.AddKey(Key.QUESTION); 722 break; 723 case SDL_Keycode.SDLK_QUOTEDBL: 724 GlobalKeyboard.AddKey(Key.QUOTEDBL); 725 break; 726 case SDL_Keycode.SDLK_RIGHTPAREN: 727 GlobalKeyboard.AddKey(Key.RIGHTPAREN); 728 break; 729 case SDL_Keycode.SDLK_UNDERSCORE: 730 GlobalKeyboard.AddKey(Key.UNDERSCORE); 731 break; 732 case SDL_Keycode.SDLK_LCTRL: 733 if(!GlobalKeyboard.pressedModifiers.Contains(Mod.LCtrl)) 734 GlobalKeyboard.pressedModifiers.Add(Mod.LCtrl); 735 break; 736 case SDL_Keycode.SDLK_LSHIFT: 737 if (!GlobalKeyboard.pressedModifiers.Contains(Mod.LShift)) 738 GlobalKeyboard.pressedModifiers.Add(Mod.LShift); 739 break; 740 } 741 742 break; 743 case SDL_EventType.SDL_KEYUP: 744 if(FUI.selectedTextField != null) { 745 break; 746 } 747 748 switch (e.key.keysym.sym) 749 { 750 case SDL_Keycode.SDLK_0: 751 GlobalKeyboard.downKeys[(int)Key.N0] = false; 752 break; 753 case SDL_Keycode.SDLK_1: 754 GlobalKeyboard.downKeys[(int)Key.N1] = false; 755 break; 756 case SDL_Keycode.SDLK_2: 757 GlobalKeyboard.downKeys[(int)Key.N2] = false; 758 break; 759 case SDL_Keycode.SDLK_3: 760 GlobalKeyboard.downKeys[(int)Key.N3] = false; 761 break; 762 case SDL_Keycode.SDLK_4: 763 GlobalKeyboard.downKeys[(int)Key.N4] = false; 764 break; 765 case SDL_Keycode.SDLK_5: 766 GlobalKeyboard.downKeys[(int)Key.N5] = false; 767 break; 768 case SDL_Keycode.SDLK_6: 769 GlobalKeyboard.downKeys[(int)Key.N6] = false; 770 break; 771 case SDL_Keycode.SDLK_7: 772 GlobalKeyboard.downKeys[(int)Key.N7] = false; 773 break; 774 case SDL_Keycode.SDLK_8: 775 GlobalKeyboard.downKeys[(int)Key.N8] = false; 776 break; 777 case SDL_Keycode.SDLK_9: 778 GlobalKeyboard.downKeys[(int)Key.N9] = false; 779 break; 780 case SDL_Keycode.SDLK_a: 781 GlobalKeyboard.downKeys[(int)Key.A] = false; 782 break; 783 case SDL_Keycode.SDLK_AC_BACK: 784 GlobalKeyboard.downKeys[(int)Key.AC_BACK] = false; 785 break; 786 case SDL_Keycode.SDLK_AC_BOOKMARKS: 787 GlobalKeyboard.downKeys[(int)Key.AC_BOOKMARKS] = false; 788 break; 789 case SDL_Keycode.SDLK_AC_FORWARD: 790 GlobalKeyboard.downKeys[(int)Key.AC_FORWARD] = false; 791 break; 792 case SDL_Keycode.SDLK_AC_HOME: 793 GlobalKeyboard.downKeys[(int)Key.AC_HOME] = false; 794 break; 795 case SDL_Keycode.SDLK_AC_REFRESH: 796 GlobalKeyboard.downKeys[(int)Key.AC_REFRESH] = false; 797 break; 798 case SDL_Keycode.SDLK_AC_SEARCH: 799 GlobalKeyboard.downKeys[(int)Key.AC_SEARCH] = false; 800 break; 801 case SDL_Keycode.SDLK_AC_STOP: 802 GlobalKeyboard.downKeys[(int)Key.AC_STOP] = false; 803 break; 804 case SDL_Keycode.SDLK_AGAIN: 805 GlobalKeyboard.downKeys[(int)Key.AGAIN] = false; 806 break; 807 case SDL_Keycode.SDLK_ALTERASE: 808 GlobalKeyboard.downKeys[(int)Key.ALTERASE] = false; 809 break; 810 case SDL_Keycode.SDLK_QUOTE: 811 GlobalKeyboard.downKeys[(int)Key.QUOTE] = false; 812 break; 813 case SDL_Keycode.SDLK_APPLICATION: 814 GlobalKeyboard.downKeys[(int)Key.APPLICATION] = false; 815 break; 816 case SDL_Keycode.SDLK_AUDIOMUTE: 817 GlobalKeyboard.downKeys[(int)Key.AUDIOMUTE] = false; 818 break; 819 case SDL_Keycode.SDLK_AUDIONEXT: 820 GlobalKeyboard.downKeys[(int)Key.AUDIONEXT] = false; 821 break; 822 case SDL_Keycode.SDLK_AUDIOPLAY: 823 GlobalKeyboard.downKeys[(int)Key.AUDIOPLAY] = false; 824 break; 825 case SDL_Keycode.SDLK_AUDIOPREV: 826 GlobalKeyboard.downKeys[(int)Key.AUDIOPREV] = false; 827 break; 828 case SDL_Keycode.SDLK_AUDIOSTOP: 829 GlobalKeyboard.downKeys[(int)Key.AUDIOSTOP] = false; 830 break; 831 case SDL_Keycode.SDLK_b: 832 GlobalKeyboard.downKeys[(int)Key.B] = false; 833 break; 834 case SDL_Keycode.SDLK_BACKSLASH: 835 GlobalKeyboard.downKeys[(int)Key.BACKSLASH] = false; 836 break; 837 case SDL_Keycode.SDLK_BACKSPACE: 838 GlobalKeyboard.downKeys[(int)Key.BACKSPACE] = false; 839 break; 840 case SDL_Keycode.SDLK_BRIGHTNESSDOWN: 841 GlobalKeyboard.downKeys[(int)Key.BRIGHTNESSDOWN] = false; 842 break; 843 case SDL_Keycode.SDLK_BRIGHTNESSUP: 844 GlobalKeyboard.downKeys[(int)Key.BRIGHTNESSUP] = false; 845 break; 846 case SDL_Keycode.SDLK_c: 847 GlobalKeyboard.downKeys[(int)Key.C] = false; 848 break; 849 case SDL_Keycode.SDLK_CALCULATOR: 850 GlobalKeyboard.downKeys[(int)Key.CALCULATOR] = false; 851 break; 852 case SDL_Keycode.SDLK_CANCEL: 853 GlobalKeyboard.downKeys[(int)Key.CANCEL] = false; 854 break; 855 case SDL_Keycode.SDLK_CAPSLOCK: 856 GlobalKeyboard.downKeys[(int)Key.CAPSLOCK] = false; 857 break; 858 case SDL_Keycode.SDLK_CLEAR: 859 GlobalKeyboard.downKeys[(int)Key.CLEAR] = false; 860 break; 861 case SDL_Keycode.SDLK_CLEARAGAIN: 862 GlobalKeyboard.downKeys[(int)Key.CLEARAGAIN] = false; 863 break; 864 case SDL_Keycode.SDLK_COMMA: 865 GlobalKeyboard.downKeys[(int)Key.COMMA] = false; 866 break; 867 case SDL_Keycode.SDLK_COMPUTER: 868 GlobalKeyboard.downKeys[(int)Key.COMPUTER] = false; 869 break; 870 case SDL_Keycode.SDLK_COPY: 871 GlobalKeyboard.downKeys[(int)Key.COPY] = false; 872 break; 873 case SDL_Keycode.SDLK_CRSEL: 874 GlobalKeyboard.downKeys[(int)Key.CRSEL] = false; 875 break; 876 case SDL_Keycode.SDLK_CURRENCYSUBUNIT: 877 GlobalKeyboard.downKeys[(int)Key.CURRENCYSUBUNIT] = false; 878 break; 879 case SDL_Keycode.SDLK_CURRENCYUNIT: 880 GlobalKeyboard.downKeys[(int)Key.CURRENCYUNIT] = false; 881 break; 882 case SDL_Keycode.SDLK_CUT: 883 GlobalKeyboard.downKeys[(int)Key.CUT] = false; 884 break; 885 case SDL_Keycode.SDLK_d: 886 GlobalKeyboard.downKeys[(int)Key.D] = false; 887 break; 888 case SDL_Keycode.SDLK_DECIMALSEPARATOR: 889 GlobalKeyboard.downKeys[(int)Key.DECIMALSEPARATOR] = false; 890 break; 891 case SDL_Keycode.SDLK_DELETE: 892 GlobalKeyboard.downKeys[(int)Key.DELETE] = false; 893 break; 894 case SDL_Keycode.SDLK_DISPLAYSWITCH: 895 GlobalKeyboard.downKeys[(int)Key.DISPLAYSWITCH] = false; 896 break; 897 case SDL_Keycode.SDLK_DOWN: 898 GlobalKeyboard.downKeys[(int)Key.DOWN] = false; 899 break; 900 case SDL_Keycode.SDLK_e: 901 GlobalKeyboard.downKeys[(int)Key.E] = false; 902 break; 903 case SDL_Keycode.SDLK_EJECT: 904 GlobalKeyboard.downKeys[(int)Key.EJECT] = false; 905 break; 906 case SDL_Keycode.SDLK_END: 907 GlobalKeyboard.downKeys[(int)Key.END] = false; 908 break; 909 case SDL_Keycode.SDLK_EQUALS: 910 GlobalKeyboard.downKeys[(int)Key.EQUALS] = false; 911 break; 912 case SDL_Keycode.SDLK_ESCAPE: 913 GlobalKeyboard.downKeys[(int)Key.ESCAPE] = false; 914 break; 915 case SDL_Keycode.SDLK_EXECUTE: 916 GlobalKeyboard.downKeys[(int)Key.EXECUTE] = false; 917 break; 918 case SDL_Keycode.SDLK_EXSEL: 919 GlobalKeyboard.downKeys[(int)Key.EXSEL] = false; 920 break; 921 case SDL_Keycode.SDLK_f: 922 GlobalKeyboard.downKeys[(int)Key.F] = false; 923 break; 924 case SDL_Keycode.SDLK_F1: 925 GlobalKeyboard.downKeys[(int)Key.F1] = false; 926 break; 927 case SDL_Keycode.SDLK_F10: 928 GlobalKeyboard.downKeys[(int)Key.F10] = false; 929 break; 930 case SDL_Keycode.SDLK_F11: 931 GlobalKeyboard.downKeys[(int)Key.F11] = false; 932 break; 933 case SDL_Keycode.SDLK_F12: 934 GlobalKeyboard.downKeys[(int)Key.F12] = false; 935 break; 936 case SDL_Keycode.SDLK_F13: 937 GlobalKeyboard.downKeys[(int)Key.F13] = false; 938 break; 939 case SDL_Keycode.SDLK_F14: 940 GlobalKeyboard.downKeys[(int)Key.F14] = false; 941 break; 942 case SDL_Keycode.SDLK_F15: 943 GlobalKeyboard.downKeys[(int)Key.F15] = false; 944 break; 945 case SDL_Keycode.SDLK_F16: 946 GlobalKeyboard.downKeys[(int)Key.F16] = false; 947 break; 948 case SDL_Keycode.SDLK_F17: 949 GlobalKeyboard.downKeys[(int)Key.F17] = false; 950 break; 951 case SDL_Keycode.SDLK_F18: 952 GlobalKeyboard.downKeys[(int)Key.F18] = false; 953 break; 954 case SDL_Keycode.SDLK_F19: 955 GlobalKeyboard.downKeys[(int)Key.F19] = false; 956 break; 957 case SDL_Keycode.SDLK_F2: 958 GlobalKeyboard.downKeys[(int)Key.F2] = false; 959 break; 960 case SDL_Keycode.SDLK_F20: 961 GlobalKeyboard.downKeys[(int)Key.F20] = false; 962 break; 963 case SDL_Keycode.SDLK_F21: 964 GlobalKeyboard.downKeys[(int)Key.F21] = false; 965 break; 966 case SDL_Keycode.SDLK_F22: 967 GlobalKeyboard.downKeys[(int)Key.F22] = false; 968 break; 969 case SDL_Keycode.SDLK_F23: 970 GlobalKeyboard.downKeys[(int)Key.F23] = false; 971 break; 972 case SDL_Keycode.SDLK_F24: 973 GlobalKeyboard.downKeys[(int)Key.F24] = false; 974 break; 975 case SDL_Keycode.SDLK_F3: 976 GlobalKeyboard.downKeys[(int)Key.F3] = false; 977 break; 978 case SDL_Keycode.SDLK_F4: 979 GlobalKeyboard.downKeys[(int)Key.F4] = false; 980 break; 981 case SDL_Keycode.SDLK_F5: 982 GlobalKeyboard.downKeys[(int)Key.F5] = false; 983 break; 984 case SDL_Keycode.SDLK_F6: 985 GlobalKeyboard.downKeys[(int)Key.F6] = false; 986 break; 987 case SDL_Keycode.SDLK_F7: 988 GlobalKeyboard.downKeys[(int)Key.F7] = false; 989 break; 990 case SDL_Keycode.SDLK_F8: 991 GlobalKeyboard.downKeys[(int)Key.F8] = false; 992 break; 993 case SDL_Keycode.SDLK_F9: 994 GlobalKeyboard.downKeys[(int)Key.F9] = false; 995 break; 996 case SDL_Keycode.SDLK_FIND: 997 GlobalKeyboard.downKeys[(int)Key.FIND] = false; 998 break; 999 case SDL_Keycode.SDLK_g: 1000 GlobalKeyboard.downKeys[(int)Key.G] = false; 1001 break; 1002 case SDL_Keycode.SDLK_BACKQUOTE: 1003 GlobalKeyboard.downKeys[(int)Key.BACKQUOTE] = false; 1004 break; 1005 case SDL_Keycode.SDLK_h: 1006 GlobalKeyboard.downKeys[(int)Key.H] = false; 1007 break; 1008 case SDL_Keycode.SDLK_HELP: 1009 GlobalKeyboard.downKeys[(int)Key.HELP] = false; 1010 break; 1011 case SDL_Keycode.SDLK_HOME: 1012 GlobalKeyboard.downKeys[(int)Key.HOME] = false; 1013 break; 1014 case SDL_Keycode.SDLK_i: 1015 GlobalKeyboard.downKeys[(int)Key.I] = false; 1016 break; 1017 case SDL_Keycode.SDLK_INSERT: 1018 GlobalKeyboard.downKeys[(int)Key.INSERT] = false; 1019 break; 1020 case SDL_Keycode.SDLK_j: 1021 GlobalKeyboard.downKeys[(int)Key.J] = false; 1022 break; 1023 case SDL_Keycode.SDLK_k: 1024 GlobalKeyboard.downKeys[(int)Key.K] = false; 1025 break; 1026 case SDL_Keycode.SDLK_KBDILLUMDOWN: 1027 GlobalKeyboard.downKeys[(int)Key.KBDILLUMDOWN] = false; 1028 break; 1029 case SDL_Keycode.SDLK_KBDILLUMTOGGLE: 1030 GlobalKeyboard.downKeys[(int)Key.KBDILLUMTOGGLE] = false; 1031 break; 1032 case SDL_Keycode.SDLK_KBDILLUMUP: 1033 GlobalKeyboard.downKeys[(int)Key.KBDILLUMUP] = false; 1034 break; 1035 case SDL_Keycode.SDLK_KP_0: 1036 GlobalKeyboard.downKeys[(int)Key.KP_0] = false; 1037 break; 1038 case SDL_Keycode.SDLK_KP_00: 1039 GlobalKeyboard.downKeys[(int)Key.KP_00] = false; 1040 break; 1041 case SDL_Keycode.SDLK_KP_000: 1042 GlobalKeyboard.downKeys[(int)Key.KP_000] = false; 1043 break; 1044 case SDL_Keycode.SDLK_KP_1: 1045 GlobalKeyboard.downKeys[(int)Key.KP_1] = false; 1046 break; 1047 case SDL_Keycode.SDLK_KP_2: 1048 GlobalKeyboard.downKeys[(int)Key.KP_2] = false; 1049 break; 1050 case SDL_Keycode.SDLK_KP_3: 1051 GlobalKeyboard.downKeys[(int)Key.KP_3] = false; 1052 break; 1053 case SDL_Keycode.SDLK_KP_4: 1054 GlobalKeyboard.downKeys[(int)Key.KP_4] = false; 1055 break; 1056 case SDL_Keycode.SDLK_KP_5: 1057 GlobalKeyboard.downKeys[(int)Key.KP_5] = false; 1058 break; 1059 case SDL_Keycode.SDLK_KP_6: 1060 GlobalKeyboard.downKeys[(int)Key.KP_6] = false; 1061 break; 1062 case SDL_Keycode.SDLK_KP_7: 1063 GlobalKeyboard.downKeys[(int)Key.KP_7] = false; 1064 break; 1065 case SDL_Keycode.SDLK_KP_8: 1066 GlobalKeyboard.downKeys[(int)Key.KP_8] = false; 1067 break; 1068 case SDL_Keycode.SDLK_KP_9: 1069 GlobalKeyboard.downKeys[(int)Key.KP_9] = false; 1070 break; 1071 case SDL_Keycode.SDLK_KP_A: 1072 GlobalKeyboard.downKeys[(int)Key.KP_A] = false; 1073 break; 1074 case SDL_Keycode.SDLK_KP_AMPERSAND: 1075 GlobalKeyboard.downKeys[(int)Key.KP_AMPERSAND] = false; 1076 break; 1077 case SDL_Keycode.SDLK_KP_AT: 1078 GlobalKeyboard.downKeys[(int)Key.KP_AT] = false; 1079 break; 1080 case SDL_Keycode.SDLK_KP_B: 1081 GlobalKeyboard.downKeys[(int)Key.KP_B] = false; 1082 break; 1083 case SDL_Keycode.SDLK_KP_BACKSPACE: 1084 GlobalKeyboard.downKeys[(int)Key.KP_BACKSPACE] = false; 1085 break; 1086 case SDL_Keycode.SDLK_KP_BINARY: 1087 GlobalKeyboard.downKeys[(int)Key.KP_BINARY] = false; 1088 break; 1089 case SDL_Keycode.SDLK_KP_C: 1090 GlobalKeyboard.downKeys[(int)Key.KP_C] = false; 1091 break; 1092 case SDL_Keycode.SDLK_KP_CLEAR: 1093 GlobalKeyboard.downKeys[(int)Key.KP_CLEAR] = false; 1094 break; 1095 case SDL_Keycode.SDLK_KP_CLEARENTRY: 1096 GlobalKeyboard.downKeys[(int)Key.KP_CLEARENTRY] = false; 1097 break; 1098 case SDL_Keycode.SDLK_KP_COLON: 1099 GlobalKeyboard.downKeys[(int)Key.KP_COLON] = false; 1100 break; 1101 case SDL_Keycode.SDLK_KP_COMMA: 1102 GlobalKeyboard.downKeys[(int)Key.KP_COMMA] = false; 1103 break; 1104 case SDL_Keycode.SDLK_KP_D: 1105 GlobalKeyboard.downKeys[(int)Key.KP_D] = false; 1106 break; 1107 case SDL_Keycode.SDLK_KP_DBLAMPERSAND: 1108 GlobalKeyboard.downKeys[(int)Key.KP_DBLAMPERSAND] = false; 1109 break; 1110 case SDL_Keycode.SDLK_KP_DBLVERTICALBAR: 1111 GlobalKeyboard.downKeys[(int)Key.KP_DBLVERTICALBAR] = false; 1112 break; 1113 case SDL_Keycode.SDLK_KP_DECIMAL: 1114 GlobalKeyboard.downKeys[(int)Key.KP_DECIMAL] = false; 1115 break; 1116 case SDL_Keycode.SDLK_KP_DIVIDE: 1117 GlobalKeyboard.downKeys[(int)Key.KP_DIVIDE] = false; 1118 break; 1119 case SDL_Keycode.SDLK_KP_E: 1120 GlobalKeyboard.downKeys[(int)Key.KP_E] = false; 1121 break; 1122 case SDL_Keycode.SDLK_KP_ENTER: 1123 GlobalKeyboard.downKeys[(int)Key.KP_ENTER] = false; 1124 break; 1125 case SDL_Keycode.SDLK_KP_EQUALS: 1126 GlobalKeyboard.downKeys[(int)Key.KP_EQUALS] = false; 1127 break; 1128 case SDL_Keycode.SDLK_KP_EQUALSAS400: 1129 GlobalKeyboard.downKeys[(int)Key.KP_EQUALSAS400] = false; 1130 break; 1131 case SDL_Keycode.SDLK_KP_EXCLAM: 1132 GlobalKeyboard.downKeys[(int)Key.KP_EXCLAM] = false; 1133 break; 1134 case SDL_Keycode.SDLK_KP_F: 1135 GlobalKeyboard.downKeys[(int)Key.KP_F] = false; 1136 break; 1137 case SDL_Keycode.SDLK_KP_GREATER: 1138 GlobalKeyboard.downKeys[(int)Key.KP_GREATER] = false; 1139 break; 1140 case SDL_Keycode.SDLK_KP_HASH: 1141 GlobalKeyboard.downKeys[(int)Key.KP_HASH] = false; 1142 break; 1143 case SDL_Keycode.SDLK_KP_HEXADECIMAL: 1144 GlobalKeyboard.downKeys[(int)Key.KP_HEXADECIMAL] = false; 1145 break; 1146 case SDL_Keycode.SDLK_KP_LEFTBRACE: 1147 GlobalKeyboard.downKeys[(int)Key.KP_LEFTBRACE] = false; 1148 break; 1149 case SDL_Keycode.SDLK_KP_LEFTPAREN: 1150 GlobalKeyboard.downKeys[(int)Key.KP_LEFTPAREN] = false; 1151 break; 1152 case SDL_Keycode.SDLK_KP_LESS: 1153 GlobalKeyboard.downKeys[(int)Key.KP_LESS] = false; 1154 break; 1155 case SDL_Keycode.SDLK_KP_MEMADD: 1156 GlobalKeyboard.downKeys[(int)Key.KP_MEMADD] = false; 1157 break; 1158 case SDL_Keycode.SDLK_KP_MEMCLEAR: 1159 GlobalKeyboard.downKeys[(int)Key.KP_MEMCLEAR] = false; 1160 break; 1161 case SDL_Keycode.SDLK_KP_MEMDIVIDE: 1162 GlobalKeyboard.downKeys[(int)Key.KP_MEMDIVIDE] = false; 1163 break; 1164 case SDL_Keycode.SDLK_KP_MEMMULTIPLY: 1165 GlobalKeyboard.downKeys[(int)Key.KP_MEMMULTIPLY] = false; 1166 break; 1167 case SDL_Keycode.SDLK_KP_MEMRECALL: 1168 GlobalKeyboard.downKeys[(int)Key.KP_MEMRECALL] = false; 1169 break; 1170 case SDL_Keycode.SDLK_KP_MEMSTORE: 1171 GlobalKeyboard.downKeys[(int)Key.KP_MEMSTORE] = false; 1172 break; 1173 case SDL_Keycode.SDLK_KP_MEMSUBTRACT: 1174 GlobalKeyboard.downKeys[(int)Key.KP_MEMSUBTRACT] = false; 1175 break; 1176 case SDL_Keycode.SDLK_KP_MINUS: 1177 GlobalKeyboard.downKeys[(int)Key.KP_MINUS] = false; 1178 break; 1179 case SDL_Keycode.SDLK_KP_MULTIPLY: 1180 GlobalKeyboard.downKeys[(int)Key.KP_MULTIPLY] = false; 1181 break; 1182 case SDL_Keycode.SDLK_KP_OCTAL: 1183 GlobalKeyboard.downKeys[(int)Key.KP_OCTAL] = false; 1184 break; 1185 case SDL_Keycode.SDLK_KP_PERCENT: 1186 GlobalKeyboard.downKeys[(int)Key.KP_PERCENT] = false; 1187 break; 1188 case SDL_Keycode.SDLK_KP_PERIOD: 1189 GlobalKeyboard.downKeys[(int)Key.KP_PERIOD] = false; 1190 break; 1191 case SDL_Keycode.SDLK_KP_PLUS: 1192 GlobalKeyboard.downKeys[(int)Key.KP_PLUS] = false; 1193 break; 1194 case SDL_Keycode.SDLK_KP_PLUSMINUS: 1195 GlobalKeyboard.downKeys[(int)Key.KP_PLUSMINUS] = false; 1196 break; 1197 case SDL_Keycode.SDLK_KP_POWER: 1198 GlobalKeyboard.downKeys[(int)Key.KP_POWER] = false; 1199 break; 1200 case SDL_Keycode.SDLK_KP_RIGHTBRACE: 1201 GlobalKeyboard.downKeys[(int)Key.KP_RIGHTBRACE] = false; 1202 break; 1203 case SDL_Keycode.SDLK_KP_RIGHTPAREN: 1204 GlobalKeyboard.downKeys[(int)Key.KP_RIGHTPAREN] = false; 1205 break; 1206 case SDL_Keycode.SDLK_KP_SPACE: 1207 GlobalKeyboard.downKeys[(int)Key.KP_SPACE] = false; 1208 break; 1209 case SDL_Keycode.SDLK_KP_TAB: 1210 GlobalKeyboard.downKeys[(int)Key.KP_TAB] = false; 1211 break; 1212 case SDL_Keycode.SDLK_KP_VERTICALBAR: 1213 GlobalKeyboard.downKeys[(int)Key.KP_VERTICALBAR] = false; 1214 break; 1215 case SDL_Keycode.SDLK_KP_XOR: 1216 GlobalKeyboard.downKeys[(int)Key.KP_XOR] = false; 1217 break; 1218 case SDL_Keycode.SDLK_l: 1219 GlobalKeyboard.downKeys[(int)Key.L] = false; 1220 break; 1221 case SDL_Keycode.SDLK_LEFT: 1222 GlobalKeyboard.downKeys[(int)Key.LEFT] = false; 1223 break; 1224 case SDL_Keycode.SDLK_LEFTBRACKET: 1225 GlobalKeyboard.downKeys[(int)Key.LEFTBRACKET] = false; 1226 break; 1227 case SDL_Keycode.SDLK_LGUI: 1228 GlobalKeyboard.downKeys[(int)Key.LGUI] = false; 1229 break; 1230 case SDL_Keycode.SDLK_m: 1231 GlobalKeyboard.downKeys[(int)Key.M] = false; 1232 break; 1233 case SDL_Keycode.SDLK_MAIL: 1234 GlobalKeyboard.downKeys[(int)Key.MAIL] = false; 1235 break; 1236 case SDL_Keycode.SDLK_MEDIASELECT: 1237 GlobalKeyboard.downKeys[(int)Key.MEDIASELECT] = false; 1238 break; 1239 case SDL_Keycode.SDLK_MENU: 1240 GlobalKeyboard.downKeys[(int)Key.MENU] = false; 1241 break; 1242 case SDL_Keycode.SDLK_MINUS: 1243 GlobalKeyboard.downKeys[(int)Key.MINUS] = false; 1244 break; 1245 case SDL_Keycode.SDLK_MODE: 1246 GlobalKeyboard.downKeys[(int)Key.MODE] = false; 1247 break; 1248 case SDL_Keycode.SDLK_MUTE: 1249 GlobalKeyboard.downKeys[(int)Key.MUTE] = false; 1250 break; 1251 case SDL_Keycode.SDLK_n: 1252 GlobalKeyboard.downKeys[(int)Key.N] = false; 1253 break; 1254 case SDL_Keycode.SDLK_NUMLOCKCLEAR: 1255 GlobalKeyboard.downKeys[(int)Key.NUMLOCKCLEAR] = false; 1256 break; 1257 case SDL_Keycode.SDLK_o: 1258 GlobalKeyboard.downKeys[(int)Key.O] = false; 1259 break; 1260 case SDL_Keycode.SDLK_OPER: 1261 GlobalKeyboard.downKeys[(int)Key.OPER] = false; 1262 break; 1263 case SDL_Keycode.SDLK_OUT: 1264 GlobalKeyboard.downKeys[(int)Key.OUT] = false; 1265 break; 1266 case SDL_Keycode.SDLK_p: 1267 GlobalKeyboard.downKeys[(int)Key.P] = false; 1268 break; 1269 case SDL_Keycode.SDLK_PAGEDOWN: 1270 GlobalKeyboard.downKeys[(int)Key.PAGEDOWN] = false; 1271 break; 1272 case SDL_Keycode.SDLK_PAGEUP: 1273 GlobalKeyboard.downKeys[(int)Key.PAGEUP] = false; 1274 break; 1275 case SDL_Keycode.SDLK_PASTE: 1276 GlobalKeyboard.downKeys[(int)Key.PASTE] = false; 1277 break; 1278 case SDL_Keycode.SDLK_PAUSE: 1279 GlobalKeyboard.downKeys[(int)Key.PAUSE] = false; 1280 break; 1281 case SDL_Keycode.SDLK_PERIOD: 1282 GlobalKeyboard.downKeys[(int)Key.PERIOD] = false; 1283 break; 1284 case SDL_Keycode.SDLK_POWER: 1285 GlobalKeyboard.downKeys[(int)Key.POWER] = false; 1286 break; 1287 case SDL_Keycode.SDLK_PRINTSCREEN: 1288 GlobalKeyboard.downKeys[(int)Key.PRINTSCREEN] = false; 1289 break; 1290 case SDL_Keycode.SDLK_PRIOR: 1291 GlobalKeyboard.downKeys[(int)Key.PRIOR] = false; 1292 break; 1293 case SDL_Keycode.SDLK_q: 1294 GlobalKeyboard.downKeys[(int)Key.Q] = false; 1295 break; 1296 case SDL_Keycode.SDLK_r: 1297 GlobalKeyboard.downKeys[(int)Key.R] = false; 1298 break; 1299 case SDL_Keycode.SDLK_RETURN: 1300 GlobalKeyboard.downKeys[(int)Key.RETURN] = false; 1301 break; 1302 case SDL_Keycode.SDLK_RETURN2: 1303 GlobalKeyboard.downKeys[(int)Key.RETURN2] = false; 1304 break; 1305 case SDL_Keycode.SDLK_RGUI: 1306 GlobalKeyboard.downKeys[(int)Key.RGUI] = false; 1307 break; 1308 case SDL_Keycode.SDLK_RIGHT: 1309 GlobalKeyboard.downKeys[(int)Key.RIGHT] = false; 1310 break; 1311 case SDL_Keycode.SDLK_RIGHTBRACKET: 1312 GlobalKeyboard.downKeys[(int)Key.RIGHTBRACKET] = false; 1313 break; 1314 case SDL_Keycode.SDLK_s: 1315 GlobalKeyboard.downKeys[(int)Key.S] = false; 1316 break; 1317 case SDL_Keycode.SDLK_SCROLLLOCK: 1318 GlobalKeyboard.downKeys[(int)Key.SCROLLLOCK] = false; 1319 break; 1320 case SDL_Keycode.SDLK_SELECT: 1321 GlobalKeyboard.downKeys[(int)Key.SELECT] = false; 1322 break; 1323 case SDL_Keycode.SDLK_SEMICOLON: 1324 GlobalKeyboard.downKeys[(int)Key.SEMICOLON] = false; 1325 break; 1326 case SDL_Keycode.SDLK_SEPARATOR: 1327 GlobalKeyboard.downKeys[(int)Key.SEPARATOR] = false; 1328 break; 1329 case SDL_Keycode.SDLK_SLASH: 1330 GlobalKeyboard.downKeys[(int)Key.SLASH] = false; 1331 break; 1332 case SDL_Keycode.SDLK_SLEEP: 1333 GlobalKeyboard.downKeys[(int)Key.SLEEP] = false; 1334 break; 1335 case SDL_Keycode.SDLK_SPACE: 1336 GlobalKeyboard.downKeys[(int)Key.SPACE] = false; 1337 break; 1338 case SDL_Keycode.SDLK_STOP: 1339 GlobalKeyboard.downKeys[(int)Key.STOP] = false; 1340 break; 1341 case SDL_Keycode.SDLK_SYSREQ: 1342 GlobalKeyboard.downKeys[(int)Key.SYSREQ] = false; 1343 break; 1344 case SDL_Keycode.SDLK_t: 1345 GlobalKeyboard.downKeys[(int)Key.T] = false; 1346 break; 1347 case SDL_Keycode.SDLK_TAB: 1348 GlobalKeyboard.downKeys[(int)Key.TAB] = false; 1349 break; 1350 case SDL_Keycode.SDLK_THOUSANDSSEPARATOR: 1351 GlobalKeyboard.downKeys[(int)Key.THOUSANDSSEPARATOR] = false; 1352 break; 1353 case SDL_Keycode.SDLK_u: 1354 GlobalKeyboard.downKeys[(int)Key.U] = false; 1355 break; 1356 case SDL_Keycode.SDLK_UNDO: 1357 GlobalKeyboard.downKeys[(int)Key.UNDO] = false; 1358 break; 1359 case SDL_Keycode.SDLK_UNKNOWN: 1360 GlobalKeyboard.downKeys[(int)Key.UNKNOWN] = false; 1361 break; 1362 case SDL_Keycode.SDLK_UP: 1363 GlobalKeyboard.downKeys[(int)Key.UP] = false; 1364 break; 1365 case SDL_Keycode.SDLK_v: 1366 GlobalKeyboard.downKeys[(int)Key.V] = false; 1367 break; 1368 case SDL_Keycode.SDLK_VOLUMEDOWN: 1369 GlobalKeyboard.downKeys[(int)Key.VOLUMEDOWN] = false; 1370 break; 1371 case SDL_Keycode.SDLK_VOLUMEUP: 1372 GlobalKeyboard.downKeys[(int)Key.VOLUMEUP] = false; 1373 break; 1374 case SDL_Keycode.SDLK_w: 1375 GlobalKeyboard.downKeys[(int)Key.W] = false; 1376 break; 1377 case SDL_Keycode.SDLK_WWW: 1378 GlobalKeyboard.downKeys[(int)Key.WWW] = false; 1379 break; 1380 case SDL_Keycode.SDLK_x: 1381 GlobalKeyboard.downKeys[(int)Key.X] = false; 1382 break; 1383 case SDL_Keycode.SDLK_y: 1384 GlobalKeyboard.downKeys[(int)Key.Y] = false; 1385 break; 1386 case SDL_Keycode.SDLK_z: 1387 GlobalKeyboard.downKeys[(int)Key.Z] = false; 1388 break; 1389 case SDL_Keycode.SDLK_AMPERSAND: 1390 GlobalKeyboard.downKeys[(int)Key.AMPERSAND] = false; 1391 break; 1392 case SDL_Keycode.SDLK_ASTERISK: 1393 GlobalKeyboard.downKeys[(int)Key.ASTERISK] = false; 1394 break; 1395 case SDL_Keycode.SDLK_AT: 1396 GlobalKeyboard.downKeys[(int)Key.AT] = false; 1397 break; 1398 case SDL_Keycode.SDLK_CARET: 1399 GlobalKeyboard.downKeys[(int)Key.CARET] = false; 1400 break; 1401 case SDL_Keycode.SDLK_COLON: 1402 GlobalKeyboard.downKeys[(int)Key.COLON] = false; 1403 break; 1404 case SDL_Keycode.SDLK_DOLLAR: 1405 GlobalKeyboard.downKeys[(int)Key.DOLLAR] = false; 1406 break; 1407 case SDL_Keycode.SDLK_EXCLAIM: 1408 GlobalKeyboard.downKeys[(int)Key.EXCLAIM] = false; 1409 break; 1410 case SDL_Keycode.SDLK_GREATER: 1411 GlobalKeyboard.downKeys[(int)Key.GREATER] = false; 1412 break; 1413 case SDL_Keycode.SDLK_HASH: 1414 GlobalKeyboard.downKeys[(int)Key.HASH] = false; 1415 break; 1416 case SDL_Keycode.SDLK_LEFTPAREN: 1417 GlobalKeyboard.downKeys[(int)Key.LEFTPAREN] = false; 1418 break; 1419 case SDL_Keycode.SDLK_LESS: 1420 GlobalKeyboard.downKeys[(int)Key.LESS] = false; 1421 break; 1422 case SDL_Keycode.SDLK_PERCENT: 1423 GlobalKeyboard.downKeys[(int)Key.PERCENT] = false; 1424 break; 1425 case SDL_Keycode.SDLK_PLUS: 1426 GlobalKeyboard.downKeys[(int)Key.PLUS] = false; 1427 break; 1428 case SDL_Keycode.SDLK_QUESTION: 1429 GlobalKeyboard.downKeys[(int)Key.QUESTION] = false; 1430 break; 1431 case SDL_Keycode.SDLK_QUOTEDBL: 1432 GlobalKeyboard.downKeys[(int)Key.QUOTEDBL] = false; 1433 break; 1434 case SDL_Keycode.SDLK_RIGHTPAREN: 1435 GlobalKeyboard.downKeys[(int)Key.RIGHTPAREN] = false; 1436 break; 1437 case SDL_Keycode.SDLK_UNDERSCORE: 1438 GlobalKeyboard.downKeys[(int)Key.UNDERSCORE] = false; 1439 break; 1440 case SDL_Keycode.SDLK_LCTRL: 1441 GlobalKeyboard.pressedModifiers.Remove(Mod.LCtrl); 1442 break; 1443 case SDL_Keycode.SDLK_LSHIFT: 1444 GlobalKeyboard.pressedModifiers.Remove(Mod.LShift); 1445 break; 1446 } 1447 1448 break; 1449 case SDL_EventType.SDL_TEXTINPUT: 1450 if(FUI.selectedTextField == null) { 1451 break; 1452 } 1453 1454 unsafe { 1455 byte[] arr = new byte[1]; 1456 Marshal.Copy((IntPtr)e.text.text, arr, 0, 1); 1457 // Console.WriteLine(FUI.selectedTextFieldValue); 1458 if(FUI.selectedTextFieldOnChange != null) 1459 FUI.selectedTextFieldOnChange(FUI.selectedTextFieldValue + Encoding.UTF8.GetString(arr)); 1460 } 1461 break; 1462 case SDL_EventType.SDL_TEXTEDITING: 1463 if(FUI.selectedTextField == null) { 1464 break; 1465 } 1466 break; 1467 case SDL_EventType.SDL_MOUSEMOTION: 1468 SDL_GetMouseState(out int _x, out int _y); 1469 GlobalMouse.Position = new Vector2(_x, _y); 1470 GlobalMouse.RelativePosition = new Vector2((float)_x / (float)Game.Window.Width, (float)_y / (float)Game.Window.Height); 1471 break; 1472 case SDL_EventType.SDL_MOUSEBUTTONDOWN: 1473 switch(e.button.button) { 1474 case (byte)SDL_BUTTON_LEFT: { 1475 if (!GlobalMouse.Down(MB.Left)) 1476 GlobalMouse.pressedKeys[MB.Left] = true; 1477 else 1478 GlobalMouse.pressedKeys[MB.Left] = false; 1479 GlobalMouse.downKeys[MB.Left] = true; 1480 } break; 1481 case (byte)SDL_BUTTON_RIGHT: { 1482 if (!GlobalMouse.Down(MB.Right)) 1483 GlobalMouse.pressedKeys[MB.Right] = true; 1484 else 1485 GlobalMouse.pressedKeys[MB.Right] = false; 1486 GlobalMouse.downKeys[MB.Right] = true; 1487 } break; 1488 } 1489 break; 1490 case SDL_EventType.SDL_MOUSEBUTTONUP: 1491 switch(e.button.button) { 1492 case (byte)SDL_BUTTON_LEFT: { 1493 GlobalMouse.downKeys[MB.Left] = false; 1494 } break; 1495 case (byte)SDL_BUTTON_RIGHT: { 1496 GlobalMouse.downKeys[MB.Right] = false; 1497 } break; 1498 } 1499 break; 1500 case SDL_EventType.SDL_MOUSEWHEEL: 1501 if(e.wheel.y > 0) // scroll up 1502 { 1503 if (!GlobalMouse.Down(MB.ScrollUp)) 1504 GlobalMouse.pressedKeys[MB.ScrollUp] = true; 1505 else 1506 GlobalMouse.pressedKeys[MB.ScrollUp] = false; 1507 GlobalMouse.downKeys[MB.ScrollUp] = true; 1508 } 1509 else if(e.wheel.y < 0) // scroll down 1510 { 1511 if (!GlobalMouse.Down(MB.ScrollDown)) 1512 GlobalMouse.pressedKeys[MB.ScrollDown] = true; 1513 else 1514 GlobalMouse.pressedKeys[MB.ScrollDown] = false; 1515 GlobalMouse.downKeys[MB.ScrollDown] = true; 1516 } 1517 1518 if(e.wheel.x > 0) // scroll right 1519 { 1520 if (!GlobalMouse.Down(MB.ScrollRight)) 1521 GlobalMouse.pressedKeys[MB.ScrollRight] = true; 1522 else 1523 GlobalMouse.pressedKeys[MB.ScrollRight] = false; 1524 GlobalMouse.downKeys[MB.ScrollRight] = true; 1525 } 1526 else if(e.wheel.x < 0) // scroll left 1527 { 1528 if (!GlobalMouse.Down(MB.ScrollLeft)) 1529 GlobalMouse.pressedKeys[MB.ScrollLeft] = true; 1530 else 1531 GlobalMouse.pressedKeys[MB.ScrollLeft] = false; 1532 GlobalMouse.downKeys[MB.ScrollLeft] = true; 1533 } 1534 break; 1535 } 1536 } 1537 } 1538 } 1539}