(ただのサンプルなのに名前が仰々しすぎる)。実現にあたってのポイントをいくつかかいつまんで紹介します。触らない設計にしている点にご留意ください。いう型を使用しており、こちらはテキストの入出力などすべて自前で実装しているようです。追加していく形を取れます。積み上げていくイメージです。いう型で表現していることも押さえておくべきでしょう。プロパティで公開しています。上にいるかどうか判断するのは容易です。これを利用し、下記のコードでキャレットが入力エリア内にいるかどうかを確認できます。行頭とキャレットの相対位置から、プロンプトでなく入力エリアにいること」の判定です。イベント等で上記の判定を使用すれば、「キャレット位置が入力エリア内のときだけの処理」を書けます。入力エリア外では文字列の選択は可能ですが、切り取りや貼り付けは防ぐ必要があります。添付イベントを使用し、特定のコマンドだけ抑止することができます。監視すれば貼り付けを抑止できます。挙動を観察すると、入力エリア外で貼り付けられると入力エリアに飛ばし、貼り付ける挙動をとっているようです。添付プロパティを使用します。以下のコードで、貼り付け操作に割り込み、貼り付けようとしているオブジェクトが文字列の場合はキャレット位置を入力エリアに飛ばすことができます。フィルターを書けるようにしたいと思ったのが発端です。開発のネタとして面白いかな、と考え作ってみた次第です。キーを押すとぜんぶ消せてしまったりします。コンソールを実現できるでしょう。入手できたので、さっそくアプリから使ってみました。アプリでの対応は簡単で、むしろ「どう使わせるか」のアイディア勝負になるデバイスという印象です。接続するシンプルなものです。机に置いて使うことができます。今後同様のサードパーティ製品が発売されることも予想されます。イベントを購読します。インスタンスを取得する唯一の方法です。基本的な実装方針に関しては下記エントリーが詳しいです。対応させることができます。参照させる必要があります。コントローラーはウィンドウ単位で作る必要がある、ということです。オブジェクトを取得するためのインターフェイスを用意します。サンプルで公開されている方法です。iid);}続いて以下は、上記インターフェイス経由で実際にインスタンスを取得するコードの例です。コントローラーを操作できるようになります。インスタンスであれこれしましょう。操作できるようにしました。回転イベントを拾って切り替えています。