4208|7

70

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

键盘上特殊功能键原理是什么? [复制链接]

我的罗技键盘无需专门软件支持(不用装驱动),上面有一些特殊功能键按下后可打开计算器、MediaPlay、增大音量,降低音量等。我想知道其是如何实现的?

最新回复

多谢各位,结贴散分!  详情 回复 发表于 2008-8-23 18:43
点赞 关注

回复
举报

64

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
Windows 2000之后定义了一些特殊的功能键,通过键盘发送特殊的扫描码来识别,普通键盘没有这些键。winuser.h中定义了这些键对应的VK:
#define VK_BROWSER_BACK        0xA6
#define VK_BROWSER_FORWARD     0xA7
#define VK_BROWSER_REFRESH     0xA8
#define VK_BROWSER_STOP        0xA9
#define VK_BROWSER_SEARCH      0xAA
#define VK_BROWSER_FAVORITES   0xAB
#define VK_BROWSER_HOME        0xAC
#define VK_VOLUME_MUTE         0xAD
#define VK_VOLUME_DOWN         0xAE
#define VK_VOLUME_UP           0xAF
#define VK_MEDIA_NEXT_TRACK    0xB0
#define VK_MEDIA_PREV_TRACK    0xB1
#define VK_MEDIA_STOP          0xB2
#define VK_MEDIA_PLAY_PAUSE    0xB3
#define VK_LAUNCH_MAIL         0xB4
#define VK_LAUNCH_MEDIA_SELECT 0xB5
#define VK_LAUNCH_APP1         0xB6
#define VK_LAUNCH_APP2         0xB7
#define VK_OEM_1          0xBA   // ';:' for US
#define VK_OEM_PLUS       0xBB   // '+' any country
#define VK_OEM_COMMA      0xBC   // ',' any country
#define VK_OEM_MINUS      0xBD   // '-' any country
#define VK_OEM_PERIOD     0xBE   // '.' any country
#define VK_OEM_2          0xBF   // '/?' for US
#define VK_OEM_3          0xC0   // '`~' for US
#define VK_OEM_4          0xDB  //  '[{' for US
#define VK_OEM_5          0xDC  //  '\|' for US
#define VK_OEM_6          0xDD  //  ']}' for US
#define VK_OEM_7          0xDE  //  ''"' for US
#define VK_OEM_8          0xDF
#define VK_OEM_AX         0xE1  //  'AX' key on Japanese AX kbd
#define VK_OEM_102        0xE2  //  "<>" or "\|" on RT 102-key kbd.
#define VK_ICO_HELP       0xE3  //  Help key on ICO
#define VK_ICO_00         0xE4  //  00 key on ICO
#define VK_PROCESSKEY     0xE5
#define VK_ICO_CLEAR      0xE6
#define VK_PACKET         0xE7
#define VK_OEM_RESET      0xE9
#define VK_OEM_JUMP       0xEA
#define VK_OEM_PA1        0xEB
#define VK_OEM_PA2        0xEC
#define VK_OEM_PA3        0xED
#define VK_OEM_WSCTRL     0xEE
#define VK_OEM_CUSEL      0xEF
#define VK_OEM_ATTN       0xF0
#define VK_OEM_FINISH     0xF1
#define VK_OEM_COPY       0xF2
#define VK_OEM_AUTO       0xF3
#define VK_OEM_ENLW       0xF4
#define VK_OEM_BACKTAB    0xF5
#define VK_ATTN           0xF6
#define VK_CRSEL          0xF7
#define VK_EXSEL          0xF8
#define VK_EREOF          0xF9
#define VK_PLAY           0xFA
#define VK_ZOOM           0xFB
#define VK_NONAME         0xFC
#define VK_PA1            0xFD
#define VK_OEM_CLEAR      0xFE
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
非常感谢您的回贴,上面的东西收藏了。还想问下:

在API中,程序不处理的消息要交给DefWindowProc处理,是不是2000/XP的缺省消息处理例程中已提供了对上述按键消息的处理了呢?
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

4
 
这些键我也没具体试过,感觉应该是应用程序自己来注册热键,如果没有程序响应这些键,则按键后没有任何效果。
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

5
 
顶一下
 
 
 

回复

94

帖子

0

TA的资源

一粒金砂(初级)

6
 
肯定要操作系统或软件支持
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

7
 
其实,那些windows按键最开始是微软定义的,后来别的键盘厂商也抄用了微软的东西。所以在Windows系统下肯定能够识别这些按键,还可以识别的按键有:
Windows 2000 Multi-Media key Code.
SET1 SET2
MAKE BREAK MAKE BREAK
K130 : WWW Back E06A E0EA E038 E0F038
K131 : WWWForward E069 E0E9 E030 E0F030 K132 : WWWstop E068 E0E8 E028 E0F028
K133 : WWWRefresh E067 E0E7 E020 E0F020
K134 : WWWSearch E065 E0E5 E010 E0F010
K135 : WWWFavorites E066 E0E6 E018 E0F018
K136 : WWWWeb/Home E032 E0B2 E03A E0F03A
K137 : Mail E06C E0EC E048 E0F048
K138 : Mute E020 E0A0 E023 E0F023
K139 : Volume- E02E E0AE E021 E0F021
K140 : Volume+ E030 E0B0 E032 E0F032
K141 : Play/Pause E022 E0A2 E034 E0F034
K142 : Stop E024 E0A4 E03B E0F03B
K143 : PreTrack E010 E090 E015 E0F015
K144 : Nexttrack E019 E099 E04D E0F04D
K145 : Media Select E06D E0ED E050 E0F050
K146 : MyComputer E06B E0EB E040 E0F040
K147 : Calculator E021 E0A1 E02B E0F02B
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

8
 
多谢各位,结贴散分!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表