MonoGame 3.6 の UWP10 プロジェクトでキーボード操作を行うと遅延する

通常 Keyboard.GetState メソッドでキーボードの状態を取得すれば現フレームの段階でのキーの押下状態を取得できます。一度に複数のキーを同時に押しても問題ありません(キーボードの配線によってはキー同時押下の上限はあります)。

しかし、UWP10 のプロジェクトを作成し、Windows 10 の環境で実行すると、押下状態を瞬時に取得することはできず、段階的に1キーずつ取得されるような動作になってしまいます。しかも、しばらく押したままにして離すと、一定時間押下中判定のままになってしまい、その後これまた段階的に1キーずつ放すような状態の取得を行います。

ちなみに UWP8.1 のプロジェクトで同じ処理を行うとまったく問題はありません。

参考にその動作を録画してみたので、実際に見てみるとわかると思います。最初が UWP8.1 のプロジェクトでそのあとが UWP10 のプロジェクトでの動作です。

この件についてコミュニティで探してみると同じような報告があり、どうやら MonoGame 3.6 での Windows 10 用の実装に問題があるようです。3.6 リリース後に修正したとの書き込みがあり、とりあえず修正したものを使いたい場合は開発ビルド版を使ってくださいとのことですが、ダウンロードページでそれをダウンロードしようとしてもファイルが見つからないようでした (リンクミス?)。

とりあえずは現状で我慢するか、開発版を探す、UWP8.1 を使う、3.7 を待つのいずれかになりそうです。私はずっと UWP8.1 版を使っていたので気づきませんでした( ^ ^;)。

同人誌、同人ゲーム、同人ソフトのダウンロードショップ - DLsite
Share this...

[ゲーム制作] しゃべりながらゲーム製作やってみます #02 とりあえずなんか動かす

第2回をアップしました。15分ぐらいでまとめたかったのですが、少し長くなってしまいましたね。

Share this...

ソフトウェアキーボード&マウスパッドアプリ「ちーたんタッチボード Ver 0.30」公開しました

ちーたんタッチボード Ver 0.30 を公開しました。当初はちょっとしたプログラム改修のみを行う予定だったのですが、なんだかんだ手を入れていったらやや大きめの改修になってしまいました。なので Ver 0.30 です。

代表的な改修点は以下のものになります。

  • ボード作成 Excel ツール
  • ボードの前回の位置を記憶
  • 修飾キー(Shift や Ctrl)の動作を Windows 標準のタッチキーボードに準拠
  • ボードコンテナの設定に「KeyReleaseTimingWhenActiveWindowChange」を追加し、アクティブウィンドウを切り替えたときにトグルキーの解除タイミングを設定できるようにした
  • IME 変更時にボードの色が変更するタイミングを 200ms ほど遅延させました。これにより頻繁にボードの背景色が変更されるのを防ぎます。
  • Windows XP で起動エラーになっていた問題
  • 設定画面において色の変更が正しくなかった点
  • 設定画面で変更せずにキャンセルしても確認ダイアログが表示される問題修正(初回保存前は例外)
  • ボードやキーの「ImageRenderMode」パラメータの「Fill」の動作が「Uniform」に変更されます

ボード作成 Excel ツール

ようやくというかやっとできました。初めてちーたんタッチボードを作ってから約8か月になります。

以前の投稿でも書いたのですが当初は XAML ファイルからボードの定義を作成するように考えていました。しかし、ちーたんタッチボード用に拡張パラメータを設定しようとすると XAML だけでは限界があったので、いろいろ悩んだ結果 Excel ツールとして作成することにしました。

Excel なら図形も使えるしセルも使えるしマクロも使えるしフォームも使えると割となんでもできます。今回はレイアウトを図形で作成し、パラメータはセルにテーブル形式で入力するようにしました。そしてそれらの入力情報からマクロでボードコンテナ定義ファイル(JSON ファイル)として出力するようにしました。

ツールはダウンロードページから、使い方は別途専用ページを作成しましたのでそちらをご覧ください。

Excel 最強。

ボードの前回の位置を記憶

割と要望が多かった前回のボードの位置を記憶する機能を追加しました。これはボードを切り替えた時やちーたんタッチボードを起動したときなどに適用されます。

なぜ今まで実装していなかったのかというと、ボード切り替えのタイミングでボードが初期位置にないとボード切り替えボタンが毎回異なる場所に配置されてしまうため、連続でボードを切り替える場合に結構面倒だと思ったからです。

今回その対策については特に行っておりませんが、ボードの前回の位置を記憶するかどうかは設定画面で切り替え可能です。

