Unityで左右キーを使って「フルスクリーンモード」「ウィンドウモード」を切り替えたとき、そのあと左右キーの入力判定がずっと残り続ける(押されたままになる)という不具合に遭遇しました。
環境は以下
- MacOSビルド
- Unity 6.1
- InputSystem 1.14.0
フルスクリーンモード(FullScreenMode.FullScreenWindow)とウィンドウモード(FullScreenMode.Windowed)の切り替えは
Screen.SetResolution(size.x, size.y, screenMode);
で実装しています。
確認していませんが、Macとキー入力の組み合わせでのみ発生すると言っている方がいました。
原因
どうやらUnityの不具合のようです。

Input system sends keyboard events continuously after fullscreen mode change
Hello.Iwasmakingafullscreenswitchinsettingsformygame,andInoticedastrangebug:ifIswitchthefullscreenmodeusinganarrowkeypress(basicallyhorizontalnavigationmove),th...
解消方法
Screen.SetResolution(size.x, size.y, screenMode);
で切り替えた後に、
InputSystem.ResetDevice(Keyboard.current);
でキーボード入力をリセットすることで、不具合が起こらなくなりました。
コメント