If the button is set to be pressed, then check if the button is pressed. If it is, then perform the function. If it's not, then do nothing. If the button is set to be released, then check if the button is released. If it is, then perform the function. If it's not, then do nothing
1003 {
1004 #region YBAX Keys
1005 if (ControllerFuncs.Y.State == Function.ButtonState.Released)
1006 {
1007 if (prevState.Buttons == GamepadButtonFlags.Y && state.Buttons != GamepadButtonFlags.Y)
1008 {
1010 prevState.Buttons = GamepadButtonFlags.None;
1011 YPressedLabel.Text = "Y: released";
1012 }
1013 else
1014 YPressedLabel.Text = "Y: not pressed";
1015 }
1016 else
1017 {
1018 if (state.Buttons == GamepadButtonFlags.Y)
1019 {
1021 prevState.Buttons = GamepadButtonFlags.None;
1022 YPressedLabel.Text = "Y: pressed";
1023 }
1024 else
1025 YPressedLabel.Text = "Y: not pressed";
1026 }
1027 if (ControllerFuncs.B.State == Function.ButtonState.Released)
1028 {
1029 if (prevState.Buttons == GamepadButtonFlags.B && state.Buttons != GamepadButtonFlags.B)
1030 {
1032 prevState.Buttons = GamepadButtonFlags.None;
1033 state.Buttons = GamepadButtonFlags.None;
1034 BPressedLabel.Text = "B: released";
1035 }
1036 else
1037 BPressedLabel.Text = "B: not pressed";
1038 }
1039 else
1040 {
1041 if (state.Buttons == GamepadButtonFlags.B)
1042 {
1044 prevState.Buttons = GamepadButtonFlags.None;
1045 BPressedLabel.Text = "B: pressed";
1046 }
1047 else
1048 BPressedLabel.Text = "B: not pressed";
1049 }
1050 if (ControllerFuncs.A.State == Function.ButtonState.Released)
1051 {
1052 if (prevState.Buttons == GamepadButtonFlags.A && state.Buttons != GamepadButtonFlags.A)
1053 {
1055 prevState.Buttons = GamepadButtonFlags.None;
1056 APressedLabel.Text = "A: released";
1057 }
1058 else
1059 APressedLabel.Text = "A: not pressed";
1060 }
1061 else
1062 {
1063 if (state.Buttons == GamepadButtonFlags.A)
1064 {
1066 prevState.Buttons = GamepadButtonFlags.None;
1067 APressedLabel.Text = "A: pressed";
1068 }
1069 else
1070 APressedLabel.Text = "A: not pressed";
1071 }
1072 if (ControllerFuncs.X.State == Function.ButtonState.Released)
1073 {
1074 if (prevState.Buttons == GamepadButtonFlags.X && state.Buttons != GamepadButtonFlags.X)
1075 {
1077 prevState.Buttons = GamepadButtonFlags.None;
1078 XPressedLabel.Text = "X: released";
1079 }
1080 else
1081 XPressedLabel.Text = "X: not pressed";
1082 }
1083 else
1084 {
1085 if (state.Buttons == GamepadButtonFlags.X)
1086 {
1088 prevState.Buttons = GamepadButtonFlags.None;
1089 XPressedLabel.Text = "X: pressed";
1090 }
1091 else
1092 XPressedLabel.Text = "X: not pressed";
1093 }
1094 #endregion
1095
1096 #region Back & Start Keys
1097 if (ControllerFuncs.Start.State == Function.ButtonState.Released)
1098 {
1099 if (prevState.Buttons == GamepadButtonFlags.Start && state.Buttons != GamepadButtonFlags.Start)
1100 {
1102 prevState.Buttons = GamepadButtonFlags.None;
1103 StartPressedLabel.Text = "Start: released";
1104 }
1105 else
1106 StartPressedLabel.Text = "Start: not pressed";
1107 }
1108 else
1109 {
1110 if (state.Buttons == GamepadButtonFlags.Start)
1111 {
1113 prevState.Buttons = GamepadButtonFlags.None;
1114 StartPressedLabel.Text = "Start: pressed";
1115 }
1116 else
1117 StartPressedLabel.Text = "Start: not pressed";
1118 }
1119 if (ControllerFuncs.Back.State == Function.ButtonState.Released)
1120 {
1121 if (prevState.Buttons == GamepadButtonFlags.Back && state.Buttons != GamepadButtonFlags.Back)
1122 {
1124 prevState.Buttons = GamepadButtonFlags.None;
1125 BackPressedLabel.Text = "Back: released";
1126 }
1127 else
1128 BackPressedLabel.Text = "Back: not pressed";
1129 }
1130 else
1131 {
1132 if (state.Buttons == GamepadButtonFlags.Back)
1133 {
1135 prevState.Buttons = GamepadButtonFlags.None;
1136 BackPressedLabel.Text = "Back: pressed";
1137 }
1138 else
1139 BackPressedLabel.Text = "Back: not pressed";
1140 }
1141 #endregion
1142
1143 #region Shoulders
1144 if (ControllerFuncs.RShoulder.State == Function.ButtonState.Released)
1145 {
1146 if (prevState.Buttons == GamepadButtonFlags.RightShoulder && state.Buttons != GamepadButtonFlags.RightShoulder)
1147 {
1149 prevState.Buttons = GamepadButtonFlags.None;
1150 shoulderRightLabel.Text = "Right: released";
1151 }
1152 else
1153 shoulderRightLabel.Text = "Right: not pressed";
1154 }
1155 else
1156 {
1157 if (state.Buttons == GamepadButtonFlags.RightShoulder)
1158 {
1160 prevState.Buttons = GamepadButtonFlags.None;
1161 shoulderRightLabel.Text = "Right: pressed";
1162 }
1163 else
1164 shoulderRightLabel.Text = "Right: not pressed";
1165 }
1166 if (ControllerFuncs.LShoulder.State == Function.ButtonState.Released)
1167 {
1168 if (prevState.Buttons == GamepadButtonFlags.LeftShoulder && state.Buttons != GamepadButtonFlags.LeftShoulder)
1169 {
1171 prevState.Buttons = GamepadButtonFlags.None;
1172 shoulderLeftLabel.Text = "Left: released";
1173 }
1174 else
1175 shoulderLeftLabel.Text = "Left: not pressed";
1176 }
1177 else
1178 {
1179 if (state.Buttons == GamepadButtonFlags.LeftShoulder)
1180 {
1182 prevState.Buttons = GamepadButtonFlags.None;
1183 shoulderLeftLabel.Text = "Left: pressed";
1184 }
1185 else
1186 shoulderLeftLabel.Text = "Left: not pressed";
1187 }
1188
1189 #endregion
1190
1191 #region L3 & R3
1192 if (ControllerFuncs.R3.State == Function.ButtonState.Released)
1193 {
1194 if (prevState.Buttons == GamepadButtonFlags.RightThumb && state.Buttons != GamepadButtonFlags.RightThumb)
1195 {
1197 prevState.Buttons = GamepadButtonFlags.None;
1198 r3PressedLabel.Text = "R3: released";
1199 }
1200 else
1201 r3PressedLabel.Text = "R3: not pressed";
1202 }
1203 else
1204 {
1205 if (state.Buttons == GamepadButtonFlags.RightThumb)
1206 {
1208 prevState.Buttons = GamepadButtonFlags.None;
1209 r3PressedLabel.Text = "R3: pressed";
1210 }
1211 else
1212 r3PressedLabel.Text = "R3: not pressed";
1213 }
1214
1215 if (ControllerFuncs.L3.State == Function.ButtonState.Released)
1216 {
1217 if (prevState.Buttons == GamepadButtonFlags.LeftThumb && state.Buttons != GamepadButtonFlags.LeftThumb)
1218 {
1220 prevState.Buttons = GamepadButtonFlags.None;
1221 l3PressedLabel.Text = "L3: released";
1222 }
1223 else
1224 l3PressedLabel.Text = "L3: not pressed";
1225 }
1226 else
1227 {
1228 if (state.Buttons == GamepadButtonFlags.LeftThumb)
1229 {
1231 prevState.Buttons = GamepadButtonFlags.None;
1232 l3PressedLabel.Text = "L3: pressed";
1233 }
1234 else
1235 l3PressedLabel.Text = "L3: not pressed";
1236 }
1237 #endregion
1238
1239 #region DPAD BUTTONS
1240 if (ControllerFuncs.DPadUp.State == Function.ButtonState.Released)
1241 {
1242 if (prevState.Buttons == GamepadButtonFlags.DPadUp && state.Buttons != GamepadButtonFlags.DPadUp)
1243 {
1245 prevState.Buttons = GamepadButtonFlags.None;
1246 DPadUpLabel.Text = "Up: released";
1247 }
1248 else
1249 DPadUpLabel.Text = "Up: not pressed";
1250 }
1251 else
1252 {
1253 if (state.Buttons == GamepadButtonFlags.DPadUp)
1254 {
1256 prevState.Buttons = GamepadButtonFlags.None;
1257 DPadUpLabel.Text = "Up: pressed";
1258 }
1259 else
1260 DPadUpLabel.Text = "Up: not pressed";
1261 }
1262
1263 if (ControllerFuncs.DPadRight.State == Function.ButtonState.Released)
1264 {
1265 if (prevState.Buttons == GamepadButtonFlags.DPadRight && state.Buttons != GamepadButtonFlags.DPadRight)
1266 {
1268 prevState.Buttons = GamepadButtonFlags.None;
1269 DPadRightLabel.Text = "Right: released";
1270 }
1271 else
1272 DPadRightLabel.Text = "Right: not pressed";
1273 }
1274 else
1275 {
1276 if (state.Buttons == GamepadButtonFlags.DPadRight)
1277 {
1279 prevState.Buttons = GamepadButtonFlags.None;
1280 DPadRightLabel.Text = "Right: pressed";
1281 }
1282 else
1283 DPadRightLabel.Text = "Right: not pressed";
1284 }
1285
1286 if (ControllerFuncs.DPadDown.State == Function.ButtonState.Released)
1287 {
1288 if (prevState.Buttons == GamepadButtonFlags.DPadDown && state.Buttons != GamepadButtonFlags.DPadDown)
1289 {
1291 prevState.Buttons = GamepadButtonFlags.None;
1292 DPadDownLabel.Text = "Down: released";
1293 }
1294 else
1295 DPadDownLabel.Text = "Down: not pressed";
1296 }
1297 else
1298 {
1299 if (state.Buttons == GamepadButtonFlags.DPadDown)
1300 {
1302 prevState.Buttons = GamepadButtonFlags.None;
1303 DPadDownLabel.Text = "Down: pressed";
1304 }
1305 else
1306 DPadDownLabel.Text = "Down: not pressed";
1307 }
1308
1309 if (ControllerFuncs.DPadLeft.State == Function.ButtonState.Released)
1310 {
1311 if (prevState.Buttons == GamepadButtonFlags.DPadLeft && state.Buttons != GamepadButtonFlags.DPadLeft)
1312 {
1314 prevState.Buttons = GamepadButtonFlags.None;
1315 DPadLeftLabel.Text = "Left: released";
1316 }
1317 else
1318 DPadLeftLabel.Text = "Left: not pressed";
1319 }
1320 else
1321 {
1322 if (state.Buttons == GamepadButtonFlags.DPadLeft)
1323 {
1325 prevState.Buttons = GamepadButtonFlags.None;
1326 DPadLeftLabel.Text = "Left: pressed";
1327 }
1328 else
1329 DPadLeftLabel.Text = "Left: not pressed";
1330 }
1331
1332 #endregion
1333
1334 }
object PerformFunction(Function f)