免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2098 | 回复: 0
打印 上一主题 下一主题

终端键盘功能键自定义step by step [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之北控
日期:2022-03-04 22:35:50
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-25 21:09 |只看该作者 |倒序浏览

以下以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_508083.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP