- 论坛徽章:
- 1
|
以下以sco unix 5,实达终端为例,目的要把F3、F5、F6定义为VT100下的相应键值:1、先从以下表格找到要自定义的功能键的“位置码”,
注:(对于PC101键盘 Ctrl+F1~F12óF1~F12即两边是等价的,以下同理。Shift+F11~F12óAlt+F11~F12
对于VT220键盘 Shift+F6~F20óF6~F20)
由表格中查询可知以下功能键之位置码,F3=19,F5=21,F6=24
PC101键盘
VT220键盘
位置码
Ctrl+F1
Shift+F6
17
Ctrl+F2
Shift+F7
18
Ctrl+F3
Shift+F8
19
Ctrl+F4
Shift+F9
20
Ctrl+F5
Shift+F10
21
Ctrl+ESC
Shift+F11
23
Ctrl+F6
Shift+F12
24
Ctrl+F7
Shift+F13
25
Ctrl+F8
Shift+F14
26
Shift+F11
Shift+Help
28
Shift+F12
Shift+Do
29
Ctrl+F9
Shift+F17
31
Ctrl+F10
Shift+F18
32
Ctrl+F11
Shift+F19
33
Ctrl+F12
Shift+F20
34
通过Setup键盘设置中定义键切换可使自定义功能键和固有功能键相互切换。
2、在Sco unix下运行infocmp vt100,结果如下:# infocmp vt100# Reconstructed via infocmp from file: /usr/lib/terminfo/v/vt100vt100|vt100-am|dec vt100 (w/advanced video), am, mir, msgr, xenl, xon, cols#80, it#8, lines#24, vt#3, acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~, bel=^G, blink=\E[5m$, bold=\E[1m$, clear=\E[H\E[J$, cr=\r, csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=\b, cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C$, cup=\E[%i%p1%d;%p2%dH$, cuu=\E[%p1%dA, cuu1=\E[A$, ed=\E[J$, el=\E[K$, el1=\E[1K$, enacs=\E(B\E)0, home=\E[H, ht=\t, hts=\EH, ind=\n, ka1=\EOq, ka3=\EOs, kb2=\EOr, kbs=\b, kc1=\EOp, kc3=\EOn, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kent=\EOM, kf0=\EOy, kf1=\EOP, kf10=\EOx, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl, kf9=\EOw, rc=\E8, rev=\E[7m$, ri=\EM$, rmacs=^O, rmso=\E[m$, rmul=\E[m$, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7, sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t^N%e^O%;, sgr0=\E[m^O$, smacs=^N, smso=\E[1;7m$, smul=\E[4m$, tbc=\E[3g, 注意上面的红色部分,这就是VT100的F3、F5、F6的相应键值,以kf3=\EOR为例,kf3表示功能键F3,在E表示ESC键,后面就是英文字母OR了,注意以上键值是大小写敏感的。 3.现在根据下面的对照表查键值相应的ASCII码,同样以F3的键值EOR为例(注意E代表ESC键) ESC=21,O=79,R=82
ASCII码
键盘
ASCII 码
键盘
ASCII码
键盘
ASCII 码
键盘
27
ESC
32
SPACE
33
!
34
"
35
#
36
$
37
%
38
&
39
'
40
(
41
)
42
*
43
+
44
'
45
-
46
.
47
/
48
0
49
1
50
2
51
3
52
4
53
5
54
6
55
7
56
8
57
9
58
:
59
;
60
61
=
62
>
63
?
64
@
65
A
66
B
67
C
68
D
69
E
70
F
71
G
72
H
73
I
74
J
75
K
76
L
77
M
78
N
79
O
80
P
81
Q
82
R
83
S
84
T
85
U
86
V
87
W
88
X
89
Y
90
Z
91
[
92
\
93
]
94
^
95
_
96
`
97
a
98
b
99
c
100
d
101
e
102
f
103
g
104
h
105
i
106
j
107
k
108
l
109
m
110
n
111
o
112
p
113
q
114
r
115
s
116
t
117
u
118
v
119
w
120
x
121
y
122
z
123
{
124
|
125
}
126
~
4.打开windows下的计算器,切换到科学计算器模式,把上面查到的ASCII转换成十六进制,以上面的结果为例,结果如下 ESC=21=1b,O=79=4f,R=82=52 也就是说,现在F3的十六进制键值为1b4f52 5.按照实达终端的技术手册给出的设置语法,设置F3、F5、F6功能键的unix语句如下 echo "\033P1;1|19/1b4f52;21/1b4f74;24/1b4f75\033\\" 其中,红色部分为我们要修改的部份,其他是固定的标志符序列。 F3键相应的设置为19/1b4f52F5键的相应的设置为21/1b4f74F6键的相应的设置为24/1b4f75
6.把这句话加进需要设置些功能键的相应用户的.profile文件中,bingo!!!!
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_508081.html |
|