キーボードのボタンを押してもButtonノードのpressed()が反応してしまう。
問題点
Buttonノードのpressed()を使用した時に
![](https://assets.st-note.com/img/1704843736839-P2JpZK2qho.png)
![](https://assets.st-note.com/img/1704843725032-cxHneXjovZ.png)
画面上のbutton(Load)だけでなく、
![](https://assets.st-note.com/img/1704843827581-Cs7hLO7pvi.png)
キーボードのスペースキー、エンターキーでも反応してしまう。
解決法
インスペクターのControlのFocus ModeをNoneに設定することで解決する。
![](https://assets.st-note.com/img/1704843932755-Sk7PLztiVI.png)
解説/ヒント
![](https://assets.st-note.com/img/1704844071349-FyPmVSDxL4.png?width=800)
ChatGPT先生の説明
フォーカスアクセスモード(None、Click、All):
FocusModeは、コントロールがフォーカスを得る方法を決定する異なるモードを持つ列挙型です:
None:コントロールはフォーカスを得ることができません。キーボード、ゲームパッド、またはマウスからの入力は受け取りません。
Click:クリックされたときにコントロールがフォーカスを得ることができます。ボタンやインタラクティブなコントロールに適しています。
All:クリックまたはナビゲーション(キーボードやゲームパッドの使用など)を通じて、コントロールがフォーカスを得ることができます。
Noneにすることで、キーボードの入力を受け取っていないらしい。
この記事が気に入ったらサポートをしてみませんか?