I'm using SDL.NET with C#. Recently, a bug has appeared where the library does not detect if the shift key is held down; although it used to do so.
private static void KeyboardEventHandler(object sender, KeyboardEventArgs args)
{
case (Key.Comma):
if (args.Mod == ModifierKeys.LeftShift || args.Mod == ModifierKeys.RightShift || args.Mod == ModifierKeys.ShiftKeys) { actionBuffer = GameAction.MoveU; Console.WriteLine("Going up..."); }
else { actionBuffer = GameAction.Pickup; }
break;
case (Key.Period):
if (args.Mod == ModifierKeys.LeftShift || args.Mod == ModifierKeys.RightShift || args.Mod == ModifierKeys.ShiftKeys) { actionBuffer = GameAction.MoveD; Console.WriteLine("Going down..."); }
else { actionBuffer = GameAction.Wait; }
break;
default:
actionBuffer = GameAction.Null;
break;
}
}
However, recently, the checks to see if a shift key is held have returned incorrectly false, despite previously previously evaluating to true.
This means the function never returns the "MoveU" or "MoveD" values, just the "Pickup" and "Wait" values. Why is this? Thanks in advance.