修飾キー(Shift や Ctrl)の動作を Windows 標準のタッチキーボードに準拠

Shift や Ctrl の押下動作は今まで独自に考えて実装していました。普通に使う分には特に問題ないのですが、例えばエクスプローラー上でファイルを複数選択する際に Shift キーを押しながらマウス操作を行っても複数選択することはできませんでした。これは Windows 標準の動作と異なる処理を行っていたからです。

Ver 0.30 では限りなく Windows 標準のタッチキーボードと同じ動作になるように実装したので、Shift キーとマウスパッドを同時に配置してエクスプローラーでファイルを複数するような動作ができるようになりました。もちろん Ctrl や Alt も同様です。また他のアプリケーションでも同じ動作ができるようになっています。

用は今までは内側(ちーたんタッチボード)だけしか考えていなかったのを、外部アプリケーションも考えて改修してみたということです。

実はまだ Windows 標準のタッチキーボードと動作が違うところがあるのですが、あまり気にならないところなのでおいおい直していきたいと思います。

ボードコンテナの設定に「KeyReleaseTimingWhenActiveWindowChange」を追加し、アクティブウィンドウを切り替えたときにトグルキーの解除タイミングを設定できるようにした

修飾キー以外、例えばペイントソフト用にスペースキーをトグルにしたとき、トグルを解除するのを忘れたまま他のウィンドウをアクティブにしてしまうと、そのままスペースが連続して入力されてしまうという現象が前のバージョンまでありました。

Ver 0.30 ではウィンドウが切り替わったことを検知してトグルキーを解除する機能を追加しました。この設定は標準では無効になっていますが、ボードの設定で有効にすることができます。(文字キーをトグルにすることはほとんどないため)

配布しているペイント用のボードにはこの設定を適用しています。

Windows XP で起動エラーになっていた問題

すみません、いつの間にかエラーになっていました。どうやら XP と WPF のアイコンの問題だったのでうまく回避するようにしました。

設定画面において色の変更が正しくなかった点

詳しくは前に投稿した記事をご覧ください。

 

他にも変更点はありますが詳しくは更新履歴のページを参照してください。

 

あと、ホームページの更新履歴のほうで「ちーたんタッチボードのページを40か国語に対応しました」って書いてしまったんですが実はまだ「概要」と「ダウンロード」ページしかできてません orz 。時間があれば追記していきたいと思います。

Share this...

[予定] ちーたんタッチボード Ver.0.30 について

近々Ver. 0.30 を公開する予定でいます。主な変更点としては、ボードの前回の位置の記憶や XP 環境で起動エラーになっていた問題が修正されます。

またアプリケーションとは直接関係ないのですが、ボードの作成ツールの提供も行う予定です。元々 XAML から生成できるようにする予定でしたが、独自パラメータの設定が難しかったので Excel ツールの提供に変更しました。Office が入っており、マクロが使用できる環境あれば使うことができます。

公開日は年内になるかどうかは微妙なところです。もしかしたら年始になるかもしれません。

Share this...

ソフトウェアキーボード&マウスパッドアプリ「ちーたんタッチボード Ver 0.23」公開しました

なかなか手が付かずに更新できていませんでしたが、小規模なバージョンアップを行いました。内容は

  • 新しいバージョンが公開されているかどうかチェック。設定で変更可能。(デフォルト OFF)
  • Windows で高負荷がかかっている状態でマウスパッドでマウスカーソルを移動した際、マウスカーソルが大きく移動する現象を回避 (加速モード時)

です。高負荷状態のときにマウスカーソルが飛ぶ現象は自分でも割とあったので、マウスパッド使っている方は適用してみるといいかもしれません。

今回は小規模なものなのでバージョンは +0.01 にしました。もう少し大きめな機能拡張とかも考えているのですが、実装時期はまだ未定です。実装したらたぶん 0.30 ぐらいにするんじゃないかと思っています。

公開した後に気づいたのですが、既知の不具合として、設定画面で色設定あたりを変更するたびに微妙に色が変わってしまっているような気がします。そのせいでダイアログを閉じるたびに変更破棄確認ダイアログが出てしまっているようです。これについては次のバージョンで治したいと思います。(Ver 0.22 でもでてたっぽいです・・・。)

Share this...

ソフトウェアキーボード&マウスパッドアプリ「ちーたんタッチボード Ver 0.22」公開しました

0.01 だけ上げたマイナーバージョンアップです。不具合の修正や内部の仕様を変更したものなので見た目や操作などで大きく変わったところはありません。

