A simple .NET Framework to make 2D games quick and easy.

Fixed keyboard

Changed files
+323 -243
src
+230 -230
src/EventHandler.cs
··· 748 748 switch (e.key.keysym.sym) 749 749 { 750 750 case SDL_Keycode.SDLK_0: 751 - GlobalKeyboard.downKeys.Remove(Key.N0); 751 + GlobalKeyboard.downKeys[(int)Key.N0] = false; 752 752 break; 753 753 case SDL_Keycode.SDLK_1: 754 - GlobalKeyboard.downKeys.Remove(Key.N1); 754 + GlobalKeyboard.downKeys[(int)Key.N1] = false; 755 755 break; 756 756 case SDL_Keycode.SDLK_2: 757 - GlobalKeyboard.downKeys.Remove(Key.N2); 757 + GlobalKeyboard.downKeys[(int)Key.N2] = false; 758 758 break; 759 759 case SDL_Keycode.SDLK_3: 760 - GlobalKeyboard.downKeys.Remove(Key.N3); 760 + GlobalKeyboard.downKeys[(int)Key.N3] = false; 761 761 break; 762 762 case SDL_Keycode.SDLK_4: 763 - GlobalKeyboard.downKeys.Remove(Key.N4); 763 + GlobalKeyboard.downKeys[(int)Key.N4] = false; 764 764 break; 765 765 case SDL_Keycode.SDLK_5: 766 - GlobalKeyboard.downKeys.Remove(Key.N5); 766 + GlobalKeyboard.downKeys[(int)Key.N5] = false; 767 767 break; 768 768 case SDL_Keycode.SDLK_6: 769 - GlobalKeyboard.downKeys.Remove(Key.N6); 769 + GlobalKeyboard.downKeys[(int)Key.N6] = false; 770 770 break; 771 771 case SDL_Keycode.SDLK_7: 772 - GlobalKeyboard.downKeys.Remove(Key.N7); 772 + GlobalKeyboard.downKeys[(int)Key.N7] = false; 773 773 break; 774 774 case SDL_Keycode.SDLK_8: 775 - GlobalKeyboard.downKeys.Remove(Key.N8); 775 + GlobalKeyboard.downKeys[(int)Key.N8] = false; 776 776 break; 777 777 case SDL_Keycode.SDLK_9: 778 - GlobalKeyboard.downKeys.Remove(Key.N9); 778 + GlobalKeyboard.downKeys[(int)Key.N9] = false; 779 779 break; 780 780 case SDL_Keycode.SDLK_a: 781 - GlobalKeyboard.downKeys.Remove(Key.A); 781 + GlobalKeyboard.downKeys[(int)Key.A] = false; 782 782 break; 783 783 case SDL_Keycode.SDLK_AC_BACK: 784 - GlobalKeyboard.downKeys.Remove(Key.AC_BACK); 784 + GlobalKeyboard.downKeys[(int)Key.AC_BACK] = false; 785 785 break; 786 786 case SDL_Keycode.SDLK_AC_BOOKMARKS: 787 - GlobalKeyboard.downKeys.Remove(Key.AC_BOOKMARKS); 787 + GlobalKeyboard.downKeys[(int)Key.AC_BOOKMARKS] = false; 788 788 break; 789 789 case SDL_Keycode.SDLK_AC_FORWARD: 790 - GlobalKeyboard.downKeys.Remove(Key.AC_FORWARD); 790 + GlobalKeyboard.downKeys[(int)Key.AC_FORWARD] = false; 791 791 break; 792 792 case SDL_Keycode.SDLK_AC_HOME: 793 - GlobalKeyboard.downKeys.Remove(Key.AC_HOME); 793 + GlobalKeyboard.downKeys[(int)Key.AC_HOME] = false; 794 794 break; 795 795 case SDL_Keycode.SDLK_AC_REFRESH: 796 - GlobalKeyboard.downKeys.Remove(Key.AC_REFRESH); 796 + GlobalKeyboard.downKeys[(int)Key.AC_REFRESH] = false; 797 797 break; 798 798 case SDL_Keycode.SDLK_AC_SEARCH: 799 - GlobalKeyboard.downKeys.Remove(Key.AC_SEARCH); 799 + GlobalKeyboard.downKeys[(int)Key.AC_SEARCH] = false; 800 800 break; 801 801 case SDL_Keycode.SDLK_AC_STOP: 802 - GlobalKeyboard.downKeys.Remove(Key.AC_STOP); 802 + GlobalKeyboard.downKeys[(int)Key.AC_STOP] = false; 803 803 break; 804 804 case SDL_Keycode.SDLK_AGAIN: 805 - GlobalKeyboard.downKeys.Remove(Key.AGAIN); 805 + GlobalKeyboard.downKeys[(int)Key.AGAIN] = false; 806 806 break; 807 807 case SDL_Keycode.SDLK_ALTERASE: 808 - GlobalKeyboard.downKeys.Remove(Key.ALTERASE); 808 + GlobalKeyboard.downKeys[(int)Key.ALTERASE] = false; 809 809 break; 810 810 case SDL_Keycode.SDLK_QUOTE: 811 - GlobalKeyboard.downKeys.Remove(Key.QUOTE); 811 + GlobalKeyboard.downKeys[(int)Key.QUOTE] = false; 812 812 break; 813 813 case SDL_Keycode.SDLK_APPLICATION: 814 - GlobalKeyboard.downKeys.Remove(Key.APPLICATION); 814 + GlobalKeyboard.downKeys[(int)Key.APPLICATION] = false; 815 815 break; 816 816 case SDL_Keycode.SDLK_AUDIOMUTE: 817 - GlobalKeyboard.downKeys.Remove(Key.AUDIOMUTE); 817 + GlobalKeyboard.downKeys[(int)Key.AUDIOMUTE] = false; 818 818 break; 819 819 case SDL_Keycode.SDLK_AUDIONEXT: 820 - GlobalKeyboard.downKeys.Remove(Key.AUDIONEXT); 820 + GlobalKeyboard.downKeys[(int)Key.AUDIONEXT] = false; 821 821 break; 822 822 case SDL_Keycode.SDLK_AUDIOPLAY: 823 - GlobalKeyboard.downKeys.Remove(Key.AUDIOPLAY); 823 + GlobalKeyboard.downKeys[(int)Key.AUDIOPLAY] = false; 824 824 break; 825 825 case SDL_Keycode.SDLK_AUDIOPREV: 826 - GlobalKeyboard.downKeys.Remove(Key.AUDIOPREV); 826 + GlobalKeyboard.downKeys[(int)Key.AUDIOPREV] = false; 827 827 break; 828 828 case SDL_Keycode.SDLK_AUDIOSTOP: 829 - GlobalKeyboard.downKeys.Remove(Key.AUDIOSTOP); 829 + GlobalKeyboard.downKeys[(int)Key.AUDIOSTOP] = false; 830 830 break; 831 831 case SDL_Keycode.SDLK_b: 832 - GlobalKeyboard.downKeys.Remove(Key.B); 832 + GlobalKeyboard.downKeys[(int)Key.B] = false; 833 833 break; 834 834 case SDL_Keycode.SDLK_BACKSLASH: 835 - GlobalKeyboard.downKeys.Remove(Key.BACKSLASH); 835 + GlobalKeyboard.downKeys[(int)Key.BACKSLASH] = false; 836 836 break; 837 837 case SDL_Keycode.SDLK_BACKSPACE: 838 - GlobalKeyboard.downKeys.Remove(Key.BACKSPACE); 838 + GlobalKeyboard.downKeys[(int)Key.BACKSPACE] = false; 839 839 break; 840 840 case SDL_Keycode.SDLK_BRIGHTNESSDOWN: 841 - GlobalKeyboard.downKeys.Remove(Key.BRIGHTNESSDOWN); 841 + GlobalKeyboard.downKeys[(int)Key.BRIGHTNESSDOWN] = false; 842 842 break; 843 843 case SDL_Keycode.SDLK_BRIGHTNESSUP: 844 - GlobalKeyboard.downKeys.Remove(Key.BRIGHTNESSUP); 844 + GlobalKeyboard.downKeys[(int)Key.BRIGHTNESSUP] = false; 845 845 break; 846 846 case SDL_Keycode.SDLK_c: 847 - GlobalKeyboard.downKeys.Remove(Key.C); 847 + GlobalKeyboard.downKeys[(int)Key.C] = false; 848 848 break; 849 849 case SDL_Keycode.SDLK_CALCULATOR: 850 - GlobalKeyboard.downKeys.Remove(Key.CALCULATOR); 850 + GlobalKeyboard.downKeys[(int)Key.CALCULATOR] = false; 851 851 break; 852 852 case SDL_Keycode.SDLK_CANCEL: 853 - GlobalKeyboard.downKeys.Remove(Key.CANCEL); 853 + GlobalKeyboard.downKeys[(int)Key.CANCEL] = false; 854 854 break; 855 855 case SDL_Keycode.SDLK_CAPSLOCK: 856 - GlobalKeyboard.downKeys.Remove(Key.CAPSLOCK); 856 + GlobalKeyboard.downKeys[(int)Key.CAPSLOCK] = false; 857 857 break; 858 858 case SDL_Keycode.SDLK_CLEAR: 859 - GlobalKeyboard.downKeys.Remove(Key.CLEAR); 859 + GlobalKeyboard.downKeys[(int)Key.CLEAR] = false; 860 860 break; 861 861 case SDL_Keycode.SDLK_CLEARAGAIN: 862 - GlobalKeyboard.downKeys.Remove(Key.CLEARAGAIN); 862 + GlobalKeyboard.downKeys[(int)Key.CLEARAGAIN] = false; 863 863 break; 864 864 case SDL_Keycode.SDLK_COMMA: 865 - GlobalKeyboard.downKeys.Remove(Key.COMMA); 865 + GlobalKeyboard.downKeys[(int)Key.COMMA] = false; 866 866 break; 867 867 case SDL_Keycode.SDLK_COMPUTER: 868 - GlobalKeyboard.downKeys.Remove(Key.COMPUTER); 868 + GlobalKeyboard.downKeys[(int)Key.COMPUTER] = false; 869 869 break; 870 870 case SDL_Keycode.SDLK_COPY: 871 - GlobalKeyboard.downKeys.Remove(Key.COPY); 871 + GlobalKeyboard.downKeys[(int)Key.COPY] = false; 872 872 break; 873 873 case SDL_Keycode.SDLK_CRSEL: 874 - GlobalKeyboard.downKeys.Remove(Key.CRSEL); 874 + GlobalKeyboard.downKeys[(int)Key.CRSEL] = false; 875 875 break; 876 876 case SDL_Keycode.SDLK_CURRENCYSUBUNIT: 877 - GlobalKeyboard.downKeys.Remove(Key.CURRENCYSUBUNIT); 877 + GlobalKeyboard.downKeys[(int)Key.CURRENCYSUBUNIT] = false; 878 878 break; 879 879 case SDL_Keycode.SDLK_CURRENCYUNIT: 880 - GlobalKeyboard.downKeys.Remove(Key.CURRENCYUNIT); 880 + GlobalKeyboard.downKeys[(int)Key.CURRENCYUNIT] = false; 881 881 break; 882 882 case SDL_Keycode.SDLK_CUT: 883 - GlobalKeyboard.downKeys.Remove(Key.CUT); 883 + GlobalKeyboard.downKeys[(int)Key.CUT] = false; 884 884 break; 885 885 case SDL_Keycode.SDLK_d: 886 - GlobalKeyboard.downKeys.Remove(Key.D); 886 + GlobalKeyboard.downKeys[(int)Key.D] = false; 887 887 break; 888 888 case SDL_Keycode.SDLK_DECIMALSEPARATOR: 889 - GlobalKeyboard.downKeys.Remove(Key.DECIMALSEPARATOR); 889 + GlobalKeyboard.downKeys[(int)Key.DECIMALSEPARATOR] = false; 890 890 break; 891 891 case SDL_Keycode.SDLK_DELETE: 892 - GlobalKeyboard.downKeys.Remove(Key.DELETE); 892 + GlobalKeyboard.downKeys[(int)Key.DELETE] = false; 893 893 break; 894 894 case SDL_Keycode.SDLK_DISPLAYSWITCH: 895 - GlobalKeyboard.downKeys.Remove(Key.DISPLAYSWITCH); 895 + GlobalKeyboard.downKeys[(int)Key.DISPLAYSWITCH] = false; 896 896 break; 897 897 case SDL_Keycode.SDLK_DOWN: 898 - GlobalKeyboard.downKeys.Remove(Key.DOWN); 898 + GlobalKeyboard.downKeys[(int)Key.DOWN] = false; 899 899 break; 900 900 case SDL_Keycode.SDLK_e: 901 - GlobalKeyboard.downKeys.Remove(Key.E); 901 + GlobalKeyboard.downKeys[(int)Key.E] = false; 902 902 break; 903 903 case SDL_Keycode.SDLK_EJECT: 904 - GlobalKeyboard.downKeys.Remove(Key.EJECT); 904 + GlobalKeyboard.downKeys[(int)Key.EJECT] = false; 905 905 break; 906 906 case SDL_Keycode.SDLK_END: 907 - GlobalKeyboard.downKeys.Remove(Key.END); 907 + GlobalKeyboard.downKeys[(int)Key.END] = false; 908 908 break; 909 909 case SDL_Keycode.SDLK_EQUALS: 910 - GlobalKeyboard.downKeys.Remove(Key.EQUALS); 910 + GlobalKeyboard.downKeys[(int)Key.EQUALS] = false; 911 911 break; 912 912 case SDL_Keycode.SDLK_ESCAPE: 913 - GlobalKeyboard.downKeys.Remove(Key.ESCAPE); 913 + GlobalKeyboard.downKeys[(int)Key.ESCAPE] = false; 914 914 break; 915 915 case SDL_Keycode.SDLK_EXECUTE: 916 - GlobalKeyboard.downKeys.Remove(Key.EXECUTE); 916 + GlobalKeyboard.downKeys[(int)Key.EXECUTE] = false; 917 917 break; 918 918 case SDL_Keycode.SDLK_EXSEL: 919 - GlobalKeyboard.downKeys.Remove(Key.EXSEL); 919 + GlobalKeyboard.downKeys[(int)Key.EXSEL] = false; 920 920 break; 921 921 case SDL_Keycode.SDLK_f: 922 - GlobalKeyboard.downKeys.Remove(Key.F); 922 + GlobalKeyboard.downKeys[(int)Key.F] = false; 923 923 break; 924 924 case SDL_Keycode.SDLK_F1: 925 - GlobalKeyboard.downKeys.Remove(Key.F1); 925 + GlobalKeyboard.downKeys[(int)Key.F1] = false; 926 926 break; 927 927 case SDL_Keycode.SDLK_F10: 928 - GlobalKeyboard.downKeys.Remove(Key.F10); 928 + GlobalKeyboard.downKeys[(int)Key.F10] = false; 929 929 break; 930 930 case SDL_Keycode.SDLK_F11: 931 - GlobalKeyboard.downKeys.Remove(Key.F11); 931 + GlobalKeyboard.downKeys[(int)Key.F11] = false; 932 932 break; 933 933 case SDL_Keycode.SDLK_F12: 934 - GlobalKeyboard.downKeys.Remove(Key.F12); 934 + GlobalKeyboard.downKeys[(int)Key.F12] = false; 935 935 break; 936 936 case SDL_Keycode.SDLK_F13: 937 - GlobalKeyboard.downKeys.Remove(Key.F13); 937 + GlobalKeyboard.downKeys[(int)Key.F13] = false; 938 938 break; 939 939 case SDL_Keycode.SDLK_F14: 940 - GlobalKeyboard.downKeys.Remove(Key.F14); 940 + GlobalKeyboard.downKeys[(int)Key.F14] = false; 941 941 break; 942 942 case SDL_Keycode.SDLK_F15: 943 - GlobalKeyboard.downKeys.Remove(Key.F15); 943 + GlobalKeyboard.downKeys[(int)Key.F15] = false; 944 944 break; 945 945 case SDL_Keycode.SDLK_F16: 946 - GlobalKeyboard.downKeys.Remove(Key.F16); 946 + GlobalKeyboard.downKeys[(int)Key.F16] = false; 947 947 break; 948 948 case SDL_Keycode.SDLK_F17: 949 - GlobalKeyboard.downKeys.Remove(Key.F17); 949 + GlobalKeyboard.downKeys[(int)Key.F17] = false; 950 950 break; 951 951 case SDL_Keycode.SDLK_F18: 952 - GlobalKeyboard.downKeys.Remove(Key.F18); 952 + GlobalKeyboard.downKeys[(int)Key.F18] = false; 953 953 break; 954 954 case SDL_Keycode.SDLK_F19: 955 - GlobalKeyboard.downKeys.Remove(Key.F19); 955 + GlobalKeyboard.downKeys[(int)Key.F19] = false; 956 956 break; 957 957 case SDL_Keycode.SDLK_F2: 958 - GlobalKeyboard.downKeys.Remove(Key.F2); 958 + GlobalKeyboard.downKeys[(int)Key.F2] = false; 959 959 break; 960 960 case SDL_Keycode.SDLK_F20: 961 - GlobalKeyboard.downKeys.Remove(Key.F20); 961 + GlobalKeyboard.downKeys[(int)Key.F20] = false; 962 962 break; 963 963 case SDL_Keycode.SDLK_F21: 964 - GlobalKeyboard.downKeys.Remove(Key.F21); 964 + GlobalKeyboard.downKeys[(int)Key.F21] = false; 965 965 break; 966 966 case SDL_Keycode.SDLK_F22: 967 - GlobalKeyboard.downKeys.Remove(Key.F22); 967 + GlobalKeyboard.downKeys[(int)Key.F22] = false; 968 968 break; 969 969 case SDL_Keycode.SDLK_F23: 970 - GlobalKeyboard.downKeys.Remove(Key.F23); 970 + GlobalKeyboard.downKeys[(int)Key.F23] = false; 971 971 break; 972 972 case SDL_Keycode.SDLK_F24: 973 - GlobalKeyboard.downKeys.Remove(Key.F24); 973 + GlobalKeyboard.downKeys[(int)Key.F24] = false; 974 974 break; 975 975 case SDL_Keycode.SDLK_F3: 976 - GlobalKeyboard.downKeys.Remove(Key.F3); 976 + GlobalKeyboard.downKeys[(int)Key.F3] = false; 977 977 break; 978 978 case SDL_Keycode.SDLK_F4: 979 - GlobalKeyboard.downKeys.Remove(Key.F4); 979 + GlobalKeyboard.downKeys[(int)Key.F4] = false; 980 980 break; 981 981 case SDL_Keycode.SDLK_F5: 982 - GlobalKeyboard.downKeys.Remove(Key.F5); 982 + GlobalKeyboard.downKeys[(int)Key.F5] = false; 983 983 break; 984 984 case SDL_Keycode.SDLK_F6: 985 - GlobalKeyboard.downKeys.Remove(Key.F6); 985 + GlobalKeyboard.downKeys[(int)Key.F6] = false; 986 986 break; 987 987 case SDL_Keycode.SDLK_F7: 988 - GlobalKeyboard.downKeys.Remove(Key.F7); 988 + GlobalKeyboard.downKeys[(int)Key.F7] = false; 989 989 break; 990 990 case SDL_Keycode.SDLK_F8: 991 - GlobalKeyboard.downKeys.Remove(Key.F8); 991 + GlobalKeyboard.downKeys[(int)Key.F8] = false; 992 992 break; 993 993 case SDL_Keycode.SDLK_F9: 994 - GlobalKeyboard.downKeys.Remove(Key.F9); 994 + GlobalKeyboard.downKeys[(int)Key.F9] = false; 995 995 break; 996 996 case SDL_Keycode.SDLK_FIND: 997 - GlobalKeyboard.downKeys.Remove(Key.FIND); 997 + GlobalKeyboard.downKeys[(int)Key.FIND] = false; 998 998 break; 999 999 case SDL_Keycode.SDLK_g: 1000 - GlobalKeyboard.downKeys.Remove(Key.G); 1000 + GlobalKeyboard.downKeys[(int)Key.G] = false; 1001 1001 break; 1002 1002 case SDL_Keycode.SDLK_BACKQUOTE: 1003 - GlobalKeyboard.downKeys.Remove(Key.BACKQUOTE); 1003 + GlobalKeyboard.downKeys[(int)Key.BACKQUOTE] = false; 1004 1004 break; 1005 1005 case SDL_Keycode.SDLK_h: 1006 - GlobalKeyboard.downKeys.Remove(Key.H); 1006 + GlobalKeyboard.downKeys[(int)Key.H] = false; 1007 1007 break; 1008 1008 case SDL_Keycode.SDLK_HELP: 1009 - GlobalKeyboard.downKeys.Remove(Key.HELP); 1009 + GlobalKeyboard.downKeys[(int)Key.HELP] = false; 1010 1010 break; 1011 1011 case SDL_Keycode.SDLK_HOME: 1012 - GlobalKeyboard.downKeys.Remove(Key.HOME); 1012 + GlobalKeyboard.downKeys[(int)Key.HOME] = false; 1013 1013 break; 1014 1014 case SDL_Keycode.SDLK_i: 1015 - GlobalKeyboard.downKeys.Remove(Key.I); 1015 + GlobalKeyboard.downKeys[(int)Key.I] = false; 1016 1016 break; 1017 1017 case SDL_Keycode.SDLK_INSERT: 1018 - GlobalKeyboard.downKeys.Remove(Key.INSERT); 1018 + GlobalKeyboard.downKeys[(int)Key.INSERT] = false; 1019 1019 break; 1020 1020 case SDL_Keycode.SDLK_j: 1021 - GlobalKeyboard.downKeys.Remove(Key.J); 1021 + GlobalKeyboard.downKeys[(int)Key.J] = false; 1022 1022 break; 1023 1023 case SDL_Keycode.SDLK_k: 1024 - GlobalKeyboard.downKeys.Remove(Key.K); 1024 + GlobalKeyboard.downKeys[(int)Key.K] = false; 1025 1025 break; 1026 1026 case SDL_Keycode.SDLK_KBDILLUMDOWN: 1027 - GlobalKeyboard.downKeys.Remove(Key.KBDILLUMDOWN); 1027 + GlobalKeyboard.downKeys[(int)Key.KBDILLUMDOWN] = false; 1028 1028 break; 1029 1029 case SDL_Keycode.SDLK_KBDILLUMTOGGLE: 1030 - GlobalKeyboard.downKeys.Remove(Key.KBDILLUMTOGGLE); 1030 + GlobalKeyboard.downKeys[(int)Key.KBDILLUMTOGGLE] = false; 1031 1031 break; 1032 1032 case SDL_Keycode.SDLK_KBDILLUMUP: 1033 - GlobalKeyboard.downKeys.Remove(Key.KBDILLUMUP); 1033 + GlobalKeyboard.downKeys[(int)Key.KBDILLUMUP] = false; 1034 1034 break; 1035 1035 case SDL_Keycode.SDLK_KP_0: 1036 - GlobalKeyboard.downKeys.Remove(Key.KP_0); 1036 + GlobalKeyboard.downKeys[(int)Key.KP_0] = false; 1037 1037 break; 1038 1038 case SDL_Keycode.SDLK_KP_00: 1039 - GlobalKeyboard.downKeys.Remove(Key.KP_00); 1039 + GlobalKeyboard.downKeys[(int)Key.KP_00] = false; 1040 1040 break; 1041 1041 case SDL_Keycode.SDLK_KP_000: 1042 - GlobalKeyboard.downKeys.Remove(Key.KP_000); 1042 + GlobalKeyboard.downKeys[(int)Key.KP_000] = false; 1043 1043 break; 1044 1044 case SDL_Keycode.SDLK_KP_1: 1045 - GlobalKeyboard.downKeys.Remove(Key.KP_1); 1045 + GlobalKeyboard.downKeys[(int)Key.KP_1] = false; 1046 1046 break; 1047 1047 case SDL_Keycode.SDLK_KP_2: 1048 - GlobalKeyboard.downKeys.Remove(Key.KP_2); 1048 + GlobalKeyboard.downKeys[(int)Key.KP_2] = false; 1049 1049 break; 1050 1050 case SDL_Keycode.SDLK_KP_3: 1051 - GlobalKeyboard.downKeys.Remove(Key.KP_3); 1051 + GlobalKeyboard.downKeys[(int)Key.KP_3] = false; 1052 1052 break; 1053 1053 case SDL_Keycode.SDLK_KP_4: 1054 - GlobalKeyboard.downKeys.Remove(Key.KP_4); 1054 + GlobalKeyboard.downKeys[(int)Key.KP_4] = false; 1055 1055 break; 1056 1056 case SDL_Keycode.SDLK_KP_5: 1057 - GlobalKeyboard.downKeys.Remove(Key.KP_5); 1057 + GlobalKeyboard.downKeys[(int)Key.KP_5] = false; 1058 1058 break; 1059 1059 case SDL_Keycode.SDLK_KP_6: 1060 - GlobalKeyboard.downKeys.Remove(Key.KP_6); 1060 + GlobalKeyboard.downKeys[(int)Key.KP_6] = false; 1061 1061 break; 1062 1062 case SDL_Keycode.SDLK_KP_7: 1063 - GlobalKeyboard.downKeys.Remove(Key.KP_7); 1063 + GlobalKeyboard.downKeys[(int)Key.KP_7] = false; 1064 1064 break; 1065 1065 case SDL_Keycode.SDLK_KP_8: 1066 - GlobalKeyboard.downKeys.Remove(Key.KP_8); 1066 + GlobalKeyboard.downKeys[(int)Key.KP_8] = false; 1067 1067 break; 1068 1068 case SDL_Keycode.SDLK_KP_9: 1069 - GlobalKeyboard.downKeys.Remove(Key.KP_9); 1069 + GlobalKeyboard.downKeys[(int)Key.KP_9] = false; 1070 1070 break; 1071 1071 case SDL_Keycode.SDLK_KP_A: 1072 - GlobalKeyboard.downKeys.Remove(Key.KP_A); 1072 + GlobalKeyboard.downKeys[(int)Key.KP_A] = false; 1073 1073 break; 1074 1074 case SDL_Keycode.SDLK_KP_AMPERSAND: 1075 - GlobalKeyboard.downKeys.Remove(Key.KP_AMPERSAND); 1075 + GlobalKeyboard.downKeys[(int)Key.KP_AMPERSAND] = false; 1076 1076 break; 1077 1077 case SDL_Keycode.SDLK_KP_AT: 1078 - GlobalKeyboard.downKeys.Remove(Key.KP_AT); 1078 + GlobalKeyboard.downKeys[(int)Key.KP_AT] = false; 1079 1079 break; 1080 1080 case SDL_Keycode.SDLK_KP_B: 1081 - GlobalKeyboard.downKeys.Remove(Key.KP_B); 1081 + GlobalKeyboard.downKeys[(int)Key.KP_B] = false; 1082 1082 break; 1083 1083 case SDL_Keycode.SDLK_KP_BACKSPACE: 1084 - GlobalKeyboard.downKeys.Remove(Key.KP_BACKSPACE); 1084 + GlobalKeyboard.downKeys[(int)Key.KP_BACKSPACE] = false; 1085 1085 break; 1086 1086 case SDL_Keycode.SDLK_KP_BINARY: 1087 - GlobalKeyboard.downKeys.Remove(Key.KP_BINARY); 1087 + GlobalKeyboard.downKeys[(int)Key.KP_BINARY] = false; 1088 1088 break; 1089 1089 case SDL_Keycode.SDLK_KP_C: 1090 - GlobalKeyboard.downKeys.Remove(Key.KP_C); 1090 + GlobalKeyboard.downKeys[(int)Key.KP_C] = false; 1091 1091 break; 1092 1092 case SDL_Keycode.SDLK_KP_CLEAR: 1093 - GlobalKeyboard.downKeys.Remove(Key.KP_CLEAR); 1093 + GlobalKeyboard.downKeys[(int)Key.KP_CLEAR] = false; 1094 1094 break; 1095 1095 case SDL_Keycode.SDLK_KP_CLEARENTRY: 1096 - GlobalKeyboard.downKeys.Remove(Key.KP_CLEARENTRY); 1096 + GlobalKeyboard.downKeys[(int)Key.KP_CLEARENTRY] = false; 1097 1097 break; 1098 1098 case SDL_Keycode.SDLK_KP_COLON: 1099 - GlobalKeyboard.downKeys.Remove(Key.KP_COLON); 1099 + GlobalKeyboard.downKeys[(int)Key.KP_COLON] = false; 1100 1100 break; 1101 1101 case SDL_Keycode.SDLK_KP_COMMA: 1102 - GlobalKeyboard.downKeys.Remove(Key.KP_COMMA); 1102 + GlobalKeyboard.downKeys[(int)Key.KP_COMMA] = false; 1103 1103 break; 1104 1104 case SDL_Keycode.SDLK_KP_D: 1105 - GlobalKeyboard.downKeys.Remove(Key.KP_D); 1105 + GlobalKeyboard.downKeys[(int)Key.KP_D] = false; 1106 1106 break; 1107 1107 case SDL_Keycode.SDLK_KP_DBLAMPERSAND: 1108 - GlobalKeyboard.downKeys.Remove(Key.KP_DBLAMPERSAND); 1108 + GlobalKeyboard.downKeys[(int)Key.KP_DBLAMPERSAND] = false; 1109 1109 break; 1110 1110 case SDL_Keycode.SDLK_KP_DBLVERTICALBAR: 1111 - GlobalKeyboard.downKeys.Remove(Key.KP_DBLVERTICALBAR); 1111 + GlobalKeyboard.downKeys[(int)Key.KP_DBLVERTICALBAR] = false; 1112 1112 break; 1113 1113 case SDL_Keycode.SDLK_KP_DECIMAL: 1114 - GlobalKeyboard.downKeys.Remove(Key.KP_DECIMAL); 1114 + GlobalKeyboard.downKeys[(int)Key.KP_DECIMAL] = false; 1115 1115 break; 1116 1116 case SDL_Keycode.SDLK_KP_DIVIDE: 1117 - GlobalKeyboard.downKeys.Remove(Key.KP_DIVIDE); 1117 + GlobalKeyboard.downKeys[(int)Key.KP_DIVIDE] = false; 1118 1118 break; 1119 1119 case SDL_Keycode.SDLK_KP_E: 1120 - GlobalKeyboard.downKeys.Remove(Key.KP_E); 1120 + GlobalKeyboard.downKeys[(int)Key.KP_E] = false; 1121 1121 break; 1122 1122 case SDL_Keycode.SDLK_KP_ENTER: 1123 - GlobalKeyboard.downKeys.Remove(Key.KP_ENTER); 1123 + GlobalKeyboard.downKeys[(int)Key.KP_ENTER] = false; 1124 1124 break; 1125 1125 case SDL_Keycode.SDLK_KP_EQUALS: 1126 - GlobalKeyboard.downKeys.Remove(Key.KP_EQUALS); 1126 + GlobalKeyboard.downKeys[(int)Key.KP_EQUALS] = false; 1127 1127 break; 1128 1128 case SDL_Keycode.SDLK_KP_EQUALSAS400: 1129 - GlobalKeyboard.downKeys.Remove(Key.KP_EQUALSAS400); 1129 + GlobalKeyboard.downKeys[(int)Key.KP_EQUALSAS400] = false; 1130 1130 break; 1131 1131 case SDL_Keycode.SDLK_KP_EXCLAM: 1132 - GlobalKeyboard.downKeys.Remove(Key.KP_EXCLAM); 1132 + GlobalKeyboard.downKeys[(int)Key.KP_EXCLAM] = false; 1133 1133 break; 1134 1134 case SDL_Keycode.SDLK_KP_F: 1135 - GlobalKeyboard.downKeys.Remove(Key.KP_F); 1135 + GlobalKeyboard.downKeys[(int)Key.KP_F] = false; 1136 1136 break; 1137 1137 case SDL_Keycode.SDLK_KP_GREATER: 1138 - GlobalKeyboard.downKeys.Remove(Key.KP_GREATER); 1138 + GlobalKeyboard.downKeys[(int)Key.KP_GREATER] = false; 1139 1139 break; 1140 1140 case SDL_Keycode.SDLK_KP_HASH: 1141 - GlobalKeyboard.downKeys.Remove(Key.KP_HASH); 1141 + GlobalKeyboard.downKeys[(int)Key.KP_HASH] = false; 1142 1142 break; 1143 1143 case SDL_Keycode.SDLK_KP_HEXADECIMAL: 1144 - GlobalKeyboard.downKeys.Remove(Key.KP_HEXADECIMAL); 1144 + GlobalKeyboard.downKeys[(int)Key.KP_HEXADECIMAL] = false; 1145 1145 break; 1146 1146 case SDL_Keycode.SDLK_KP_LEFTBRACE: 1147 - GlobalKeyboard.downKeys.Remove(Key.KP_LEFTBRACE); 1147 + GlobalKeyboard.downKeys[(int)Key.KP_LEFTBRACE] = false; 1148 1148 break; 1149 1149 case SDL_Keycode.SDLK_KP_LEFTPAREN: 1150 - GlobalKeyboard.downKeys.Remove(Key.KP_LEFTPAREN); 1150 + GlobalKeyboard.downKeys[(int)Key.KP_LEFTPAREN] = false; 1151 1151 break; 1152 1152 case SDL_Keycode.SDLK_KP_LESS: 1153 - GlobalKeyboard.downKeys.Remove(Key.KP_LESS); 1153 + GlobalKeyboard.downKeys[(int)Key.KP_LESS] = false; 1154 1154 break; 1155 1155 case SDL_Keycode.SDLK_KP_MEMADD: 1156 - GlobalKeyboard.downKeys.Remove(Key.KP_MEMADD); 1156 + GlobalKeyboard.downKeys[(int)Key.KP_MEMADD] = false; 1157 1157 break; 1158 1158 case SDL_Keycode.SDLK_KP_MEMCLEAR: 1159 - GlobalKeyboard.downKeys.Remove(Key.KP_MEMCLEAR); 1159 + GlobalKeyboard.downKeys[(int)Key.KP_MEMCLEAR] = false; 1160 1160 break; 1161 1161 case SDL_Keycode.SDLK_KP_MEMDIVIDE: 1162 - GlobalKeyboard.downKeys.Remove(Key.KP_MEMDIVIDE); 1162 + GlobalKeyboard.downKeys[(int)Key.KP_MEMDIVIDE] = false; 1163 1163 break; 1164 1164 case SDL_Keycode.SDLK_KP_MEMMULTIPLY: 1165 - GlobalKeyboard.downKeys.Remove(Key.KP_MEMMULTIPLY); 1165 + GlobalKeyboard.downKeys[(int)Key.KP_MEMMULTIPLY] = false; 1166 1166 break; 1167 1167 case SDL_Keycode.SDLK_KP_MEMRECALL: 1168 - GlobalKeyboard.downKeys.Remove(Key.KP_MEMRECALL); 1168 + GlobalKeyboard.downKeys[(int)Key.KP_MEMRECALL] = false; 1169 1169 break; 1170 1170 case SDL_Keycode.SDLK_KP_MEMSTORE: 1171 - GlobalKeyboard.downKeys.Remove(Key.KP_MEMSTORE); 1171 + GlobalKeyboard.downKeys[(int)Key.KP_MEMSTORE] = false; 1172 1172 break; 1173 1173 case SDL_Keycode.SDLK_KP_MEMSUBTRACT: 1174 - GlobalKeyboard.downKeys.Remove(Key.KP_MEMSUBTRACT); 1174 + GlobalKeyboard.downKeys[(int)Key.KP_MEMSUBTRACT] = false; 1175 1175 break; 1176 1176 case SDL_Keycode.SDLK_KP_MINUS: 1177 - GlobalKeyboard.downKeys.Remove(Key.KP_MINUS); 1177 + GlobalKeyboard.downKeys[(int)Key.KP_MINUS] = false; 1178 1178 break; 1179 1179 case SDL_Keycode.SDLK_KP_MULTIPLY: 1180 - GlobalKeyboard.downKeys.Remove(Key.KP_MULTIPLY); 1180 + GlobalKeyboard.downKeys[(int)Key.KP_MULTIPLY] = false; 1181 1181 break; 1182 1182 case SDL_Keycode.SDLK_KP_OCTAL: 1183 - GlobalKeyboard.downKeys.Remove(Key.KP_OCTAL); 1183 + GlobalKeyboard.downKeys[(int)Key.KP_OCTAL] = false; 1184 1184 break; 1185 1185 case SDL_Keycode.SDLK_KP_PERCENT: 1186 - GlobalKeyboard.downKeys.Remove(Key.KP_PERCENT); 1186 + GlobalKeyboard.downKeys[(int)Key.KP_PERCENT] = false; 1187 1187 break; 1188 1188 case SDL_Keycode.SDLK_KP_PERIOD: 1189 - GlobalKeyboard.downKeys.Remove(Key.KP_PERIOD); 1189 + GlobalKeyboard.downKeys[(int)Key.KP_PERIOD] = false; 1190 1190 break; 1191 1191 case SDL_Keycode.SDLK_KP_PLUS: 1192 - GlobalKeyboard.downKeys.Remove(Key.KP_PLUS); 1192 + GlobalKeyboard.downKeys[(int)Key.KP_PLUS] = false; 1193 1193 break; 1194 1194 case SDL_Keycode.SDLK_KP_PLUSMINUS: 1195 - GlobalKeyboard.downKeys.Remove(Key.KP_PLUSMINUS); 1195 + GlobalKeyboard.downKeys[(int)Key.KP_PLUSMINUS] = false; 1196 1196 break; 1197 1197 case SDL_Keycode.SDLK_KP_POWER: 1198 - GlobalKeyboard.downKeys.Remove(Key.KP_POWER); 1198 + GlobalKeyboard.downKeys[(int)Key.KP_POWER] = false; 1199 1199 break; 1200 1200 case SDL_Keycode.SDLK_KP_RIGHTBRACE: 1201 - GlobalKeyboard.downKeys.Remove(Key.KP_RIGHTBRACE); 1201 + GlobalKeyboard.downKeys[(int)Key.KP_RIGHTBRACE] = false; 1202 1202 break; 1203 1203 case SDL_Keycode.SDLK_KP_RIGHTPAREN: 1204 - GlobalKeyboard.downKeys.Remove(Key.KP_RIGHTPAREN); 1204 + GlobalKeyboard.downKeys[(int)Key.KP_RIGHTPAREN] = false; 1205 1205 break; 1206 1206 case SDL_Keycode.SDLK_KP_SPACE: 1207 - GlobalKeyboard.downKeys.Remove(Key.KP_SPACE); 1207 + GlobalKeyboard.downKeys[(int)Key.KP_SPACE] = false; 1208 1208 break; 1209 1209 case SDL_Keycode.SDLK_KP_TAB: 1210 - GlobalKeyboard.downKeys.Remove(Key.KP_TAB); 1210 + GlobalKeyboard.downKeys[(int)Key.KP_TAB] = false; 1211 1211 break; 1212 1212 case SDL_Keycode.SDLK_KP_VERTICALBAR: 1213 - GlobalKeyboard.downKeys.Remove(Key.KP_VERTICALBAR); 1213 + GlobalKeyboard.downKeys[(int)Key.KP_VERTICALBAR] = false; 1214 1214 break; 1215 1215 case SDL_Keycode.SDLK_KP_XOR: 1216 - GlobalKeyboard.downKeys.Remove(Key.KP_XOR); 1216 + GlobalKeyboard.downKeys[(int)Key.KP_XOR] = false; 1217 1217 break; 1218 1218 case SDL_Keycode.SDLK_l: 1219 - GlobalKeyboard.downKeys.Remove(Key.L); 1219 + GlobalKeyboard.downKeys[(int)Key.L] = false; 1220 1220 break; 1221 1221 case SDL_Keycode.SDLK_LEFT: 1222 - GlobalKeyboard.downKeys.Remove(Key.LEFT); 1222 + GlobalKeyboard.downKeys[(int)Key.LEFT] = false; 1223 1223 break; 1224 1224 case SDL_Keycode.SDLK_LEFTBRACKET: 1225 - GlobalKeyboard.downKeys.Remove(Key.LEFTBRACKET); 1225 + GlobalKeyboard.downKeys[(int)Key.LEFTBRACKET] = false; 1226 1226 break; 1227 1227 case SDL_Keycode.SDLK_LGUI: 1228 - GlobalKeyboard.downKeys.Remove(Key.LGUI); 1228 + GlobalKeyboard.downKeys[(int)Key.LGUI] = false; 1229 1229 break; 1230 1230 case SDL_Keycode.SDLK_m: 1231 - GlobalKeyboard.downKeys.Remove(Key.M); 1231 + GlobalKeyboard.downKeys[(int)Key.M] = false; 1232 1232 break; 1233 1233 case SDL_Keycode.SDLK_MAIL: 1234 - GlobalKeyboard.downKeys.Remove(Key.MAIL); 1234 + GlobalKeyboard.downKeys[(int)Key.MAIL] = false; 1235 1235 break; 1236 1236 case SDL_Keycode.SDLK_MEDIASELECT: 1237 - GlobalKeyboard.downKeys.Remove(Key.MEDIASELECT); 1237 + GlobalKeyboard.downKeys[(int)Key.MEDIASELECT] = false; 1238 1238 break; 1239 1239 case SDL_Keycode.SDLK_MENU: 1240 - GlobalKeyboard.downKeys.Remove(Key.MENU); 1240 + GlobalKeyboard.downKeys[(int)Key.MENU] = false; 1241 1241 break; 1242 1242 case SDL_Keycode.SDLK_MINUS: 1243 - GlobalKeyboard.downKeys.Remove(Key.MINUS); 1243 + GlobalKeyboard.downKeys[(int)Key.MINUS] = false; 1244 1244 break; 1245 1245 case SDL_Keycode.SDLK_MODE: 1246 - GlobalKeyboard.downKeys.Remove(Key.MODE); 1246 + GlobalKeyboard.downKeys[(int)Key.MODE] = false; 1247 1247 break; 1248 1248 case SDL_Keycode.SDLK_MUTE: 1249 - GlobalKeyboard.downKeys.Remove(Key.MUTE); 1249 + GlobalKeyboard.downKeys[(int)Key.MUTE] = false; 1250 1250 break; 1251 1251 case SDL_Keycode.SDLK_n: 1252 - GlobalKeyboard.downKeys.Remove(Key.N); 1252 + GlobalKeyboard.downKeys[(int)Key.N] = false; 1253 1253 break; 1254 1254 case SDL_Keycode.SDLK_NUMLOCKCLEAR: 1255 - GlobalKeyboard.downKeys.Remove(Key.NUMLOCKCLEAR); 1255 + GlobalKeyboard.downKeys[(int)Key.NUMLOCKCLEAR] = false; 1256 1256 break; 1257 1257 case SDL_Keycode.SDLK_o: 1258 - GlobalKeyboard.downKeys.Remove(Key.O); 1258 + GlobalKeyboard.downKeys[(int)Key.O] = false; 1259 1259 break; 1260 1260 case SDL_Keycode.SDLK_OPER: 1261 - GlobalKeyboard.downKeys.Remove(Key.OPER); 1261 + GlobalKeyboard.downKeys[(int)Key.OPER] = false; 1262 1262 break; 1263 1263 case SDL_Keycode.SDLK_OUT: 1264 - GlobalKeyboard.downKeys.Remove(Key.OUT); 1264 + GlobalKeyboard.downKeys[(int)Key.OUT] = false; 1265 1265 break; 1266 1266 case SDL_Keycode.SDLK_p: 1267 - GlobalKeyboard.downKeys.Remove(Key.P); 1267 + GlobalKeyboard.downKeys[(int)Key.P] = false; 1268 1268 break; 1269 1269 case SDL_Keycode.SDLK_PAGEDOWN: 1270 - GlobalKeyboard.downKeys.Remove(Key.PAGEDOWN); 1270 + GlobalKeyboard.downKeys[(int)Key.PAGEDOWN] = false; 1271 1271 break; 1272 1272 case SDL_Keycode.SDLK_PAGEUP: 1273 - GlobalKeyboard.downKeys.Remove(Key.PAGEUP); 1273 + GlobalKeyboard.downKeys[(int)Key.PAGEUP] = false; 1274 1274 break; 1275 1275 case SDL_Keycode.SDLK_PASTE: 1276 - GlobalKeyboard.downKeys.Remove(Key.PASTE); 1276 + GlobalKeyboard.downKeys[(int)Key.PASTE] = false; 1277 1277 break; 1278 1278 case SDL_Keycode.SDLK_PAUSE: 1279 - GlobalKeyboard.downKeys.Remove(Key.PAUSE); 1279 + GlobalKeyboard.downKeys[(int)Key.PAUSE] = false; 1280 1280 break; 1281 1281 case SDL_Keycode.SDLK_PERIOD: 1282 - GlobalKeyboard.downKeys.Remove(Key.PERIOD); 1282 + GlobalKeyboard.downKeys[(int)Key.PERIOD] = false; 1283 1283 break; 1284 1284 case SDL_Keycode.SDLK_POWER: 1285 - GlobalKeyboard.downKeys.Remove(Key.POWER); 1285 + GlobalKeyboard.downKeys[(int)Key.POWER] = false; 1286 1286 break; 1287 1287 case SDL_Keycode.SDLK_PRINTSCREEN: 1288 - GlobalKeyboard.downKeys.Remove(Key.PRINTSCREEN); 1288 + GlobalKeyboard.downKeys[(int)Key.PRINTSCREEN] = false; 1289 1289 break; 1290 1290 case SDL_Keycode.SDLK_PRIOR: 1291 - GlobalKeyboard.downKeys.Remove(Key.PRIOR); 1291 + GlobalKeyboard.downKeys[(int)Key.PRIOR] = false; 1292 1292 break; 1293 1293 case SDL_Keycode.SDLK_q: 1294 - GlobalKeyboard.downKeys.Remove(Key.Q); 1294 + GlobalKeyboard.downKeys[(int)Key.Q] = false; 1295 1295 break; 1296 1296 case SDL_Keycode.SDLK_r: 1297 - GlobalKeyboard.downKeys.Remove(Key.R); 1297 + GlobalKeyboard.downKeys[(int)Key.R] = false; 1298 1298 break; 1299 1299 case SDL_Keycode.SDLK_RETURN: 1300 - GlobalKeyboard.downKeys.Remove(Key.RETURN); 1300 + GlobalKeyboard.downKeys[(int)Key.RETURN] = false; 1301 1301 break; 1302 1302 case SDL_Keycode.SDLK_RETURN2: 1303 - GlobalKeyboard.downKeys.Remove(Key.RETURN2); 1303 + GlobalKeyboard.downKeys[(int)Key.RETURN2] = false; 1304 1304 break; 1305 1305 case SDL_Keycode.SDLK_RGUI: 1306 - GlobalKeyboard.downKeys.Remove(Key.RGUI); 1306 + GlobalKeyboard.downKeys[(int)Key.RGUI] = false; 1307 1307 break; 1308 1308 case SDL_Keycode.SDLK_RIGHT: 1309 - GlobalKeyboard.downKeys.Remove(Key.RIGHT); 1309 + GlobalKeyboard.downKeys[(int)Key.RIGHT] = false; 1310 1310 break; 1311 1311 case SDL_Keycode.SDLK_RIGHTBRACKET: 1312 - GlobalKeyboard.downKeys.Remove(Key.RIGHTBRACKET); 1312 + GlobalKeyboard.downKeys[(int)Key.RIGHTBRACKET] = false; 1313 1313 break; 1314 1314 case SDL_Keycode.SDLK_s: 1315 - GlobalKeyboard.downKeys.Remove(Key.S); 1315 + GlobalKeyboard.downKeys[(int)Key.S] = false; 1316 1316 break; 1317 1317 case SDL_Keycode.SDLK_SCROLLLOCK: 1318 - GlobalKeyboard.downKeys.Remove(Key.SCROLLLOCK); 1318 + GlobalKeyboard.downKeys[(int)Key.SCROLLLOCK] = false; 1319 1319 break; 1320 1320 case SDL_Keycode.SDLK_SELECT: 1321 - GlobalKeyboard.downKeys.Remove(Key.SELECT); 1321 + GlobalKeyboard.downKeys[(int)Key.SELECT] = false; 1322 1322 break; 1323 1323 case SDL_Keycode.SDLK_SEMICOLON: 1324 - GlobalKeyboard.downKeys.Remove(Key.SEMICOLON); 1324 + GlobalKeyboard.downKeys[(int)Key.SEMICOLON] = false; 1325 1325 break; 1326 1326 case SDL_Keycode.SDLK_SEPARATOR: 1327 - GlobalKeyboard.downKeys.Remove(Key.SEPARATOR); 1327 + GlobalKeyboard.downKeys[(int)Key.SEPARATOR] = false; 1328 1328 break; 1329 1329 case SDL_Keycode.SDLK_SLASH: 1330 - GlobalKeyboard.downKeys.Remove(Key.SLASH); 1330 + GlobalKeyboard.downKeys[(int)Key.SLASH] = false; 1331 1331 break; 1332 1332 case SDL_Keycode.SDLK_SLEEP: 1333 - GlobalKeyboard.downKeys.Remove(Key.SLEEP); 1333 + GlobalKeyboard.downKeys[(int)Key.SLEEP] = false; 1334 1334 break; 1335 1335 case SDL_Keycode.SDLK_SPACE: 1336 - GlobalKeyboard.downKeys.Remove(Key.SPACE); 1336 + GlobalKeyboard.downKeys[(int)Key.SPACE] = false; 1337 1337 break; 1338 1338 case SDL_Keycode.SDLK_STOP: 1339 - GlobalKeyboard.downKeys.Remove(Key.STOP); 1339 + GlobalKeyboard.downKeys[(int)Key.STOP] = false; 1340 1340 break; 1341 1341 case SDL_Keycode.SDLK_SYSREQ: 1342 - GlobalKeyboard.downKeys.Remove(Key.SYSREQ); 1342 + GlobalKeyboard.downKeys[(int)Key.SYSREQ] = false; 1343 1343 break; 1344 1344 case SDL_Keycode.SDLK_t: 1345 - GlobalKeyboard.downKeys.Remove(Key.T); 1345 + GlobalKeyboard.downKeys[(int)Key.T] = false; 1346 1346 break; 1347 1347 case SDL_Keycode.SDLK_TAB: 1348 - GlobalKeyboard.downKeys.Remove(Key.TAB); 1348 + GlobalKeyboard.downKeys[(int)Key.TAB] = false; 1349 1349 break; 1350 1350 case SDL_Keycode.SDLK_THOUSANDSSEPARATOR: 1351 - GlobalKeyboard.downKeys.Remove(Key.THOUSANDSSEPARATOR); 1351 + GlobalKeyboard.downKeys[(int)Key.THOUSANDSSEPARATOR] = false; 1352 1352 break; 1353 1353 case SDL_Keycode.SDLK_u: 1354 - GlobalKeyboard.downKeys.Remove(Key.U); 1354 + GlobalKeyboard.downKeys[(int)Key.U] = false; 1355 1355 break; 1356 1356 case SDL_Keycode.SDLK_UNDO: 1357 - GlobalKeyboard.downKeys.Remove(Key.UNDO); 1357 + GlobalKeyboard.downKeys[(int)Key.UNDO] = false; 1358 1358 break; 1359 1359 case SDL_Keycode.SDLK_UNKNOWN: 1360 - GlobalKeyboard.downKeys.Remove(Key.UNKNOWN); 1360 + GlobalKeyboard.downKeys[(int)Key.UNKNOWN] = false; 1361 1361 break; 1362 1362 case SDL_Keycode.SDLK_UP: 1363 - GlobalKeyboard.downKeys.Remove(Key.UP); 1363 + GlobalKeyboard.downKeys[(int)Key.UP] = false; 1364 1364 break; 1365 1365 case SDL_Keycode.SDLK_v: 1366 - GlobalKeyboard.downKeys.Remove(Key.V); 1366 + GlobalKeyboard.downKeys[(int)Key.V] = false; 1367 1367 break; 1368 1368 case SDL_Keycode.SDLK_VOLUMEDOWN: 1369 - GlobalKeyboard.downKeys.Remove(Key.VOLUMEDOWN); 1369 + GlobalKeyboard.downKeys[(int)Key.VOLUMEDOWN] = false; 1370 1370 break; 1371 1371 case SDL_Keycode.SDLK_VOLUMEUP: 1372 - GlobalKeyboard.downKeys.Remove(Key.VOLUMEUP); 1372 + GlobalKeyboard.downKeys[(int)Key.VOLUMEUP] = false; 1373 1373 break; 1374 1374 case SDL_Keycode.SDLK_w: 1375 - GlobalKeyboard.downKeys.Remove(Key.W); 1375 + GlobalKeyboard.downKeys[(int)Key.W] = false; 1376 1376 break; 1377 1377 case SDL_Keycode.SDLK_WWW: 1378 - GlobalKeyboard.downKeys.Remove(Key.WWW); 1378 + GlobalKeyboard.downKeys[(int)Key.WWW] = false; 1379 1379 break; 1380 1380 case SDL_Keycode.SDLK_x: 1381 - GlobalKeyboard.downKeys.Remove(Key.X); 1381 + GlobalKeyboard.downKeys[(int)Key.X] = false; 1382 1382 break; 1383 1383 case SDL_Keycode.SDLK_y: 1384 - GlobalKeyboard.downKeys.Remove(Key.Y); 1384 + GlobalKeyboard.downKeys[(int)Key.Y] = false; 1385 1385 break; 1386 1386 case SDL_Keycode.SDLK_z: 1387 - GlobalKeyboard.downKeys.Remove(Key.Z); 1387 + GlobalKeyboard.downKeys[(int)Key.Z] = false; 1388 1388 break; 1389 1389 case SDL_Keycode.SDLK_AMPERSAND: 1390 - GlobalKeyboard.downKeys.Remove(Key.AMPERSAND); 1390 + GlobalKeyboard.downKeys[(int)Key.AMPERSAND] = false; 1391 1391 break; 1392 1392 case SDL_Keycode.SDLK_ASTERISK: 1393 - GlobalKeyboard.downKeys.Remove(Key.ASTERISK); 1393 + GlobalKeyboard.downKeys[(int)Key.ASTERISK] = false; 1394 1394 break; 1395 1395 case SDL_Keycode.SDLK_AT: 1396 - GlobalKeyboard.downKeys.Remove(Key.AT); 1396 + GlobalKeyboard.downKeys[(int)Key.AT] = false; 1397 1397 break; 1398 1398 case SDL_Keycode.SDLK_CARET: 1399 - GlobalKeyboard.downKeys.Remove(Key.CARET); 1399 + GlobalKeyboard.downKeys[(int)Key.CARET] = false; 1400 1400 break; 1401 1401 case SDL_Keycode.SDLK_COLON: 1402 - GlobalKeyboard.downKeys.Remove(Key.COLON); 1402 + GlobalKeyboard.downKeys[(int)Key.COLON] = false; 1403 1403 break; 1404 1404 case SDL_Keycode.SDLK_DOLLAR: 1405 - GlobalKeyboard.downKeys.Remove(Key.DOLLAR); 1405 + GlobalKeyboard.downKeys[(int)Key.DOLLAR] = false; 1406 1406 break; 1407 1407 case SDL_Keycode.SDLK_EXCLAIM: 1408 - GlobalKeyboard.downKeys.Remove(Key.EXCLAIM); 1408 + GlobalKeyboard.downKeys[(int)Key.EXCLAIM] = false; 1409 1409 break; 1410 1410 case SDL_Keycode.SDLK_GREATER: 1411 - GlobalKeyboard.downKeys.Remove(Key.GREATER); 1411 + GlobalKeyboard.downKeys[(int)Key.GREATER] = false; 1412 1412 break; 1413 1413 case SDL_Keycode.SDLK_HASH: 1414 - GlobalKeyboard.downKeys.Remove(Key.HASH); 1414 + GlobalKeyboard.downKeys[(int)Key.HASH] = false; 1415 1415 break; 1416 1416 case SDL_Keycode.SDLK_LEFTPAREN: 1417 - GlobalKeyboard.downKeys.Remove(Key.LEFTPAREN); 1417 + GlobalKeyboard.downKeys[(int)Key.LEFTPAREN] = false; 1418 1418 break; 1419 1419 case SDL_Keycode.SDLK_LESS: 1420 - GlobalKeyboard.downKeys.Remove(Key.LESS); 1420 + GlobalKeyboard.downKeys[(int)Key.LESS] = false; 1421 1421 break; 1422 1422 case SDL_Keycode.SDLK_PERCENT: 1423 - GlobalKeyboard.downKeys.Remove(Key.PERCENT); 1423 + GlobalKeyboard.downKeys[(int)Key.PERCENT] = false; 1424 1424 break; 1425 1425 case SDL_Keycode.SDLK_PLUS: 1426 - GlobalKeyboard.downKeys.Remove(Key.PLUS); 1426 + GlobalKeyboard.downKeys[(int)Key.PLUS] = false; 1427 1427 break; 1428 1428 case SDL_Keycode.SDLK_QUESTION: 1429 - GlobalKeyboard.downKeys.Remove(Key.QUESTION); 1429 + GlobalKeyboard.downKeys[(int)Key.QUESTION] = false; 1430 1430 break; 1431 1431 case SDL_Keycode.SDLK_QUOTEDBL: 1432 - GlobalKeyboard.downKeys.Remove(Key.QUOTEDBL); 1432 + GlobalKeyboard.downKeys[(int)Key.QUOTEDBL] = false; 1433 1433 break; 1434 1434 case SDL_Keycode.SDLK_RIGHTPAREN: 1435 - GlobalKeyboard.downKeys.Remove(Key.RIGHTPAREN); 1435 + GlobalKeyboard.downKeys[(int)Key.RIGHTPAREN] = false; 1436 1436 break; 1437 1437 case SDL_Keycode.SDLK_UNDERSCORE: 1438 - GlobalKeyboard.downKeys.Remove(Key.UNDERSCORE); 1438 + GlobalKeyboard.downKeys[(int)Key.UNDERSCORE] = false; 1439 1439 break; 1440 1440 case SDL_Keycode.SDLK_LCTRL: 1441 1441 GlobalKeyboard.pressedModifiers.Remove(Mod.LCtrl);
+5 -1
src/GameManager.cs
··· 100 100 Update(); 101 101 Render(ref open); 102 102 103 - GlobalKeyboard.pressedKeys = new(); 103 + for(var i = 0; i < GlobalKeyboard.downKeys.Length; i++) 104 + { 105 + GlobalKeyboard.pressedKeys[i] = false; 106 + } 107 + 104 108 foreach (var key in GlobalMouse.pressedKeys.Keys.ToList()) 105 109 { 106 110 GlobalMouse.pressedKeys[key] = false;
+80 -1
src/Graphics/DrawInstructions.cs
··· 165 165 public IntPtr SDLTexture; 166 166 public Vector2 textureSize; 167 167 public Vector2 sizeMultiplier = new(1, 1); 168 - public bool destroy = true; 168 + public bool destroy = false; 169 169 public float angle; 170 170 public Flip flip; 171 171 public Center center; ··· 256 256 public Texture Destroy(bool des) 257 257 { 258 258 this.destroy = des; 259 + return this; 260 + } 261 + 262 + public Texture GetRect(out Vector4 outRect) 263 + { 264 + SDL_Rect rect = new() 265 + { 266 + x = (int)this.position.X, 267 + y = (int)this.position.Y, 268 + w = (int)(this.textureSize.X * this.sizeMultiplier.X), 269 + h = (int)(this.textureSize.Y * this.sizeMultiplier.Y) 270 + }; 271 + 272 + SDL_RendererFlip tmpFlip = this.flip == Graphics.Flip.Horizontal ? SDL_RendererFlip.SDL_FLIP_HORIZONTAL : this.flip == Graphics.Flip.Vertical ? SDL_RendererFlip.SDL_FLIP_VERTICAL : this.flip == Graphics.Flip.Both ? SDL_RendererFlip.SDL_FLIP_HORIZONTAL | SDL_RendererFlip.SDL_FLIP_VERTICAL : SDL_RendererFlip.SDL_FLIP_NONE; 273 + 274 + Vector2 center = new(); 275 + Vector2 textureSize = this.textureSize; 276 + 277 + switch (this.center) 278 + { 279 + case Graphics.Center.TopLeft: 280 + { 281 + center = new(0, 0); 282 + } 283 + break; 284 + case Graphics.Center.TopMiddle: 285 + { 286 + center = new(rect.w / 2, 0); 287 + } 288 + break; 289 + case Graphics.Center.TopRight: 290 + { 291 + center = new(rect.h, 0); 292 + } 293 + break; 294 + 295 + case Graphics.Center.MiddleLeft: 296 + { 297 + center = new(0, rect.h / 2); 298 + } 299 + break; 300 + case Graphics.Center.Middle: 301 + { 302 + center = new(rect.w / 2, rect.h / 2); 303 + } 304 + break; 305 + case Graphics.Center.MiddleRight: 306 + { 307 + center = new(rect.w, rect.h / 2); 308 + } 309 + break; 310 + 311 + case Graphics.Center.BottomLeft: 312 + { 313 + center = new(0, rect.h); 314 + } 315 + break; 316 + case Graphics.Center.BottomMiddle: 317 + { 318 + center = new(rect.w / 2, rect.h); 319 + } 320 + break; 321 + case Graphics.Center.BottomRight: 322 + { 323 + center = new(rect.w, rect.h); 324 + } 325 + break; 326 + }; 327 + 328 + SDL_Point sdlcenter = new() 329 + { 330 + x = (int)center.X, 331 + y = (int)center.Y 332 + }; 333 + rect.x -= sdlcenter.x; 334 + rect.y -= sdlcenter.y; 335 + 336 + outRect = new(rect.x, rect.y, rect.w, rect.h); 337 + 259 338 return this; 260 339 } 261 340
+8 -11
src/Input/GlobalKeyboard.cs
··· 253 253 254 254 public static class GlobalKeyboard 255 255 { 256 - internal static List<Key> pressedKeys = new(); 257 - internal static List<Key> downKeys = new(); 256 + internal static bool[] pressedKeys = new bool[229]; 257 + internal static bool[] downKeys = new bool[229]; 258 258 internal static List<Mod> pressedModifiers = new(); 259 259 260 260 internal static void AddKey(Key key) 261 261 { 262 - if (!GlobalKeyboard.downKeys.Contains(Key.D)) 263 - { 264 - GlobalKeyboard.downKeys.Add(key); 265 - GlobalKeyboard.pressedKeys.Add(key); 266 - } 262 + GlobalKeyboard.downKeys[(int)key] = true; 263 + GlobalKeyboard.pressedKeys[(int)key] = true; 267 264 } 268 265 269 266 public static bool Down(Key key) 270 267 { 271 - return downKeys.Contains(key); 268 + return downKeys[(int)key]; 272 269 } 273 270 274 271 public static bool Down(Key key, params Mod[] mods) ··· 283 280 } 284 281 } 285 282 286 - return GlobalKeyboard.downKeys.Contains(key) && containsModifiers; 283 + return GlobalKeyboard.downKeys[(int)key] && containsModifiers; 287 284 } 288 285 289 286 //public static KeyboardDownBuilder DownExt(Key key) ··· 293 290 294 291 public static bool Pressed(Key key) 295 292 { 296 - return pressedKeys.Contains(key); 293 + return pressedKeys[(int)key]; 297 294 } 298 295 299 296 public static bool Pressed(Key key, params Mod[] mods) ··· 308 305 } 309 306 } 310 307 311 - return GlobalKeyboard.pressedKeys.Contains(key) && containsModifiers; 308 + return GlobalKeyboard.pressedKeys[(int)key] && containsModifiers; 312 309 } 313 310 314 311 //public static KeyboardPressedBuilder PressedExt(Key key)