キーボード上の 2 つの Enter キーの動作が LabVIEW で異なる

更新しました Jun 29, 2022

使用製品

ソフトウェア

  • LabVIEW

問題

キーボードのメインキー側の Enter キーとテンキー側の Enter キーが文字列制御器での文字データ入力時やキーフォーカス、キー操作において異なる動作をしますが、これはなぜでしょうか。

解決策

LabVIEW はキーボード上のメインキーの Enter キーとテンキーの Enter キーの動作を異なる方法で検出します。(メインキーの Enter キーは Windows でないキーボードにおいて Return キーとしても知られています。)以下では文字列入力、キーフォーカス、キー操作においてメインキーとテンキーの Enter キーでどの様に動作が異なるかを説明します。


メインキー側の Enter キー
・文字列を入力している最中にキーを押すと、改行定数を追加します。
・フロントパネル上のいずれかの制御器にキーフォーカスがある場合、制御器の値の変更を行います。例えば、ブール制御器と文字列制御器が 1 つずつフロントパネル上にある場合 VI の実行中に Tab キーを押して制御器のフォーカスをブール制御器と文字列制御器の間で繰り返し変更できます。その際、文字列制御器にキーフォーカスがある場合に文字列を入力してから Enter キーを押しても引き続き文字列の入力が可能です。一方でブール制御器にキーフォーカスがある場合は Enter キーを押す度にブール制御器の値が変わります。
・フロントパネル上のある制御器に「キー操作」の「フォーカス」に Return キーが指定されている場合で、いずれの制御器にもキーフォーカスが無い場合 Enter キーを押すと、その制御器にフォーカスが移ります。


テンキー側の Enter キー
・文字列を入力している最中にキーを押すと、文字列制御器の入力を終了します。
・フロントパネル上のいずれかの制御器にキーフォーカスがある場合、制御器の値の変更を行った後に制御器からキーフォーカスを無効にします。例えば、ブール制御器と文字列制御器が 1 つずつフロントパネル上にある場合 VI の実行中に Tab キーを押して制御器のフォーカスをブール制御器と文字列制御器の間で繰り返し変更できます。その際、文字列制御器にキーフォーカスがある場合に文字列を入力してからキーを押すと、それまでの文字入力を反映させて入力を終了します。一方でブール制御器にキーフォーカスがある場合はキーを押すとブール制御器の値が変更されてキーフォーカスが無効になります。
・フロントパネル上のある制御器に「キー操作」の「フォーカス」に Return キーが指定されている場合で、いずれの制御器にもキーフォーカスが無い場合 Enter キーを押すと、その制御器にフォーカスが移ります。


LabVIEW はメインキーの Enter キーをテンキーの Enter キーとして動作させるオプション設定があります。LabVIEW 8.0 以降のバージョンの場合 ツール >> オプション >> 環境 の画面上の「Enter キーでテキスト入力を終了」のチェックボックスで変更できます。LabVIEW 6.0 から 7.1 のバージョンでは ツール >> オプション >> フロントパネル の画面上で変更できます


メモ:上記の設定は開発環境でテキストデータを入力する際の Enter キーの動作を変更します。実行環境でテキストデータを入力する際の Enter キーの動作を変更したい場合は、LabVIEW アプリケーションを作成する前にこの技術サポートデータベースを参照してください。