シフトを押しっぱなし(リピート)にしてるとシフトを押している/押していないの判定が交互に行われてシフトを押してない扱いになるタイミングがあるだけだから
リピート状態の時にスイッチで制御してリピートの時は向きを固定するとかで処理を分ければいいだけだと思うよ