ちーたんタッチボード本体についてはボードコンテナ定義ファイルの仕様変更に対応した修正がほとんどなので機能的には Ver 0.21 とほとんど変わっていません。「CapsLock」の送信キーを正しいものに変えたりとか、マウスパッドでマウスカーソルのキーエリアをタップしたときの挙動などが変わっています。

付属のボードコンテナ定義ファイルとダウンロードできるボードコンテナ定義ファイルのレイアウトや画像などを更新しました。こちらもそこまで変わっていませんがキーを増やしたり位置を変えたりしています。また、すべてのボードコンテナ定義ファイルにおいてちーたんタッチボード Ver 0.22 の仕様に合わせて内部のパラメータを修正しました。

一応過去のバージョンの定義ファイルも読み込めるようにはしていますが、このまま対応していくかどうかは、今後定義がどのように変わっていくかに影響されるかもしれません。

同人誌、同人ゲーム、同人ソフトのダウンロードショップ - DLsite
Share this...

ソフトウェアキーボード&マウスパッドアプリ「ちーたんタッチボード Ver 0.21」公開しました

先日ブログに書いた通り Ver 0.21 を公開しました。不具合の修正だけなのでバージョンを 0.01 だけ上げています。

修正した不具合の内容は

  • 一部のアプリケーションでカーソルキーや特殊キーを押したときに別のキーが押されたかのように動作する不具合
  • DirectInput を使用したアプリケーションに対してキーが反応しない不具合

です。主にゲーム系のアプリケーションに対して使用したときの不具合対応となっています。

Share this...

[予定] ちーたんタッチボード Ver 0.21

近日 Ver 0.20 までのバージョンにあった不具合を修正した Ver 0.21 を公開する予定です。

修正される不具合は「いくつかのアプリケーションにおいて正しいキーが送信されない」になります。特にゲーム系のアプリケーションで発生する可能性があるため、機能拡張はいったんおいておいてこの不具合を修正することにします。

現在動作確認中ですので週末ぐらいにはリリースできると思いますのでお待ちください。

Share this...

ちーたんタッチボード ボードコンテナ定義ファイルの仕様を公開しました

ちーたんタッチボードを公開してから少し時間が経ってしまいましたが、ユーザーが自分でレイアウトを設定することが可能なボードコンテナ定義ファイルの仕様を公開しました。以下のページから参照できます。

どういったパラメータがあるかを定義しているので、それに従って設定ファイルを作成・修正してください。ただ構文を間違ったりすると起動したときにアプリケーションが落ちると思いますので注意してください。特に設定ファイルを公開する場合は事前に動作確認をお願いします。

サンプルとかは現在特に用意しておりません。ダウンロードページで公開しているボードパッケージを参照していただいた方がイメージが沸くかと思います。ダウンロードで用意しているボードコンテナ定義ファイルは改行とか一切ないので、JSON 整形ツールなどを使用して整形してください。ただし、ツールやサービスによっては JSON の仕様通りに正しく改行などが処理されない場合があります。そうなるとどう修正しても起動時にエラーになりますのでご注意ください。

ドキュメントのほうもそこそこ溜まってきたので、この後はプログラムの方に手を付けていきたいと思います。主に不具合修正がちょこっとと、Ver 0.10 で実装しきれなかったものを追加する予定です。

Share this...

ちーたんタッチボードが窓の杜にてレビュー掲載されました

今年度に入り、最初のアプリとして Windows タブレット向けソフトウェアキーボード&マウスパッドアプリ「ちーたんタッチボード」を公開しましたが、窓の杜 様のサイトにてこのアプリのレビューが掲載されました。以下の URL 先から見ることができます。

窓の杜では過去に Windows Mobile 向け Twitter クライアント「ちーたん」が2回レビュー、チェックリスト管理ソフト「ラステイル」がライブラリに登録されていますが、今回新たにちーたんタッチボードを紹介していただきました。とても感謝しております。

ほんとはいろいろ書きたいこともあるのですが、今はちーたんタッチボードのドキュメントを作ったりとちょっとやることがあるので暇になった時に書きたいと思いますが(未定)、今後もちーたんタッチボードの機能は改良していく予定です。ただ、他のアプリも作っている最中なので少しずつ改良していっていくつか機能が溜まったら随時公開していく感じになりそうです。なのでそんなに高頻度でのリリースにはならないかと思います。まあ、ボードのレイアウトとかは定義ファイル書き換えればいいのでアプリケーションを更新する必要はあまりないんですけれどね。

ということで短めでしたが今年度もアプリケーションの公開や Tips の公開をやっていく予定ですのでよろしくお願いします。

Share this...