ACSで数値フィールドにマイナスが入らない!
Question
IBM i Access Client Solutions(ACS)のv1.1.9.1を使っています。
DFUで数値フィールドの右端に-[マイナス]をキーボードの のキーで入れようとしましたが「フィールドの符号桁のキーが正しくない。」と表示されます。
IBM i Access for Windows(ClientAccess:CA)では出来ていたような気がしますが、ACSでは出来ない状況です。どうすれば入力できるでしょうか。
Answer
ACSでは「フィールドに入力するマイナス」のキーマッピングに該当のキーがデフォルトで割り当てられていません。
では のキーはキーボードマッピング上、どこに設定されているか確認してみましょう。
キーの検索を押して、 のキーを押してみます。
未割当てですね。ではここに「キーの割り当て」で を指定すれば・・・ というのはちょっとしたトラップです。
実は未割当てではありますが、
キーボードマッピングのデフォルトで文字の-に が既に割り振られている状態です。
明示的に割り振っていないが一般認識的にそういうものということです。
ではなぜ入力できないのか?というと、今回の目的であるフィールドに対する-(マイナス)は、「フィールド・マイナス」という機能として文字の-(マイナス)と区別されています。
下図のように青枠のカテゴリーのプルダウンメニューから「ホスト機能」を選び、赤枠の位置までスクロールしてみましょう
既に[-(テン・キー)]が割り振られていますね。
実はキーボードにテン・キーがついていれば、テン・キーの を押せばフィールドにフィールド・マイナスが入力できました。
でもノートパソコンなのでテン・キーの がついていない、ということもありますよね。
では改めて「フィールド・マイナス」の項目を選択(青くなっている状態)にして「キーの割り当て」にて を割り振って・・・ というのもトラップです。
ここで単純に に「フィールド・マイナス」を割り当ててしまうと、逆に「フィールド・マイナス」しか割当たっていない状態になります。
そうすると・・・
例えばコマンドラインに キーを押下したときに入力できなくなってしまいます。
先に記述した通り明確に「文字の-」と「フィールド・マイナス」が区別されているからです。
したがって、文字としてのマイナスと、フィールド・マイナス両方を使用する場合は、運用を変えていただくことになるかと思います。
例えば、「フィールド・マイナス」をキーに割り当てるにあたり、「キーの割り当て」をクリックしてから、Ctrlキーを押しながら を押してみます。
「フィールド・マイナス」にCtrl+ -が割り振られました。
OKを押してキーマッピング画面を閉じてから、フィールドに「Ctrlを押しながら キー」にて-が入るかテストしてみましょう。
無事入力できました。(※AAAA001はパック10進数フィールドを指定しています。)
割り振り設定方法をご案内して本末転倒かもしれませんが、Ctrlキーを押しながら キーを押す、という操作が煩わしい場合は、素直にUSBのテン・キーボードを利用するというのもイイッ!と思います!
by 大熊猫橋