Recent flag re-order broke it since bits overlap, but logic here was far too complicated & fragile, Checked the type of each button when testing which direction to handle events as well as block direction. Now store the block-flipped state as a flag.