Closed 23tas9 closed 1 year ago
追加の考慮事項
OpenSiv3D for Web の基幹的な部分の修正であるため、Siv3D 作者 (@Reputeless) にもレビューを依頼しました。
preventDefault()
は、個別のキーに設定できるのでしょうかpreventDefault()
を制御することは技術的に可能ですか? @nokotan
可能なのであれば、文字列 / 定数など、何らかの引数を渡して、有効無効を切り替える Web 独自 API を検討してください。
デフォルトは現状と同じ(preventDefault()
しない)で良いと思います。
- preventDefault() は、個別のキーに設定できるのでしょうか
if 文による条件分岐で呼ぶ/呼ばないの制御が可能です
- C++ API 側から preventDefault() を制御することは技術的に可能ですか?
C++ API が何を指しているのかわかりませんが、C/C++ から (ビルド時にあらかじめ登録した) JavaScript の関数は自由に呼び出せます。
では s3d::Platform::Web::EnableKeyboardEvent(... , false);
的な感じでよろしくお願いします。
「あらゆるブラウザのショートカットを無効にする」も preventDefault()
を使う実装ですか?
そういうアプリがほかにもよくあるなら、 s3d::Platform::Web::DisbaleKeyboardShortcuts();
を入れてもよさそうです。
追加の考慮事項
追加する機能の内容 | Describe the solution you'd like 指定したキーをpreventDefault()したい
その機能の追加によって解決する問題 | Is your feature request related to a problem? Please describe. Google Chromeには機能のショートカットがありますが、ゲームでキーボード操作を実装する際にこれらの機能が邪魔になることがあります。
問題 WASDキーで移動、Ctrlキーでダッシュなどを実装する際、現在のページを保存するオプションが開かれゲームが中断される。
解決 Ctrlキー+SキーなどpreventDefault()できればこの問題が解決されます。