社区
Linux/Unix社区
帖子详情
请问关于扫描码和键盘码的问题?
jiang10000
2003-08-22 11:16:09
我在linux下用showkey能得到扫描码,得到的好象是十六进制的,那我在程序里该怎么做呢?
...全文
70
2
打赏
收藏
请问关于扫描码和键盘码的问题?
我在linux下用showkey能得到扫描码,得到的好象是十六进制的,那我在程序里该怎么做呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wwwunix
2003-08-25
打赏
举报
回复
showkey -s得到的是扫描码,每个键按下和放开的扫描码是不相同的.
jiang10000
2003-08-25
打赏
举报
回复
没人回答吗?
键盘
扫描
码
与虚拟
码
的关系
当用户按下
键盘
上的一个键时,
键盘
内的芯片会检测到这个动作,并把这个信号传送到计算机。如何区别是哪一个键被按下了呢?
键盘
上的所有按键都有一个编
码
,称作
键盘
扫描
码
。当你按下一个键时,这个键的
扫描
码
就被传给系统。
扫描
码
是跟具体的硬件相关的,同一个键,在不同
键盘
上的
扫描
码
有可能不同。
键盘
控制器就是将这个
扫描
码
传给计算机,然后交给
键盘
驱动程序。
键盘
驱动程序会完成相关的工作,并把这个
扫描
码
转换为
键盘
虚拟
码
。(驱动是driver(司机),乘客不直接操作车,只要把命令告诉司机,司机执行响应的操作就可以了。车辆状况不直接告诉
个人理解
键盘
扫描
码
、虚拟键
码
和ASCII
扫描
码
:
键盘
硬件对应的按键的编
码
; 虚拟键
码
:操作系统对应的按键的编
码
; 当用户按下某个按键时: 1)
键盘
会检测到这个动作,并通过
键盘
控制器把
扫描
码
(scan code) 传送到计算机;
键盘
扫描
码
跟具体的硬件有关的,不同厂商对同一个键的
扫描
码
有可能不同。 2)计算机接收到
扫描
码
后,将其交给
键盘
驱动程序 ; 3)
键盘
驱动程序 把这个
扫描
码
转换为
键盘
虚拟
码
;虚
c语言
扫描
码
,一种全
键盘
扫描
码
的获取方法
在软件设计中经常需要对用户的
键盘
操作进行监控,这就涉及到对
键盘
扫描
码
的读取通常,
键盘
上每个键都对应一个两字节的
扫描
代
码
,低字节是按键的ASCH
码
,但特殊键或扩展键的低字节是零,就必须从高字节获得其键位
码
。使用C函数B10SKEY()或直接读取ox6oH端口和内存地址。:。飞17H开始的换档状态虽然能读出大部分
扫描
码
和一般的组合键,但是对于Fll、F12和一些特殊的组合键采用这种办法就无能为力了。为...
键盘
扫描
码
介绍
C和C++语言中没有
键盘
ASCII
码
,对于每个按键有
扫描
码
代替,关于
扫描
码
如下介绍。
键盘
上的每一个键都有两个唯一的数值进行标志。为什么要用两个数值而不是一个数值呢?这是因为一个键可以被按下,也可以被释放。当一个键按下时,它们产生一个唯一的数值,当一个键被释放时,它也会产生一个唯一的数值,我们把这些数值都保存在一张表里面,到时候通过查表就可以知道是哪一个键被敲击,并且可以知道是它是被按下还是被释
PS2
键盘
扫描
码
:通
码
与断
码
键盘
扫描
码
(实用于标准PC的101、102和104 键的
键盘
),按下发送通
码
,弹起发送断
码
。 说明: 第一类按键,通
码
为1字节,断
码
为 0xF0+通
码
形式。如A键,其通
码
为 0x1C,断
码
为 0xF0 0x1C,第二类按键,通
码
为2字节 0xE0+0x?? 形式,断
码
为 0xE0+0xF0+0x?? 形式。如 right ctrl键,其通
码
为 0xE0 0x14,断
码
为 0xE0 ...
Linux/Unix社区
23,118
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章