どの入力デバイスが特定の GUI イベントをトリガーしたかを簡単に知る方法があるかどうか疑問に思っています。
例:TButton.OnClick
イベントが発生します。ユーザーがキーボードを押してトリガーしたか (ショートカット、Enter
デフォルト ボタンのspace
キー、フォーカスされたボタンのキーなど)、またはマウス クリックでトリガーしたか? 簡単に見分ける方法はありますか?
私が知りたい理由は、ユーザーがマウスを使用してキーボードでも実行できるアクションを開始するときに、キーボードの使用に関するヒントをいくつかのアプリケーションに実装できるようにするためです。製造現場のシステムはかなりほこりっぽい/汚れた環境にあり、マウスはそこにうまく持ちこたえられない傾向があります. また、多くの場合、マウスを使用するスペースがあまりありません。(いいえ、テンキーのないキーボードは解決策ではありません。依存度が高すぎます。)
ただし、私たちのアプリは Windows で実行されるため、ユーザーは自宅で行うのと同じようにマウスを使ってプログラムを使用する傾向があります。これには特に問題はありませんが、入力ワークフローを最適化してキーボード フレンドリーになるように努力しました。マウスをつかまなくてもユーザーが行っていることを実行できる方法があることをユーザーに示す、影響の少ない方法があればいいのですが。