UIAssistant を公開(Hit-a-hint とか)
Hit-a-Hint for Windows、Migemize Windows の後継となるソフトウェアを公開しました。ウィンドウ内のコントロールを列挙して Hit-a-Hint でのクリック操作や、文字列によるコントロールの検索などが可能です。オープンソース、MIT ライセンスで公開しています。
まだアルファ版ですが、そこそこ動きます。
上記のリンク先では GIF アニメーションで動作イメージを確認できます。
以下、簡単に特徴、機能の紹介を。
特徴
- 一般ユーザにやさしくないマニアックなソフトウェア
- それなりのカスタマイズ性
- ユーザが見た目を変更可能(テーマもどき)
- ホットキー-コマンド駆動
- キーバインド変更可能
- プラグイン対応
最低限、ホットキー-コマンド駆動のところだけ理解していただければ、なんとなく使えると思います。もしもの時のための UIAssistant 強制終了キー(LWindows + Escape
)もあるので、いざというときはご使用ください。
動作条件
- Windows7 SP1 以降(ただし動作確認しているのは Windows10 のみ)
- .NETFramework 4.6 以降
- 管理者権限での起動を推奨
管理者権限なしで起動した場合、UIAssistant を用いて管理者権限が必要なウィンドウを操作することはできません。
ダウンロード
ダウンロード
アルファ版ですのでご利用は計画的に。
テーマもどき
色やフォントだけでなく、レイアウトもユーザが柔軟に変更できます。(WPF で書ける範囲内であれば、いくらでも変更可能……なはずです)
以下のスクリーンショットは、テーマを変更しているので見た目は違いますが、全て同じ機能を使用しています。
ちなみに、テーマファイル(.xaml)の編集をミスると、とんでもないことになります。
↓こんな風にヒントが表示されなかったり、最悪 UIAssistant が強制終了します。(無駄がゲシュタルト崩壊しそう)
ホットキー-コマンド駆動
UIAssistant はホットキーが押下されると、独自のコマンドを実行します。
実行されるコマンドの例:
hah WidgetsInWindow Click
コマンド
- hah: Hit-a-Hint のプラグイン実行
引数
- WidgetsInWindow: ウィンドウ内のコントロールを対象
- Click: ヒント選択時のデフォルトの操作はクリック
詳細な設定内容は、タスクトレイアイコンを右クリックして設定画面のホットキータブで確認してください。コマンドの情報はプラグインが持っているので、プラグインタブにて確認できます。
プラグイン
キーバインドなどの操作方法は、タスクトレイアイコンから設定画面を開いて、目的のプラグインの設定を確認してください。また、LeftCtrl+U
で実行中のプラグインのキーバインドを確認できます。
Hit-a-Hint
以下の対象に対して、Hit-a-Hint による操作が可能
対象:
- ウィンドウ内のコントロール(ボタン、チェックボックスなど)
Ctrl+Alt+E
- タスクバーのコントロール(タスクトレイアイコンも)
Ctrl+Alt+R
- 実行中のアプリケーション
Ctrl+Alt+Q
- 画面を等分割
Ctrl+Alt+G
可能な操作:
- クリック
C
- 右クリック
R
- キーボードでマウス直接操作
O
など
Search by Text
以下の対象に対して、文字列による検索が可能
検索対象:
- ウィンドウ内のコントロール(ラベル、ボタン、チェックボックスなど)
Ctrl+Alt+T
- ウィンドウ内の実行可能なコマンド(メニュー、ツールバー、リボンUI)
Ctrl+Alt+K
- フォーカスのあたっているコントロール内(コンボボックス、リストボックスなど)
Ctrl+Alt+L
- 実行中のアプリケーション
Mouse Emulation
キーボードでマウスカーソルを操作できます。
デフォルトではホットキーから利用できませんが、Hit-a-Hint 経由で使用できます。(Hit-a-Hint 画面を等分割Ctrl+Alt+G
時のデフォルト操作です)
今後追加したいプラグイン
旧版(Hit-a-Hint for Windows、Migemize Windows)から削除された機能
Hit-a-Hint for Windows から削除された機能
- 連続 Hit-a-Hint
状況によっては動作が不安定なので削除
Migemize Windows から削除された機能
- Explorer 関連の検索処理
- Everything との連携処理
アプリケーションに依存した実装が必要になるので削除
デフォルトで配布する基本のプラグインは汎用的な処理だけにしたいのです。
バグを発見したら
連絡方法はコメントでもメールでも Twitter でもかまいませんが、GitHub に Issue を書いてくださると助かります。日本語で OK です。(必要があれば、こちらでタイトルなどを英語に変更させていただくかもしれませんが)その際、以下の情報をいただけると助かります。
もしあれば以下の情報もいただければ。
- Exception の情報
- ログファイルの内容(ログは、UIAssistant\logs 内に配置されます)
- スクリーンショット
プラグインを作成したいという奇特な方へ
まだ API が色々と迷走して定まっていないため、現時点でのプラグインの作成を推奨できません。API は他のプラグインを作成しながら調整していく予定でいます。あと、ドキュメントもありません……。
それでも作成したいという方は、MouseEmulation のソースを参考程度に見てみるといいかもしれません。今のところ一番シンプルなソースなので。後々、Plugin のサンプルソースも作成します。
TODO
- 職を探す(どなたか僕に職をください)
- マニュアル書く、でもだいたいのことは設定画面見てもらうか、
LeftCtrl+U
で Usage 見てもらえば……
最後に
Ruby と iPhone と UI とから引っ越してきました。
これからよろしくお願いします。