中国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
状态 离线
『楼 主』:  求助关于键盘抓码的问题

我在网上看了这方面的建议,修改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 楼』:  

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

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





积分 155
发帖 74
注册 2007-2-21
状态 离线
『第 3 楼』:  

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

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

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


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



论坛跳转: