中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 紧急求救: 关于键盘重定义 上一主题 | 下一主题
wllzwqz
初级用户

浮躁的菜鸟


积分 181
发帖 13
注册 2003-10-12
状态 离线
『楼 主』:  紧急求救: 关于键盘重定义 使用 LLM 解释/回答一下

本人的一台本本,退格键(Backspace)键帽有点问题,致使该键无法正常使用。我知道通过ANSI.SYS可以进行键盘重定义,我想用Insert键来代替退格键功能,希望各位高手告诉config.sys里面语句怎么写。不胜感激!

曾经用过一个软件,可以转定义,但因为是win98的系统,结果就总是提示explorer出错,因此只能考虑用ANSI.SYS来做了。




天行健,君子以自强不息!
2005-8-27 09:24
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

Re wllzwqz:

可以通过以下链接来熟悉ANSI的使用,但是需要提醒的是,ANSI.SYS的键盘重重义只在加载了ANSI.SYS的DOS或者Windows命令行下有效,在Windows的窗口界面中是不起作用的。

转贴:ANSI.SYS程序的使用
http://www.cn-dos.net/forum/viewthread.php?tid=1272

如何在多种环境下准备使用ANSI.SYS
http://www.cn-dos.net/forum/viewthread.php?tid=16292#pid96462




※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2005-8-27 14:40
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

看了Willsort转贴的Ansi.sys的应用,我受益匪浅!才知道原来Ansi.sys可以像楼主说的那样通过自定义把某一键代替为另一键。我研究了一下,发现Ansi.sys并不是对所有键都有效,尤其是Insert、Delete、Home、End、PgUp和pgDn键是不能替换为其它键的。因此我建议楼主用F12代替退格键。首先在config.sys里添加一行装载Ansi.sys(该文件位于Win98的command目录下):

devicehigh=c:\windows\command\ansi.sys

然后在Autoexec.bat添加:

prompt $e[0;134;8p$p$g

测试成功,但只对纯DOS以及Win98的MSDOS方式下有效,该方法对Windows的应用程序是不能替代退格键的,只能用第三方工具了。




----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
2005-8-27 22:29
查看资料  发送邮件  发短消息  网志  OICQ (373343541)  编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

Re JonePeng:

Insert 等键是可以替换的,只是它们的ANSI编码比较特殊。详细参看以下截取自PDOS6.22帮助文档中的ANSI.SYS。

----------------------------------------------------------------------------

ANSI.SYS

定义一套函数,用于改变图形的显示,控制光标的移动,以及对键盘进行重新设
置。ANSI.SYS设备驱动程序支持ANSI ESC序列的终端仿真,来对系统屏幕和键盘进行
控制。
ANSI ESC序列是一个ASCII码字符序列;序列开头的两个字符是ESC转义字符
(ASCII码为1Bh)和左方括号(5Bh),紧跟其后的是一个控制键盘和显示功能的字母
数字代码序列。 ANSI转义序列严格区分字母大小写,如“A”和“a”就分别有完全不
同的意义。
这个设备驱动程序必须通过CONFIG.SYS文件中的<DEVICE>或<DEVICEHIGH>命令
加载。

注意:本主题中,语法和ANSI ESC转义序列的黑体字必须严格照原样输入。

语法

DEVICE=ANSI.SYS

参数


指定ANS1.SYS文件所在处的完整路径名。

开关项

/X
重新映射独立于101键键盘的扩展键。

/K
ANSI.SYS象处理84键键盘一样来处理101键键盘。 这与命令SWITCHES=/K等效。
如果经常要用SWITCHES=/K命令,则有必要在ANSI.SYS中用/K开关项。

/R
在读屏幕程序(使计算机更方便残疾人操作)中用ANSI.SYS时,/R通过调整行滚动
来提高其可读性。

ANSI转义序列中要用到以下参数:

Pn
数字参数。指定一个十进制数字。

Ps
可选参数。指定一个十进制数,用以选择某一函数。若要指定多个函数,可用
(;)分隔不同的函数。

PL
行参数。指定一个十进制数,表示显示器或另一设备上显示的某一行。

Pc
列参数。指定一个十进制数,表示显示器或另一设备上显示的某一列。

用于光标移动、图形和键盘设置的ANSI ESC序列

下列ANSI转义序列中,缩写ESC代表ASCII转义字符27(1Bh),它出现在每个
转义序列的开头。

ESC










































































































































































































































































93 125 29 0;27

92 124 28 0;43

; 59 58 ─ 0;39

' 39 34 ─ 0;40

, 44 60 ─ 0;51

. 46 62 ─ 0;52

/ 47 63 ─ 0;53

` 96 126 ─ (0;41)

ENTER (小键盘) 13 ─ 10 (0;166)

/ (小键盘) 47 47 (0;142) (0;74)

* (小键盘) 42 (0;144) (0;78) ─

- (小键盘) 45 45 (0;149) (0;164)

+ (小键盘) 43 43 (0;150) (0;55)

5 (小键盘) (0;76) 53 (0;143) ─

----------------------------------------------------------------------------

ANSI.SYS─注解

重新映射的扩展键

带101个键的键盘,可利用/X开关对某些扩展键重新进行映射。例如,101键
键盘上有两个HOME键:一个在数字小键盘上,一个在光标控制键块中。这两个HOME键
在MS-DOS中是一样的,除非您指定了/X开关。

忽略扩展键

如果您的程序不能正确解释利用改进的键盘所进行的输入,可利用ANSI.SYS的
/K开关项。这样,改进的键盘可当作普通键盘使用。

同时使用/X和/K开关

不能在ANSI.SYS中同时指定/X开关和/K开关。

----------------------------------------------------------------------------

ANSI.SYS─例子

输入以下转义序列,利用文字串来使反斜杠和问号键互换。

ESC


















Last edited by willsort on 2005-9-2 at 15:14 ]




※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2005-9-2 15:12
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: