中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 求助关于键盘抓码的问题 上一主题 | 下一主题
andylei
新手上路





积分 17
发帖 7
注册 2006-9-15
状态 离线
『楼 主』:  求助关于键盘抓码的问题 使用 LLM 解释/回答一下

我在网上看了这方面的建议,修改15号4FH中断较易实现。
下面是我编写程序的主体。但还是不理想,一些状态键:CTRL,ALT,PAUSE等抓不到!我已搞了好久,没一点头绪!!!请各位帮忙!!!!

int15:
pushf
push ax
push cx
push dx
push bx
push sp
push bp
push si
push di
push ds
push es

cmp ah,4fh
jnz exit_int15

push cs
pop ds
push cs
pop es
inc byte ptr flag_15
mov key_buff_15,al
scan1_15:
push ax ;显示扫描代码

shr al,1 ;先显示高4位

shr al,1

shr al,1

shr al,1

cmp al,0ah

jb scan2_15

add al,7

scan2_15: add al,30h ;转换成ASCII码

mov bx,0

mov ah,0eh

int 10h

pop ax ;后显示低四位

and al,0fh

cmp al,0ah

jb scan3_15

add al,7

scan3_15: add al,30h ;转换成ASCII码

mov ah,0eh

int 10h

mov ax,0e20h ;显示两个空格,以分隔扫描代码

int 10h

mov ax,0e20h

int 10h

exit_int15:
;;;;;;;;;;;;;LFC 07/2/5
pop es
pop ds
pop di
pop si
pop bp
pop sp
pop bx
pop dx
pop cx
pop ax
popf


DB 0EAH
OFF_15 DW ?
SEG_15 DW ?

谢谢!


2007-3-3 07:31
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
andylei
新手上路





积分 17
发帖 7
注册 2006-9-15
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

请各位帮帮忙!真是没一点法子!


2007-3-3 08:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
mfdcxnf
初级用户





积分 155
发帖 74
注册 2007-2-21
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

我不懂,帮你顶上去,我觉得这个问题好


2007-3-17 08:54
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: