Technically Impossible

Lets look at the weak link in your statement. Anything "Technically Impossible" basically means we haven't figured out how yet.

何が同じで、何が違うのか? - Windowsフォームアプリケーション、Windowsフォームアプリ、そしてWPFアプリケーション


Visual Studioで新規プロジェクトを作成するとき、特にWindowsデスクトップのプロジェクトには3つの選択肢がある。冒頭の画像が、その選択画面だ。必要な情報だけを抽出すると、つぎのようになる。

Windowsフォームアプリケーション (.NET Framework) Windows Forms (WinForms)ユーザーインターフェイスを含むアプリケーション
Windowsフォームアプリ .NET Windowsフォーム(WinForms)アプリ
WPFアプリケーション .NET WPFアプリケーション

一体どれだけのユーザーが、これを区別、理解できるだろう。また翻訳担当者、責任者は、この表現によって、翻訳が意図していること、事実を共通認識としてユーザーに持たせることができると確信していたのだろうか。
後続する画面にてフレームワークを選択することになる。そこで提示される一覧の違いから、選択肢の違いを汲み取ることはできるのだが、最初から明確に理解、判別できるように明示するべきではないか、と一ユーザーとして思うのだ。

この3つ全てに対応する必要があるユーザーはごく限られているだろうし、おそらく大多数のユーザーは「Windowsフォームアプリケーション」の利用が中心で、そのうち先取の意識がある一部のユーザーが「WPFアプリケーション」も試してみたくらいではないか、と私は想像している。

今回の投稿は、この3つの違いについての紹介だ。

続きを読む

Xinput、DirectInput両対応のPlayStation4互換コントローラ - USB接続でXInput、Bluetooth接続でDirectInput

Windows 10でゲーム・コントローラを使用する場合、2種類のAPIのいずれかが適用される。DirectInputと、XInputだ。

Windowsコントローラとして販売されているものの中には、他社ゲーム機との互換性を有するものがある。PlayStationとの互換性が明記されていながら、Xboxとの互換性が併記されていない場合、そのコントローラはDirectInputにだけ対応している可能性が高い。
PCゲーム用のコントローラを選ぶ場合、両方に対応しているものを選ぶのが理想的だが、どちらか一方であればXInput対応コントローラを選ぶのが安全だ。制約付きながら、XInputコントローラは、DirectInputでも動作する。

偶然にも面白い仕掛けのコントローラを見つけた。USBで接続するとXInput、Bluetoothで接続するとDirectInputで動作するコントローラだ。
今回の投稿では、このコントローラの紹介と合わせて、XInputの制約を説明する。

  • XInputとDirectInput
  • DirectInputにおける、XInputコントローラの制約
  • 面白い仕掛けのコントローラ
  • 参考
続きを読む

PlayStation4互換コントローラのBluetooth接続 - ペアリングから機能検証まで

PlayStation 4(以下PS4)のコントローラはBluetooth接続を前提としている。他社互換コントローラの場合でも同様だ。しかし、なぜかiPadAndroidへの対応を記載せず、Windows PCではUSB接続が前提となる旨を記載している商品が存在する。

もちろん対応するBluetoothプロファイルが無ければ、本体とコントローラはペアリングできないし、ペアリングできたとしてもドライバが無ければ機能しない。それらが解決している前提ならば、Bluetoothロゴの取得有無は置いて、Bluetooth機器同士は相互に接続できるはずなのだ。

その一方、PS4Nintendo Switchなどゲーム機用コントローラをPCに接続するためのUSBドングルが発売されている。これは、このような製品を売るための方便なのだろうか?あるいは別の意図、事情があるのだろうか。

個人的に試してみた限り、他社互換製品のPS4コントローラでも、Windows PCとのBluetoothペアリングは可能だ。タッチパッド以外のボタン、スティックも機能した。iPadAndroidともペアリングできた。
ペアリング方法はSony純正コントローラと同じ方法だ。当たり前すぎる方法だからなのか、これがマニュアルには記載されていない。この投稿では、その方法から、動作確認方法までを紹介する。

なおNitendo Switch互換コントローラに関する同様の話題を、次の投稿で扱っている。関心があれば、こちらも参照してほしい。
impsbl.hatenablog.jp

  • 前提
  • ペアリング
  • 機能テスト
  • 音声入出力
  • 余談
続きを読む