	KEYCODE.EXE for Tera Term
	T. Teranishi
	
	Copyright(C) 1994-1998 T. Teranishi
	All Rights Reserved.

KEYCODE.EXE  Tera Term ̃L[{[hݒt@C̒ŗp PC key code
𒲂ׂ邽߂̃[eBeB[łB̕ł́AKEYCODE.EXE ̎gp@
L[{[hݒt@Č`ɂĐ܂B

L[{[hݒςꍇ́A̕ Tera Term wv悭
ǂłB҂ɃL[{[hݒɊւ鎿ȂłB

-------------------------------------------------------------------------------
1. CXg[

Windows Windows 3.1 ܂ NT 3.X ̏ꍇAvO}l[W[ KEYCODE.EXE
̃ACRo^ĂBWindows 95 ܂ Windows NT 4.0 ̏ꍇ
KEYCODE.EXE ̃V[gJbgDȏꏊ(tH_AX^[gj[A
fXNgbvȂ)ɍ쐬ĂB

-------------------------------------------------------------------------------
2. gp@

KEYCODE.EXE NƁA"Push any key." ƂbZ[W\܂B
ŁAL[܂̓L[̑gݍ킹 (Ctrl+ L[Ȃ)ƁA
"Key code is XXXX." (XXXX ͍ő410i)ƕ\APC key code m邱
ł܂B

-------------------------------------------------------------------------------
3, L[{[hݒt@Cɂ

L[{[hݒt@ĆAL[{[h̊eL[ƂɊ肠Ă@\
(VT [̋@\A[U[`̑oATera Term R}h̎sA
}N̎s)`܂B

Tera Term CXg[̃L[ݒ͊eL[̋@\ VT [ɂł邾߂
Ȃ悤ɂĂ܂BL[{[hݒt@CҏW邱ƂɂāA
RɃL[ݒύX邱Ƃł܂B

Tera Term ̃R}hC Tera Term ǂݍރL[{[hݒt@C
t@Cw肷邱Ƃł܂ (Tera Term wvQ)Bt@C
gqȗꍇ ".CNF" łƂ݂Ȃ܂Bt@Cw肵Ȃ
ꍇAt@C KEYBOARD.CNF ǂݍ܂܂B

zzpbP[Wɂ͈ȉ̃L[{[hݒt@C܂܂Ă܂B

IBMKEYB.CNF	IBM-PC/AT ( DOS/V }V) 101 (106) L[{[hp
		ݒt@C̗ (Windows 95/NT p)

PC98KEYB.CNF	NEC PC98 L[{[hpݒt@C̗ (Windows 3.1/95 p)

NT98KEYB.CNF	NEC PC98 L[{[hpݒt@C̗ (Windows NT p)
		(Tera Term Pro ɂ̂݊܂܂Ă܂B)

KEYBOARD.CNF	WL[{[hݒt@C
		L 3 ̂ǂꂩRs[

CXg[[ IBMKEYB.CNF, PC98KEYB.CNF, NT98KEYB.CNF ̂K؂Ȃ̂
Rs[ KEYBOARD.CNF t@C쐬܂BǂꂪRs[邩́A
CXg[Ƀ[U[w肵L[{[h̎ނɂ茈肳܂B
CXg[ɃL[{[hwԈꍇ́AœK؂ȃt@C
Rs[ KEYBOARD.CNF 쐬ĂB

*** : PC98 NX V[Y PC ̏ꍇACXg[[
    uIBM-PC/AT L[{[hvIĂB***
...............................................................................
3.1 L[{[hݒt@Č`

L[{[hݒt@C̒ŗp PC key code  PC ̊eL[܂̓L[
gݍ킹ɑΉlŁAgpL[{[hɂĈقȂ܂B

L[{[hݒt@Cɂ́A[VT editor keypad], [VT numeric keypad].
[VT function keys], [X function keys], [Shortcut keys], [User keys] 6
ZNV݂܂B

1) [VT editor keypad] ZNV
VT [̃GfB^[L[ PC L[Ɋ蓖Ă܂B

	`:
		<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 (10i)

	:
		Up=328

2) [VT numeric keypad] ZNV
VT[̐lL[ PC L[Ɋ蓖Ă܂B

	`:
		<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 (10i)

	:
		Num0=82

	: VT [ł̓CL[pbh "Enter" L[ƐlL[pbh
	"Enter" L[Ⴄ𑗏o郂[ĥŁA"NumEnter=" 
	ɂ̓CL[ "Enter"  PC key code ȂłB
	CL[pbh "Enter" ƐlL[pbh "Enter" 
	PC key code 𔭐L[{[h(Ⴆ PC9801 L[{[h)̏ꍇ
	ӂKvłB

3) [VT function keys] ZNV
VT [̃t@NVL[ PC L[Ɋ蓖Ă܂B

	`:
		<VT function key name>=<PC key code>

	<VT function key name>
		(VT [̃t@NVL[)
		Hold, Print, Break, F6, F7, F8, F9, F10, F11, F12,
		F13, F14, Help, Do, F17, F18, F19, F20
		(VT ["[U[`L[")
		UDK6, UDK7, UDK8, UDK9, UDK10, UDK11, UDK12, UDK13,
		UDK14, UDK15, UDK16, UDK17, UDK18, UDK19, UDK20

	<PC key code>
		PC key code (10i)

	:
		F6=64

4) [X function keys] ZNV
Xterm  F1-F5 L[ PC L[Ɋ蓖Ă܂B

	`:
		<Xterm function key name>=<PC key code>

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

	<PC key code>
		PC key code (10i)

	:
		XF1=59

5) [Shortcut keys] ZNV
Tera Term ̋@\PC L[Ɋ蓖Ă܂B

	`:
		<Shortcut key name>=<PC key code>

	<Shortcut key name>	@\
	---------------------------------------------------------
	EditCopy		[Edit] Copy R}h
	EditPaste		[Edit] Paste R}h
	EditPasteCR		[Edit] Paste<CR> R}h
	EditCLS 		[Edit] Clear screen R}h
	EditCLB 		[Edit] Clear buffer R}h
	ControlOpenTEK		[Control] Open TEK R}h
	ControlCloseTEK 	[Control] Close TEK R}h
	LineUp			sXN[Abv
	LineDown		sXN[_E
	PageUp			y[WXN[Abv
	PageDown		y[WXN[_E
	BuffTop 		obt@[擪փXN[
	BuffBottom		obt@[ŌփXN[
	NextWin 		 Tera Term EBhEֈړ
	PrevWin 		O Tera Term EBhEֈړ
	LocalEcho		Local echo  on/off 

	<PC key code>
		PC key code (10i)

	:
		LineUp=1352

6) [User keys] ZNV
[U[L[ƁÃL[ƂɎs@\
(̑oA}Nt@C̎sAj[R}h̎s)
`܂B

	`:
		<User key name>=<PC key code>,<Control flag>,<>

	<User key name>
		User1, User2, User3,...., User99
		ő99܂Őݒ\AႦ10ݒ肷ꍇ User1 
		Ԃ User10 ܂łgpAȊO̖OgpĂ͂Ȃ
		ȂB

	<PC key code>
		PC key code (10i)

	<Control flag>
		L[Ƃ <> ǂ̂悤Ɏ舵w
		tOB
			0	<>̂܂ܑoB
			1	<>Ɋ܂܂銿sR[h
				Tera Term ̐ݒɂ킹ĕϊAϊ
				ꂽ𑗏oB
			2	<>̃t@C̃}Nt@C
				sB
			3	j[ ID <> Ŏw肳
				Tera Term ̃j[R}hsB

	<>:
		<Control flag>  0 ܂ 1 ̏ꍇAL[Ƃ
		o镶B\s\ȕ(䕶)͂
		ASCII R[h $ 216iŕ\
		(: CR  '$0D')B"$" ̂̂ "$24" ŕ\B
		ut^ A  ASCII R[h\vQƁB

		<Control flag>  2 ̏ꍇAs}Nt@C
		t@CB

		<Control flag>  3 ̏ꍇAs郁j[R}h
		j[ ID ()But^ B  j[ ID \vQƁB

	:
		User1=1083,0,telnet myhost
		User2=1084,0,$0D$0A
		User3=1085,1,ɂ́B
		User4=1086,2,test.ttl
		User5=1087,3,50110

...............................................................................
3.2 

1 PC key code ̓L[{[hݒt@ĈȂň񂾂gp邱Ƃ
ł܂BA1 PC key code 𕡐̃L[`ŎgpꍇA
Tera Term L[{[hݒt@Cǂݍ񂾂ƂɁA
"Key code XXX is used more than once" ƂxbZ[W\܂B
̏ꍇ̃L[`LɂȂȂ͖܂B

L[ݒ荀ڂɂǂ PC L[蓖ĂȂꍇ́Aȉ̂悤
PC key code ̑ "off" w肵ĂB

EditCopy=off

...............................................................................
3.3 \ȃL[̑gݍ킹

L[{[hݒt@CŐݒ\ PC ̃L[, KEYCODE.EXE  PC key code 
\L[łBP̃L[łȂACtrl, Shift, Alt pL[̑g
킹ł PC key code \邱Ƃł܂B\ȑgݍ킹
ȉɎ܂B

	Shift+key
	Ctrl+key
	Shift+Ctrl+key
	Shift+Alt+key
	Ctrl+Alt+key
	Shift+Ctrl+Alt+key

Tera Term  Windows ̃V[gJbgL[Ɋ蓖ĂĂL[̑gݍ킹
(Ⴆ Alt+key Ȃ)̓L[{[hݒt@CŎwł܂B

...............................................................................
3.4 Q & A

L[{[hݒ肪悭킩ȂꍇA̕ Tera Term wv
悭ǂłB҂ɃL[{[hݒɊւ鎿ȂłB

Q. Tera Term N邽т "Key code XXX is used more than once" Ƃ
   bZ[WłB
A. u3.2 ӁvQƁB

Q. PC  F1 L[ VT100  PF1 L[ƂĎgBȉ̂悤ɐݒ肵
   ܂ȂB

   [VT function keys]
   F1=PF1		(͂܂)

A. ӂ **PC** ̃L[̖Oł͂Ȃ **VT[** ̃L[̖Ow肵Ȃ
   ΂Ȃ܂B܂AEӂɂ̓L[̖Oł͂ȂAL[R[hw肵
   Bu3.1 L[{[hݒt@Č`vQƁB
   ܂AL[ݒςƂ́AL[R[h̏dgpȂ悤ɂ
   (u3.2 ӁvQ)B

   ȉ̂悤ɐݒ肵ĂB

   [VT function keys]
   PF1=59			(59  F1 L[̃L[R[h)
   [X function keys]
   ;XF1=59			(L[R[h 59 ̏dgp)
   XF1=off			("off" Œu)

Q. F1 L[ƂɃGXP[vV[PX ESC [ A 𑗏o悤
   邽߂̐ݒ@?
A. [U[L[g΁ADȕ𑗏o邱Ƃł܂B
   킵́Au3.1 L[{[hݒt@Č`vǂłB
   ܂AL[ݒςƂ́AL[R[h̏dgpȂ悤ɂ
   (u3.2 ӁvQ)B

   ȉ̂悤ɐݒ肵ĂB

   [X function keys]
   ;XF1=59			(F1 L[̃L[R[h 59 ̏dgp)
   XF1=off			("off" Œu)
   [User keys]
   User1=59,0,$1B[A		(ESC  ASCII R[h $1B)

-------------------------------------------------------------------------------
t^ A	ASCII R[h\ (16 i\)

Ⴆ΁A"A"  ASCII R[h $41B

------------------------------------------------------------
 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 |
------------------------------------------------------------

...............................................................................
t^ B	j[ ID \

j[ ID ̎w@ɂẮu3.1  L[{[hݒt@Č`vQƁB
j[ ID ͏ύX\܂B

1) VT window

j[R}h		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

j[R}h		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
