I came up with a solution for this.  Since I am on windows, I found I can
just check GetAsyncKeyState between keypressed and readkey like this:
         If PTCCRT.KeyPressed then
            Begin
	   isShiftDown := GetAsyncKeyState(VK_Shift);
                 MyKey:=PTCCRT.ReadKey;
            End;
James