KEYCODE.EXE for Tera Term T. Teranishi Copyright(C) 1994-1998 T. Teranishi All Rights Reserved. KEYCODE.EXE は Tera Term のキーボード設定ファイルの中で用いられる PC key code を調べるためのユーティリティーです。この文書では、KEYCODE.EXE の使用法および キーボード設定ファイルの形式について説明します。 キーボード設定を変えたい場合は、この文書と Tera Term ヘルプをよく 読んでください。作者にキーボード設定に関する質問をしないでください。 ------------------------------------------------------------------------------- 1. インストール Windows Windows 3.1 または NT 3.X の場合、プログラムマネージャーに KEYCODE.EXE のアイコンを登録してください。Windows 95 または Windows NT 4.0 の場合は KEYCODE.EXE のショートカットを好きな場所(フォルダ、スタートメニュー、 デスクトップなど)に作成してください。 ------------------------------------------------------------------------------- 2. 使用法 KEYCODE.EXE を起動すると、"Push any key." というメッセージが表示されます。 そこで、あるキーまたはキーの組み合わせ (Ctrl+ キーなど)を押すと、 "Key code is XXXX." (XXXX は最大4桁の10進数)と表示され、PC key code を知ること ができます。 ------------------------------------------------------------------------------- 3. キーボード設定ファイルについて キーボード設定ファイルは、キーボードの各キーとそれに割りあてられる機能 (VT 端末の機能、ユーザー定義文字列の送出、Tera Term コマンドの実行、 マクロの実行)を定義します。 Tera Term インストール時のキー設定は各キーの機能が VT 端末にできるだけ近く なるようにされています。キーボード設定ファイルを編集することによって、 自由にキー設定を変更することができます。 Tera Term のコマンドラインで Tera Term が読み込むキーボード設定ファイルの ファイル名を指定することができます (Tera Term ヘルプ参照)。ファイル名の 拡張子を省略した場合は ".CNF" であるとみなされます。ファイル名を指定しない 場合、ファイル KEYBOARD.CNF が読み込まれます。 配布パッケージには以下のキーボード設定ファイルが含まれています。 IBMKEYB.CNF IBM-PC/AT (いわゆる DOS/V マシン) 101 (106) キーボード用 設定ファイルの例 (Windows 95/NT 用) PC98KEYB.CNF NEC PC98 キーボード用設定ファイルの例 (Windows 3.1/95 用) NT98KEYB.CNF NEC PC98 キーボード用設定ファイルの例 (Windows NT 用) (Tera Term Pro にのみ含まれています。) KEYBOARD.CNF 標準キーボード設定ファイル 上記 3 つのうちどれかをコピーしたもの インストーラーは IBMKEYB.CNF, PC98KEYB.CNF, NT98KEYB.CNF のうち適切なものを コピーして KEYBOARD.CNF ファイルを作成します。どれがコピーされるかは、 インストール中にユーザーが指定したキーボードの種類により決定されます。 もしインストール時にキーボード指定を間違った場合は、自分で適切なファイルを コピーして KEYBOARD.CNF を作成し直してください。 *** 注意: PC98 NX シリーズの PC の場合、インストーラーで 「IBM-PC/AT キーボード」を選択してください。*** ............................................................................... 3.1 キーボード設定ファイルの形式 キーボード設定ファイルの中で用いられる PC key code は PC の各キーまたはキーの 組み合わせに対応した数値で、使用するキーボードによって異なります。 キーボード設定ファイルには、[VT editor keypad], [VT numeric keypad]. [VT function keys], [X function keys], [Shortcut keys], [User keys] の6つの セクションが存在します。 1) [VT editor keypad] セクション VT 端末のエディターキーを PC キーに割り当てます。 形式: = Up, Down, Right, Left, Find, Insert, Remove, Select, Prev, Next PC key code (10進数) 例: Up=328 2) [VT numeric keypad] セクション VT端末の数値キーを PC キーに割り当てます。 形式: = Num0, Num1, Num2, Num3, Num4, Num5, Num6, Num7, Num8, Num9, NumMinus, NumComma, NumPeriod, NumEnter, PF1, PF2, PF3, PF4 PC key code (10進数) 例: Num0=82 注意: VT 端末ではメインキーパッドの "Enter" キーと数値キーパッドの "Enter" キーが違う文字列を送出するモードがあるので、"NumEnter=" の 後にはメインキーの "Enter" の PC key code を書かないでください。 メインキーパッドの "Enter" と数値キーパッドの "Enter" が同じ PC key code を発生するキーボード(例えば PC9801 キーボード)の場合は 注意が必要です。 3) [VT function keys] セクション VT 端末のファンクションキーを PC キーに割り当てます。 形式: = (VT 端末のファンクションキー) Hold, Print, Break, F6, F7, F8, F9, F10, F11, F12, F13, F14, Help, Do, F17, F18, F19, F20 (VT 端末の"ユーザー定義キー") UDK6, UDK7, UDK8, UDK9, UDK10, UDK11, UDK12, UDK13, UDK14, UDK15, UDK16, UDK17, UDK18, UDK19, UDK20 PC key code (10進数) 例: F6=64 4) [X function keys] セクション Xterm の F1-F5 キーを PC キーに割り当てます。 形式: = XF1, XF2, XF3, XF4, XF5 PC key code (10進数) 例: XF1=59 5) [Shortcut keys] セクション Tera Term の機能をPC キーに割り当てます。 形式: = 機能 --------------------------------------------------------- EditCopy [Edit] Copy コマンド EditPaste [Edit] Paste コマンド EditPasteCR [Edit] Paste コマンド EditCLS [Edit] Clear screen コマンド EditCLB [Edit] Clear buffer コマンド ControlOpenTEK [Control] Open TEK コマンド ControlCloseTEK [Control] Close TEK コマンド LineUp 一行スクロールアップ LineDown 一行スクロールダウン PageUp 一ページスクロールアップ PageDown 一ページスクロールダウン BuffTop バッファー先頭へスクロール BuffBottom バッファー最後へスクロール NextWin 次の Tera Term ウィンドウへ移動 PrevWin 前の Tera Term ウィンドウへ移動 NextShownWin 次の最小化されていない Tera Term ウィンドウへ移動 PrevShownWin 前の最小化されていない Tera Term ウィンドウへ移動 LocalEcho Local echo を on/off する PC key code (10進数) 例: LineUp=1352 6) [User keys] セクション ユーザーキーと、そのキーを押したときに実行される機能 (文字列の送出、マクロファイルの実行、メニューコマンドの実行)を 定義します。 形式: =,,<文字列> User1, User2, User3,...., User99 最大99個まで設定可能、例えば10個設定する場合は User1 から 順番に User10 までを使用し、それ以外の名前を使用してはなら ない。 PC key code (10進数) キーを押したときに <文字列> をどのように取り扱うかを指定 するフラグ。 0 <文字列>をそのまま送出する。 1 <文字列>に含まれる漢字や改行コードを Tera Term の設定にあわせて変換し、変換 された文字列を送出する。 2 <文字列>のファイル名のマクロファイルを 実行する。 3 メニュー ID <文字列> で指定される Tera Term のメニューコマンドを実行する。 <文字列>: が 0 または 1 の場合、キーを押したときに 送出される文字列。表示不可能な文字(制御文字等)はその ASCII コードを $ と2文字の16進数で表現する (例: CR 文字は '$0D')。"$" そのものは "$24" で表現する。 「付録 A ASCII コード表」参照。 が 2 の場合、実行されるマクロファイルの ファイル名。 が 3 の場合、実行されるメニューコマンドの メニュー ID (数字)。「付録 B メニュー ID 表」参照。 例: User1=1083,0,telnet myhost User2=1084,0,$0D$0A User3=1085,1,こんにちは。 User4=1086,2,test.ttl User5=1087,3,50110 ............................................................................... 3.2 注意 1つの PC key code はキーボード設定ファイルの中で一回だけ使用することが できます。もし、1つの PC key code を複数のキー定義で使用した場合、 Tera Term がキーボード設定ファイルを読み込んだときに、 "Key code XXX is used more than once" という警告メッセージが表示されます。 この場合ある一つのキー定義だけが有効になり、その他は無視されます。 あるキー設定項目にどの PC キーも割り当てたくない場合は、以下のように PC key code の代わりに "off" を指定してください。 EditCopy=off ............................................................................... 3.3 可能なキーの組み合わせ キーボード設定ファイルで設定可能な PC のキーは, KEYCODE.EXE で PC key code が 表示されるキーです。単一のキーだけでなく、Ctrl, Shift, Alt を用いたキーの組み 合わせでも PC key code を表示させることができます。可能な組み合わせを 以下に示します。 Shift+key Ctrl+key Shift+Ctrl+key Shift+Alt+key Ctrl+Alt+key Shift+Ctrl+Alt+key Tera Term や Windows のショートカットキーに割り当てられているキーの組み合わせ (例えば Alt+key など)はキーボード設定ファイルで指定できません。 ただし、Altキーをメタ・キーとして使う設定にしている場合(設定->キーボードにある Metaキーにチェックをいれている状態)はAlt+keyも指定する事ができます。 キーコードは KEYCODE.EXE で調べられますが、単体のAltキーとの組合せには 対応していません。Altキーとの組合せでのキーコードを調べるには、単独での キーコードを調べて、その値に2048を足してください。 たとえば、Alt+Vのキーコードは V が 47 なので、2095 となります。 ; Shift + Insert EditPaste=850 これを例えば EditPaste=2095 に変更すれば、Metaキーをパススルーにしていても Alt+Vで張り付けができるようになります。 Shift+Insertを残したままAlt+Vでの張り付けを行いたい場合は、KEYBOARD.CNF の [User keys]セクションに以下の設定を追加します。 User1=2095,3,50230 ............................................................................... 3.4 Q & A キーボード設定がよくわからない場合、この文書と Tera Term ヘルプを よく読んでください。作者にキーボード設定に関する質問をしないでください。 Q. Tera Term を起動するたびに "Key code XXX is used more than once" という メッセージがでる。 A. 「3.2 注意」を参照。 Q. PC の F1 キーを VT100 の PF1 キーとして使いたい。以下のように設定したが うまくいかない。 [VT function keys] F1=PF1 (これはまちがい) A. 左辺は **PC** のキーの名前ではなく **VT端末** のキーの名前を指定しなけ ればなりません。また、右辺にはキーの名前ではなく、キーコードを指定して ください。「3.1 キーボード設定ファイルの形式」を参照。 また、キー設定を変えるときは、キーコードの重複使用をしないようにして ください(「3.2 注意」を参照)。 以下のように設定してください。 [VT function keys] PF1=59 (59 は F1 キーのキーコード) [X function keys] ;XF1=59 (キーコード 59 の重複使用をさける) XF1=off ("off" で置き換える) Q. F1 キーを押したときにエスケープシーケンス ESC [ A を送出するように するための設定方法は? A. ユーザーキーを使えば、好きな文字列を送出することができます。 くわしくは、「3.1 キーボード設定ファイルの形式」を読んでください。 また、キー設定を変えるときは、キーコードの重複使用をしないようにして ください(「3.2 注意」を参照)。 以下のように設定してください。 [X function keys] ;XF1=59 (F1 キーのキーコード 59 の重複使用をさける) XF1=off ("off" で置き換える) [User keys] User1=59,0,$1B[A (ESC の ASCII コードは $1B) ------------------------------------------------------------------------------- 付録 A ASCII コード表 (16 進表現) 例えば、"A" の ASCII コードは $41。 ------------------------------------------------------------ Char Code | Char Code | Char Code | Char Code | ------------------------------------------------------------ NUL (^@) $00 | DLE (^P) $10 | SPACE $20 | 0 $30 | SOH (^A) $01 | DC1 (^Q) $11 | ! $21 | 1 $31 | STX (^B) $02 | DC2 (^R) $12 | " $22 | 2 $32 | ETX (^C) $03 | DC3 (^S) $13 | # $23 | 3 $33 | EOT (^D) $04 | DC4 (^T) $14 | $ $24 | 4 $34 | ENQ (^E) $05 | NAK (^U) $15 | % $25 | 5 $35 | ACK (^F) $06 | SYN (^V) $16 | & $26 | 6 $36 | BEL (^G) $07 | ETB (^W) $17 | ' $27 | 7 $37 | BS (^H) $08 | CAN (^X) $18 | ( $28 | 8 $38 | HT (^I) $09 | EM (^Y) $19 | ) $29 | 9 $39 | LF (^J) $0A | SUB (^Z) $1A | * $2A | : $3A | VT (^K) $0B | ESC (^[) $1B | + $2B | ; $3B | FF (^L) $0C | FS (^\) $1C | , $2C | < $3C | CR (^M) $0D | GS (^]) $1D | - $2D | = $3D | SO (^N) $0E | RS (^^) $1E | . $2E | > $3E | SI (^O) $0F | US (^_) $1F | / $2F | ? $3F | ------------------------------------------------------------ Char Code | Char Code | Char Code | Char Code | ------------------------------------------------------------ @ $40 | P $50 | ` $60 | p $70 | A $41 | Q $51 | a $61 | q $71 | B $42 | R $52 | b $62 | r $72 | C $43 | S $53 | c $63 | s $73 | D $44 | T $54 | d $64 | t $74 | E $45 | U $55 | e $65 | u $75 | F $46 | V $56 | f $66 | v $76 | G $47 | W $57 | g $67 | w $77 | H $48 | X $58 | h $68 | x $78 | I $49 | Y $59 | I $69 | y $79 | J $4A | Z $5A | j $6A | z $7A | K $4B | [ $5B | k $6B | { $7B | L $4C | \ $5C | l $6C | | $7C | M $4D | ] $5D | m $6D | } $7D | N $4E | ^ $5E | n $6E | ~ $7E | O $4F | _ $5F | o $6F | DEL $7F | ------------------------------------------------------------ ............................................................................... 付録 B メニュー ID 表 メニュー ID の指定法については「3.1 キーボード設定ファイルの形式」を参照。 メニュー ID は将来変更される可能性があります。 1) VT window メニューコマンド ID ----------------------------------------- [File] New connection 50110 [File] Duplicate session 50111 [File] Cygwin connection 50112 [File] Log 50120 [File] Comment to Log 50121 [File] View Log 50122 [File] Show Log dialog 50123 [File] Send file 50130 [File] Transfer/Kermit/Receive 50141 [File] Transfer/Kermit/Get 50142 [File] Transfer/Kermit/Send 50143 [File] Transfer/Kermit/Finish 50144 [File] Transfer/XMODEM/Receive 50145 [File] Transfer/XMODEM/Send 50146 [File] Transfer/YMODEM/Receive 50157 [File] Transfer/YMODEM/Send 50158 [File] Transfer/ZMODEM/Receive 50151 [File] Transfer/ZMODEM/Send 50152 [File] Transfer/B-Plus/Receive 50153 [File] Transfer/B-Plus/Send 50154 [File] Transfer/Quick-VAN/Receive 50155 [File] Transfer/Quick-VAN/Send 50156 [File] Change dir 50170 [File] Replay Log 50171 [File] LogMeTT 50172 [File] Print 50180 [File] Disconnect 50190 [File] Exit 50199 [Edit] Copy 50210 [Edit] Copy table 50220 [Edit] Paste 50230 [Edit] PasteCR 50240 [Edit] Clear screen 50250 [Edit] Clear buffer 50260 [Edit] Cancel selection 50270 [Edit] Select screen 50280 [Edit] Select all 50290 [Setup] Terminal 50310 [Setup] Window 50320 [Setup] Font 50330 [Setup] Keyboard 50340 [Setup] Serial port 50350 [Setup] TCPIP 50360 [Setup] General 50370 [Setup] Additional settings 50375 [Setup] Save setup 50380 [Setup] Restore setup 50390 [Setup] Load key map 50395 [Control] Reset terminal 50410 [Control] Are you there 50420 [Control] Send break 50430 [Control] Reset port 50440 [Control] Broadcast command 50445 [Control] Open TEK 50450 [Control] Close TEK 50460 [Control] Macro 50470 [Control] Show Macro Window 50480 [Window] Window 50810 [Help] Index 50910 [Help] About Tera Term 50990 TTSSH メニューコマンド ID ----------------------------------------- [Setup] SSH 52310 [Setup] SSH Authentication 52320 [Setup] SSH Forwarding 52330 [Setup] SSH KeyGenerator 52340 [Help] About TTSSH 52910 TTProxy メニューコマンド ID ----------------------------------------- [Setup] Proxy 53310 [Help] About TTProxy 53910 TTXKanjiMenu メニューコマンド ID ----------------------------------------- [KanjiCode] Recv: Shift_JIS 54010 [KanjiCode] Recv: EUC-JP 54011 [KanjiCode] Recv: JIS 54012 [KanjiCode] Recv: UTF-8 54013 [KanjiCode] Recv: UTF-8m 54014 [KanjiCode] Send: Shift_JIS 54110 [KanjiCode] Send: EUC-JP 54111 [KanjiCode] Send: JIS 54112 [KanjiCode] Send: UTF-8 54113 [KanjiCode] Use one setting 54200 TTXAlwaysOnTop メニューコマンド ID ----------------------------------------- [Control] Always on top 55000 -- SetWindowPos(HWND_TOP) 55001 (メニュー割り当て無し) -- SetWindowPos(HWND_BOTTOM) 55002 (メニュー割り当て無し) -- SetWindowPos(HWND_TOPMOST) 55003 (メニュー割り当て無し) -- SetWindowPos(HWND_NOTOPMOST) 55004 (メニュー割り当て無し) TTXResizeMenu メニューコマンド ID ----------------------------------------- [Resize] Menu(1) - Menu(20) 55101 - 55120 TTXViewMode メニューコマンド ID ----------------------------------------- [Setup] ViewMode password 55200 [Control] View mode 55210 TTXttyrec メニューコマンド ID ----------------------------------------- [File] TTY Record 55301 TTXttyplay メニューコマンド ID ----------------------------------------- [File] TTY Replay 55302 2) TEK window メニューコマンド ID ----------------------------------------- [File] Print 51110 [File] Exit 51190 [Edit] Copy 51210 [Edit] Copy screen 51220 [Edit] Paste 51230 [Edit] PasteCR 51240 [Edit] Clear screen 51250 [Setup] Window 51310 [Setup] Font 51320 [VTWin] 51410 [Window] Window 51810 [HELP] Index 51910 [HELP] About Tera Term 51990