2回ボタン操作を受けつけたいのに、ボタン入力の処理は1回しかしていないのが、そもそもおかしい感じですね。 またボタンの内容はVSYNCなどのタイミングで更新されるので、このソースの場合ならボタン入力処理の前にはVSYNCを入れるようにした方がいいんじゃないかと思います。 あとBUTTONの引数が0だと長押し(実際にはかなり短くても)で連続処理されちゃうので、「2: 押された瞬間(リピート機能なし)」である2を指定した方がいいと思います。