TeraTermでテンキー(数値キーパッド)(/,*,-,+)の動きが変なので対応してみた
ご利用のブラウザは、JavaScript が無効 となっていませんか?
このサイトでは、コンテンツの一部が非表示 、あるいは、コメント、お問い合わせの投稿ができない 、検索ができない ことがあります。
今回は、以前の記事で、シェル(主にTeraTerm)でメターキー(Delete キー, Home キー , End キー, Insert キー)の動きが変なので対応してみた で書ききれなかった TeraTermのテンキー(数値キーパッド)(/,*,-,+)の動作に関してです。
TeraTermのデフォルトの設定では、テンキーの動作がNumLock ON/OFFにかかわらず、/ ,* ,– ,+ のキーが正しく動作してくれません。
今回は、そのテンキーの動作がおかしい(期待している動作と異なる)場合の対処について簡単に解説してみます。
TeraTerm で テンキーキー(/ キー, * キー , – キー, + キー) を押すと変な文字列が表示(あるいはビープ音)されてしまう
[ 現象 ]
[ 対処 ]
TeraTermのクライアントソフトの確認
これは、ほとんどの場合、TeraTerm固有の問題です。
デフォルトの設定では、TeraTermはキーパッド情報を変換して送信するような設定になっています。
この変換を解除すれば良いでしょう。
以下はTera Termの設定例です。
キーボード情報のテンキー情報変換設定を解除する
接続先へ送信するテンキー情報を Tera Term のキーボード設定ファイル ( KEYBOARD.CNF : インストール先ディレクトリにある )に持っています。
[Tera Termインストール先ディレクトリ]\KEYBOARD.CNF 内の[VT numeric keypad] 情報に テンキー情報が設定されていないか確認します。
デフォルトでは、以下のような設定になっていると思います。
[ VT numeric keypad]
;Num pad 0 key
Num0 = 82
;Num pad 1 key
Num1 = 79
;Num pad 2 key
Num2 = 80
;Num pad 3 key
Num3 = 81
;Num pad 4 key
Num4 = 75
;Num pad 5 key
Num5 = 76
;Num pad 6 key
Num6 = 77
;Num pad 7 key
Num7 = 71
;Num pad 8 key
Num8 = 72
;Num pad 9 key
Num9 = 73
;Ctrl + Num pad '+' key
NumMinus = 1102
;Num pad '+' key
NumComma = 78
;Num pad '.' key
NumPeriod = 83
;Num pad Enter key
NumEnter = 284
;Num pad NumLock key
PF1 = 325
;Num pad '/' key
PF2 = 309
;Num pad '*' key
PF3 = 55
;Num pad '-' key
PF4 = 74
これを全てOFF して、Tera Termを再起動します。
[ VT numeric keypad]
Num0 = off
Num1 = off
Num2 = off
Num3 = off
Num4 = off
Num5 = off
Num6 = off
Num7 = off
Num8 = off
Num9 = off
NumMinus = off
NumComma = off
NumPeriod = off
NumEnter = off
PF1 = off
PF2 = off
PF3 = off
PF4 = off
サーバーへ接続し、read コマンドで送信されてくるキー情報を確認してみてください。
$ read
/*-+
これでOKのはずです。
vim での編集時も動作がおかしかったのですが、これですべて解消しました。
SSHクライアントから、メタキーがどんなコードで送信されているか確認するには、以下のコマンドで確認することができます。
Bシェル の場合
$ read
^[OQ^[OR^[OS,
read コマンド発行し、/ キー, * キー, – キー ,+ キー の順番で押下し、最後にEnterで終了です。
Cシェル の場合
$ echo $<
^[OQ^[OR^[OS,
echo $< コマンド発行し、/ キー, * キー, – キー ,+ キー の順番で押下し、最後にEnterで終了です。
^[ : エスケープ文字になります。
上記の各シェルの設定文字列の
\e に相当します。
今回のテンキーは、簡単な対応ですみました。
シェル(主にTeraTerm)でメターキー(Delete キー, Home キー , End キー, Insert キー)の動きが変なので対応してみた では、色々と奥深いものもありましたが、今回は、単純にキーの割りあてをデフォルト設定解除すればよかっただけでした。
下記は、TeraTermのヘルプ記載事項の引用です。
キーボードの初期設定は VT100 のキーボードをエミュレートするようになっています。このためテンキー(数値キーパッド)のキーを押したときキーに書いてある文字と違う文字が送出されることがあります。VT100 キーボードのテンキーの機能を使用する必要がなく、テンキーを普通に使いたい場合は、キーボード設定ファイル KEYBOARD.CNF の[VT numeric keypad] の全項目を以下のように OFF にしてください。詳しくは、KEYCODE.TXT を読んでください。
試した限りでは、off設定でなく、コメントアウトでもOKのようです。
いずれにしても同問題でお悩みの方は、一度試す価値ありだと思います。
ご利用のブラウザは、広告ブロック(AdBlockなど) が適用 となっていませんか?
このサイトでは、コンテンツの一部が非表示 、あるいは、コメント、お問い合わせの投稿ができない 、検索ができない ことがあります。
関連記事 :
コメントを投稿 :