	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 キーに割り当てます。

	形式:
		<VT editor key name>=<PC key code>

	<VT editor key name>
		Up, Down, Right, Left, Find, Insert, Remove, Select,
		Prev, Next

	<PC key code>
		PC key code (10進数)

	例:
		Up=328

2) [VT numeric keypad] セクション
VT端末の数値キーを PC キーに割り当てます。

	形式:
		<VT numeric key name>=<PC key code>

	<VT numeric key name>
		Num0, Num1, Num2, Num3, Num4, Num5, Num6, Num7, Num8,
		Num9, NumMinus, NumComma, NumPeriod, NumEnter, PF1,
		PF2, PF3, PF4

	<PC key code>
		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 function key name>=<PC key code>

	<VT function key name>
		(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>
		PC key code (10進数)

	例:
		F6=64

4) [X function keys] セクション
Xterm の F1-F5 キーを PC キーに割り当てます。

	形式:
		<Xterm function key name>=<PC key code>

	<Xterm function key name>
		XF1, XF2, XF3, XF4, XF5

	<PC key code>
		PC key code (10進数)

	例:
		XF1=59

5) [Shortcut keys] セクション
Tera Term の機能をPC キーに割り当てます。

	形式:
		<Shortcut key name>=<PC key code>

	<Shortcut key name>	機能
	---------------------------------------------------------
	EditCopy		[Edit] Copy コマンド
	EditPaste		[Edit] Paste コマンド
	EditPasteCR		[Edit] Paste<CR> コマンド
	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 ウィンドウへ移動
	LocalEcho		Local echo を on/off する

	<PC key code>
		PC key code (10進数)

	例:
		LineUp=1352

6) [User keys] セクション
ユーザーキーと、そのキーを押したときに実行される機能
(文字列の送出、マクロファイルの実行、メニューコマンドの実行)を
定義します。

	形式:
		<User key name>=<PC key code>,<Control flag>,<文字列>

	<User key name>
		User1, User2, User3,...., User99
		最大99個まで設定可能、例えば10個設定する場合は User1 から
		順番に User10 までを使用し、それ以外の名前を使用してはなら
		ない。

	<PC key code>
		PC key code (10進数)

	<Control flag>
		キーを押したときに <文字列> をどのように取り扱うかを指定
		するフラグ。
			0	<文字列>をそのまま送出する。
			1	<文字列>に含まれる漢字や改行コードを
				Tera Term の設定にあわせて変換し、変換
				された文字列を送出する。
			2	<文字列>のファイル名のマクロファイルを
				実行する。
			3	メニュー ID <文字列> で指定される
				Tera Term のメニューコマンドを実行する。

	<文字列>:
		<Control flag> が 0 または 1 の場合、キーを押したときに
		送出される文字列。表示不可能な文字(制御文字等)はその
		ASCII コードを $ と2文字の16進数で表現する
		(例: CR 文字は '$0D')。"$" そのものは "$24" で表現する。
		「付録 A  ASCII コード表」参照。

		<Control flag> が 2 の場合、実行されるマクロファイルの
		ファイル名。

		<Control flag> が 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 など)はキーボード設定ファイルで指定できません。

...............................................................................
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] Log			50120
[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/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] 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
[Setup] Terminal		50310
[Setup] Window			50320
[Setup] Font			50330
[Setup] Keyboard		50340
[Setup] Serial port		50350
[Setup] TCPIP			50360
[Setup] General 		50370
[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] Open TEK		50450
[Control] Close TEK		50460
[Control] Macro 		50470
[Window] Window 		50810
[Help] Index			50910
[Help] Using			50920
[Help] About			50990

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 		50810
[HELP] Index			51910
[HELP] Using			51920
[HELP] About			51990
