《KEY(按键)应用》大全
几个组合健的应用

几个组合健的应用Windows徽标键1、WINKEY+D:桌面上的所有窗口瞬间最小化。
2、WINKEY + F:“开始→搜索→文件和文件夹”3、WINKEY + R:打开‘运行’对话框”。
4、WINKEY + E:打开资源管理器5、WINKEY+M老板健Ctrl键Ctrl + C 复制;Ctrl + X 剪切;Ctrl + V 粘贴;Ctrl +F查找替换Ctrl + Z 撤消。
CTRL+N新建CTRL+O打开CTRL+D文字处理(含上下标)CTRL+shift+=上标,CTRL+=下标CTRL+S保存,CTRL+P打印,CTRL+[缩小文字,CTRL+]放大文字,CTRL+空格当前输入法与英文输入法快速切换CTRL+B粗体;CTRL+ I斜体; CTRL+ U下划线;CTRL+A 全选CTRL+K插入超连接CTRI+AIL+DEL:死机重启CTRL+SHIFT+<迅速缩小文字CTRL+SHIFT+>迅速放大文字CTRL+1 单倍行距CTRL+2 双倍行距CTRL+3 锁定CTRL+5 1.5倍行距CTRL+SHIFT+A 大写CTRL+SHIFT+V 格式粘贴ctrl+shift+f 定义字体ctrl+shift+W 只给词加下划线ctrl+alt+I 预览ctrl+alt+> 省略号Alt+shift+T 时间Alt+shift+D 插入日期Alt+shift+P 插入页码SHIFT+DEL直接删除文件不经过回收站SHIFT+回车迅速进入系统Shift键使用小窍门(绘制标准图形)画图形时按住Shift键,可以画出正圆、正方形、正五角星、等边三角形、正立方体、正方形的文本框等。
按住Shift键,画出的直线和箭头线与水平线的夹角不是任意的,而是15°、30°、45°、60°、75°和90°等几种固定角度。
按住Shift键后绘制出的图形都是标准图形,而且按住Shift键不放可以连续选中多个图形。
KEY按键应用大全

ES = 0; /* disable Serial INT*/
EA = 1; /* Open INT Ctrl */
}
void KBKeyEncode(void)
{
data unsigned char CurrPress=0,LastPress=0;
;废除双击键事件
;废除任意组合键事件
按键扫描驱动程序
key36
temp = 35;
}
else {
}
}
return key;//返回键码0~35或出错码0xff
}
单片机驱动标准PC机键盘的C51程序
/*---------------------------------------------------------------------------------------------------
;HotPower将虚心接受,坚决改正.重新做人.
;发表目的:在21IC中壮大游击队.
;----------------------------------------------------
;由于2051资源问题,本程序只取多任务键盘的压放键2个事件
;废除长压键(压键1段时间后才激活)事件
;废除长放键(放键1段时间后才激活)事件
#define KB_INTERNAL 3 /*Key DBClk Detection Internal */
/*
SysKBMsg define Keyboard Message,it include Single_Click or Double_Click
It's bit6~bit0 record key_encode and bit 7 record DBClk(1) or SglClk(0)
电脑键盘应用大全

F1帮助 F2改名 F3搜索 F4地址 F5刷新 F6切换 F10菜单CTRL+A全选 CTRL+C复制 CTRL+X剪切 CTRL+V粘贴 CTRL+Z撤消 CTRL+O打开SHIFT+DELETE永久删除 DELETE删除ALT+ENTER属性 ALT+F4关闭 CTRL+F4关闭 ALT+TAB切换ALT+ESC切换 ALT+空格键窗口菜单 CTRL+ESC开始菜单拖动某一项时按CTRL复制所选项目拖动某一项时按CTRL+SHIFT创建快捷方式将光盘插入到CD-ROM驱动器时按SHIFT键阻止光盘自动播放Ctrl+1,2,3... 切换到从左边数起第1,2,3...个标签Ctrl+A 全部选中当前页面内容Ctrl+C 复制当前选中内容Ctrl+D 打开“添加收藏”面版(把当前页面添加到收藏夹中)Ctrl+E 打开或关闭“搜索”侧边栏(各种搜索引擎可选)Ctrl+F 打开“查找”面版Ctrl+G 打开或关闭“简易收集”面板Ctrl+H 打开“历史”侧边栏Ctrl+I 打开“收藏夹”侧边栏/另:将所有垂直平铺或水平平铺或层叠的窗口恢复Ctrl+K 关闭除当前和锁定标签外的所有标签Ctrl+L 打开“打开”面版(可以在当前页面打开Iternet地址或其他文件...) Ctrl+N 新建一个空白窗口(可更改,Maxthon选项→标签→新建)Ctrl+O 打开“打开”面版(可以在当前页面打开Iternet地址或其他文件...) Ctrl+P 打开“打印”面板(可以打印网页,图片什么的...)Ctrl+Q 打开“添加到过滤列表”面板(将当前页面地址发送到过滤列表)Ctrl+R 刷新当前页面Ctrl+S 打开“保存网页”面板(可以将当前页面所有内容保存下来)Ctrl+T 垂直平铺所有窗口Ctrl+V 粘贴当前剪贴板内的内容Ctrl+W 关闭当前标签(窗口)Ctrl+X 剪切当前选中内容(一般只用于文本操作)Ctrl+Y 重做刚才动作(一般只用于文本操作)Ctrl+Z 撤消刚才动作(一般只用于文本操作)Ctrl+F4 关闭当前标签(窗口)Ctrl+F5 刷新当前页面Ctrl+F6 按页面打开的先后时间顺序向前切换标签(窗口)Ctrl+F11 隐藏或显示菜单栏Ctrl+Tab 以小菜单方式向下切换标签(窗口)Ctrl+Enter 域名自动完成(内容可更改,Maxthon选项→地址栏→常规)/另:当输入焦点在搜索栏中时,为高亮关键字Ctrl+拖曳保存该链接的地址或已选中的文本或指定的图片到一个文件夹中(保存目录可更改,Maxthon选项→保存)Ctrl+小键盘'+' 当前页面放大20%Ctrl+小键盘'-' 当前页面缩小20%Ctrl+小键盘'*' 恢复当前页面的缩放为原始大小Ctrl+Alt+S自动保存当前页面所有内容到指定文件夹(保存路径可更改,Maxthon选项→保存)Ctrl+Shift+小键盘'+' 所有页面放大20%Ctrl+Shift+小键盘'-' 所有页面缩小20%Ctrl+Shift+F 输入焦点移到搜索栏Ctrl+Shift+G 关闭“简易收集”面板Ctrl+Shift+H 打开并激活到你设置的主页Ctrl+Shift+N 在新窗口中打开剪贴板中的地址,如果剪贴板中为文字,则调用搜索引擎搜索该文字(搜索引擎可选择,Maxthon选项→搜索)Ctrl+Shift+S 打开“保存网页”面板(可以将当前页面所有内容保存下来,等同于Ctrl+S)Ctrl+Shift+W 关闭除锁定标签外的全部标签(窗口)Ctrl+Shift+F6 按页面打开的先后时间顺序向后切换标签(窗口)Ctrl+Shift+Tab 以小菜单方式向上切换标签(窗口)Ctrl+Shift+Enter 域名自动完成Alt+1 保存当前表单Alt+2 保存为通用表单Alt+A 展开收藏夹列表资源管理器END显示当前窗口的底端HOME显示当前窗口的顶端NUMLOCK+数字键盘的减号(-)折叠所选的文件夹NUMLOCK+数字键盘的加号(+)显示所选文件夹的内容NUMLOCK+数字键盘的星号(*)显示所选文件夹的所有子文件夹向左键当前所选项处于展开状态时折叠该项,或选定其父文件夹向右键当前所选项处于折叠状态时展开该项,或选定第一个子文件夹自然键盘【窗口】显示或隐藏“开始”菜单【窗口】+F1帮助【窗口】+D显示桌面【窗口】+R打开“运行”【窗口】+E打开“我的电脑”【窗口】+F搜索文件或文件夹【窗口】+U打开“工具管理器”【窗口】+BREAK显示“系统属性”【窗口】+TAB在打开的项目之间切换辅助功能按右边的SHIFT键八秒钟切换筛选键的开和关按SHIFT五次切换粘滞键的开和关按NUMLOCK五秒钟切换切换键的开和关左边的ALT+左边的SHIFT+NUMLOCK切换鼠标键的开和关左边的ALT+左边的SHIFT+PRINTSCREEN切换高对比度的开和关运行按“开始”-“运行”,或按WIN键+R,在『运行』窗口中输入:(按英文字符顺序排列)%temp%---------打开临时文件夹.--------------C:\DocumentsandSettings\用户名所在文件夹..-------------C:\DocumentsandSettings...------------我的电脑\--------------C盘appwize.cpl----添加、删除程序access.cpl-----辅助功能选项Accwiz---------辅助功能向导cmd------------CMD命令提示符command--------CMD命令提示符chkdsk.exe-----Chkdsk磁盘检查certmgr.msc----证书管理实用程序calc-----------启动计算器charmap--------启动字符映射表cintsetp-------仓颉拼音输入法cliconfg-------SQLSERVER客户端网络实用程序clipbrd--------剪贴板查看器control--------打开控制面板conf-----------启动netmeetingcompmgmt.msc---计算机管理cleanmgr-------垃圾整理ciadv.msc------索引服务程序dcomcnfg-------打开系统组件服务ddeshare-------打开DDE共享设置dxdiag---------检查DirectX信息drwtsn32-------系统医生devmgmt.msc----设备管理器desk.cpl-------显示属性dfrg.msc-------磁盘碎片整理程序diskmgmt.msc---磁盘管理实用程序dvdplay--------DVD播放器eventvwr-------事件查看器eudcedit-------造字程序explorer-------打开资源管理器fsmgmt.msc-----共享文件夹管理器firewall.cpl---WINDOWS防火墙gpedit.msc-----组策略hdwwiz.cpl-----添加硬件iexpress-------木马捆绑工具,系统自带inetcpl.cpl----INTETNET选项intl.cpl-------区域和语言选项(输入法选项)irprops.cpl----无线链接joy.cpl--------游戏控制器lusrmgr.msc----本机用户和组logoff---------注销命令main.cpl-------鼠标mem.exe--------显示内存使用情况migwiz---------文件转移向导mlcfg32.cpl----邮件mplayer2-------简易widnowsmediaplayer mspaint--------画图板msconfig.exe---系统配置实用程序mstsc----------远程桌面连接magnify--------放大镜实用程序mmc------------打开控制台mmsys.cpl------声音和音频设备mobsync--------同步命令ncpa.cpl-------网络连接nslookup-------IP地址侦测器netstartX----开始X服务netstopX-----停止X服务netstat-an----命令检查接口netsetup.cpl---无线网络安装向导notepad--------打开记事本nslookup-------IP地址侦探器narrator-------屏幕“讲述人”ntbackup-------系统备份和还原ntmsmgr.msc----移动存储管理器ntmsoprq.msc---移动存储管理员操作请求nusrmgr.cpl----用户账户nwc.cpl--------NetWare客户服务osk------------打开屏幕键盘odbcad32-------ODBC数据源管理器odbccp32.cpl---ODBC数据源管理器oobe/msoobe/a-检查XP是否激活packager-------对象包装程序perfmon.msc----计算机性能监测程序powercfg.cpl---电源选项progman--------程序管理器regedit--------注册表rsop.msc-------组策略结果集regedt32-------注册表编辑器regsvr32/?----调用、卸载DLL文件运行(详细请在cmd中输入regsvr32/?)sapi.cpl-------语音services.msc---本地服务设置syncapp--------创建一个公文包sysedit--------系统配置编辑器sigverif-------文件签名验证程序sndrec32-------录音机sndvol32-------音量控制程序shrpubw--------共享文件夹设置工具secpol.msc-----本地安全策略sysdm.cpl------系统syskey---------系统加密(一旦加密就不能解开,保护windowsxp系统的双重密码)services.msc---本地服务设置sfc.exe--------系统文件检查器sfc/scannow---windows文件保护shutdown-------关机命令(详细请在cmd中输入shutdown/?)taskmgr--------任务管理器telephon.cpl---电话和调制解调器选项telnet---------远程连接程序timedate.cpl---日期和时间tourstart------xp简介(安装完成后出现的漫游xp程序)tsshutdn-------60秒倒计时关机命令utilman--------辅助工具管理器winver---------检查Windows版本winmsd---------系统信息wiaacmgr-------扫描仪和照相机向导winchat--------XP自带局域网聊天wmimgmt.msc----打开windows管理体系结构(WMI)wordpad--------写字板wuaucpl.cpl----自动更新wupdmgr--------windows更新程序write----------写字板wscript--------windows脚本宿主设置wscui.cpl------安全中心C:/windows/fonts字体。
key的用法和短语例句

key的用法和短语例句key有键;关键;钥匙;答案等意思,那么你知道key的用法吗?下面跟着店铺一起来学习一下,希望对大家的学习有所帮助!key的用法:key的用法1:key是可数名词,基本意思是开房门、箱子等和上钟表发条等的“钥匙”,引申可表示解决事件或问题等的“关键,线索,秘诀,解法,答案”等,其前用定冠词,其后常接介词to〔of〕引起的短语作定语。
key的用法2:key还可作音乐等的“调子,音调”解。
引申可表示思想、文章、演说等的“调子,基调,口吻”。
key的用法3:key也可作琴、打字机、计算机等的“键,按键”解,其后常接介词of引起的短语作定语。
key的用法4:key还可作“要塞,要冲,咽喉”解,其后常接介词to 引起的短语作定语。
key的用法5:key还可用于另一个名词前作定语,用作形容词表示“极重要的,关键的”。
key的用法6:key用作及物动词时,作“用键盘输入”“调整…的音调,定调子”解,后接名词或代词作宾语; 还可作“使与…适应〔适合〕”解,常与介词to连用。
可用于被动结构。
key的用法7:key up可表示“升高或调整(乐器的)音调”,还可表示“使激动,使紧张”“鼓舞”,后面常接介词about,for, to引起的短语作状语。
key的常用短语:用作名词 (n.)get〔have〕 the key to the doorkey to a problem用作动词 (v.)key to (v.+prep.)key up (v.+adv.)key的用法例句:1. The key issue was whether the four defendants acted dishonestly.关键问题是4名被告是否存在欺诈行为。
2. For a beach resort with a difference, try Key West.如果想去一个与众不同的海滨度假胜地,那就去基韦斯特吧。
单个按键多次击键的检测方法

宝箱》。
网址: 《匠人手记》之十二单个按键多次击键的检测方法作者:程序匠人 出处:《匠人的百宝箱》1.前言匠人早年曾经写过一篇关于单个按键多次击键的检测方法。
现抽空重新整理一下。
(这“重新整理”的另一种说法就是“炒冷饭”,呵呵)在某些设计中,我们可能要用一个按键来输入多种信息。
如:单击/双击/三击、短击/长击、还有各种组合击键方式。
为了实现这种需要,匠人设计了这个读键子程序。
本文的正式发布版本为PDF格式,欢迎转载。
匠人唯一的要求是,转载者不可对文件中的任何内容(包括作者和出处信息)进行修改。
转载者有义务保证此文档的完整性。
2.设计思路在这个读键子程序中,定义了三个常数。
1)长击时间常数=500ms用于识别短击/长击。
如果按键闭合时间<500ms,判断为一次短击(用“0”代表);如果按键闭合时间>500ms,判断为一次长击(用“1”代表)。
2)两次击键时间间隔常数=700ms用于判别击键动作是否完成。
两次击键时间间隔应<700ms,如果按键释放后700ms内无键按下,则结束读键。
3)最多击键次数(ZHBIT)本程序可以识别的击键次数为1~7次。
由于每次击键都可以是短击或长击,所以最多可以识别254种组合。
但并非每个程序中用得上这么多次击键。
在大多数程序中,能判断双击即可以了,这时可将程序中的ZHBIT常数定义为2。
同理,如果要判断3次按键,将ZHBIT 常数定义为3即可。
当ZHBIT=1时,程序仅能识别1次击键,那么就有2种不同的组合:短击、长击 当ZHBIT=2时,程序还能识别最多2次击键,那么就有6(2+4)种不同的组合:短击、长击、短击+短击、短击+长击、长击+短击、长击+长击宝箱》。
网址:当ZHBIT=3时,程序能识别最多3次击键,包括14(2+4+8)种组合。
以此类推,就可以得到以下这张表格:最多击键次数(ZHBIT)组合种类1 22 2+4=63 2+4+8=144 2+4+8+16=305 2+4+8+16+32=626 2+4+8+16+32+64=1267 2+4+8+16+32+64+128=254通过上面的表格,我们可以看到,这个子程序的潜力巨大,最多可以识别254种击键组合序列。
电脑应用keyboard

电脑keyboard应用winkey+d :这是高手最常用的第一快捷组合键。
这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口!winkey+f :不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f就会弹出搜索窗口。
winkey+r :在我们的文章中,你经常会看到这样的操作提示:“点击…开始→运行‟,打开…运行‟对话框……”。
其实,还有一个更简单的办法,就是按winkey + r!alt + tab :如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。
而alt+tab+shift键则可以反向显示当前打开的窗口。
winkey+e :当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽”!再也不用腾出一只手去摸鼠标了!小提示:winkey指的是键盘上刻有windows徽标的键●。
winkey主要出现在104键和107键的键盘中。
104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。
107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。
Windows快捷键大全(中文win2000下测试通过,XP下应该大部分也是能用的——Tikoko)-----------------------------------------------------------------------------------F1 显示当前程序或者windows的帮助内容。
F2 当你选中一个文件的话,这意味着“重命名”F3 当你在桌面上的时候是打开“查找:所有文件”对话框F10或ALT 激活当前程序的菜单栏windows键或CTRL+ESC 打开开始菜单CTRL+ALT+DELETE 在win9x中打开关闭程序对话框DELETE 删除被选择的选择项目,如果是文件,将被放入回收站SHIFT+DELETE 删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站CTRL+N 新建一个新的文件CTRL+O 打开“打开文件”对话框CTRL+P 打开“打印”对话框CTRL+S 保存当前操作的文件CTRL+X 剪切被选择的项目到剪贴板CTRL+INSERT 或CTRL+C 复制被选择的项目到剪贴板SHIFT+INSERT 或CTRL+V 粘贴剪贴板中的内容到当前位置ALT+BACKSPACE 或CTRL+Z 撤销上一步的操作ALT+SHIFT+BACKSPACE 重做上一步被撤销的操作Windows键+M 最小化所有被打开的窗口。
key用法及搭配
key用法及搭配在Vue中,"key" 属性用于标识具有唯一性的元素,以便Vue可以跟踪元素的状态和重新渲染。
下面是"key" 属性的使用及常见搭配方式:1. 在v-for指令中使用key:```html<div v-for="item in items" :key="item.id"><!--元素内容--></div>```在使用v-for指令进行列表渲染时,需要为每个被渲染的元素添加"key" 属性。
这样可以帮助Vue识别列表中每个元素的唯一性,以便进行高效的列表更新和重渲染。
2. 在动态组件中使用key:```html<component :is="currentComponent" :key="componentKey"></compon ent>```当在动态组件中切换不同的组件时,可以使用"key" 属性来确保每次切换时都会创建一个新的组件实例。
这样可以避免组件复用时出现的状态混乱或缓存问题。
3. 在条件渲染中使用key:```html<div v-if="show" :key="componentKey"><!--元素内容--></div>```在条件渲染中,使用"key" 属性可以确保每次条件发生变化时,都会重新创建元素。
这对于需要进行过渡效果或动画的元素切换非常有用。
需要注意的是,"key" 属性的值应该是唯一且稳定的,最好使用一些具有唯一性的标识符,比如数据库中的唯一ID、索引值等。
避免使用随机数或在循环中使用索引作为"key" 值,因为这样可能导致渲染问题或性能下降。
key的用法和搭配
key的用法和搭配一、key的基本概念及用法"Key" 是一个常见的英语词汇,具有多种不同的含义和用法。
在本文中,我们将重点讨论与“key”的意思相关联的一些常见用法和搭配。
1.1 指示位置或进入“Key”可以用作一个名词,指示某个地方的入口或位置。
例如,“传送门的位置是在大厅的左边,在红色门旁边。
”这里,“key”指的是一个重要标志,帮助人们找到进入传送门的正确位置。
1.2 表示关键事项或重要元素在很多情况下,“key”也被用来表示关键事项或重要元素。
它可以用来形容某个特定因素对于实现目标或解决问题而言至关重要。
例如:“良好沟通是成功团队合作的关键”,表明沟通是必不可少的关键因素。
二、常见短语和习语2.1 找到解决问题的关键无论是在个人生活还是工作场景中,我们经常需要找出问题背后隐藏着的真正原因或核心因素。
使用“key”相关短语可以表达这种目标。
例如,“寻找问题根源”、“找到解决之道”的含义之一是关注重要因素或关键问题。
2.2 关键时刻或时机“key”也可以用来形容某个特定的时刻或时机非常重要。
在这种语境中,它表示了关键的决策、动作或事件。
例如:“我们正在等待适当的时机,以便在市场前景明朗时推出新产品。
”这里,“key”表达了目标与计划之间的紧密联系。
2.3 利用关键能力和技能某些任务需要特定的能力和技能才能有效完成。
使用“key”相关短语可以突出指定任务所需的特定技巧或领域知识。
例如,“在这个项目中,我们需要利用我们团队成员各自最擅长的技能。
”通过使用“key”表达了每个成员对于完成任务所贡献的重要性。
三、其他用法和搭配除了上述提到的用法和短语外,“key”还有一些其他常见的用法和搭配。
3.1 使用关键字搜索在网络信息爆炸的时代,快速找到所需信息变得至关重要。
使用“key”相关词汇(如"keywords")进行在线搜索已成为常见实践。
这种方式可以帮助用户更准确地获取他们感兴趣的内容。
key的用法归纳
key的用法归纳一、引言在日常生活和工作中,我们经常会遇到各种各样的键盘快捷键、密码和密钥。
这些关键词有着不同的含义和用法,它们在提高效率、保护隐私等方面起着重要作用。
本文将针对“key”的不同用法进行归纳总结,以帮助读者更好地理解和应用。
二、计算机领域中的键盘快捷键1. 键盘快捷键的意义和作用键盘快捷键是指通过按下键盘上的特定组合键来执行特定的操作。
使用快捷键可以大大提高操作效率,并减少对鼠标的依赖性。
2. 常见的系统级别快捷键- Ctrl + C:复制选中内容- Ctrl + V:粘贴复制的内容- Ctrl + Z:撤销上一步操作- Ctrl + Shift + N:新建文件夹或目录- Alt + F4:关闭当前窗口或程序3. 常见应用软件中的快捷键- Microsoft Word:- Ctrl + B:将选中文字设置为粗体- Ctrl + I:将选中文字设置为斜体- Ctrl + U:将选中文字设置为下划线- Ctrl + P:打印当前文档- Photoshop:- Ctrl + J:复制选中图层- Ctrl + T:进行图层的自由变换- Ctrl + Alt + Z:撤销多次操作- Ctrl + Shift + N:新建图层三、密码学与密钥管理1. 密码的概念与应用领域密码是一种用于身份验证或信息保护的工具。
在计算机领域,密码广泛应用于用户账户的登录、数据库和文件的加密以及网络通信的安全防护等方面。
2. 强密码规则和生成方式为了提高密码的安全性,我们需要遵循一些强密码规则,如使用至少8位字符、包含大小写字母、数字和特殊字符等。
此外,还可以利用随机密码生成器来创建高度安全的密码。
3. 密钥管理与保护在加密算法中,密钥是进行加解密运算所需的关键信息。
因此,密钥管理和保护对于数据安全至关重要。
这包括对密钥进行安全存储、定期更换密钥以及采用访问控制措施等。
四、其他相关用法1. API Key(应用程序接口密钥)API Key是一种用于标识和授权第三方应用程序访问特定API(Application Programming Interface,应用程序接口)的字符串。
Key使用及按键常量
Key对象包括以下6种常用的方法:(1) Key.getAscii ()语法:Key.getAscii ();通过Key.getAscii ()方法可精确地传回字符值。
当键盘上有键被按下时,该按键会对应到一个ASCII码,例如,字母A键对应的ASCII值为97,你可以通过Key.getAscii ()方法返回该按键对应的ASCII 值。
(2)key.getCode () 语法:key.getCode ();功能:返回最近被按下或松开的按键的对应码。
如果你只想知道用户是否按下某个键而不理会它的ASCII 值,那么,key.getCode ()最适合你用。
Flash替每个按键都赋予一个对应码,例如,按键A的对应码是65,按键Shift的对应码是16。
key.getCode ()的返回值就是这些按键的对应码。
在Flash的帮助文档中可以查到关于按键对应码的详细信息。
Flash事先定义了一组常量(Key对象的属性)来存储一些常用键按键的对应码, 例如常量Key.SPACE就等于32,因此当你需要在程序中应用这些按键时,可以直接使用这些常量,而不必再查阅它们的按键对应码。
下面是一些按键常量的名称和意义,如表7-2-1所示。
属性(按键常量) Key.BACKS PACEKey.CA PSLOCKKey.CONTROL 表7-2-1意义与Backs pace键的键控代码值(8)关联的常量。
与Caps Lock 键的键控代码值(20)关联的常量。
与Ctrl 键的键控代码值(17)关联的常量。
功能:返回最近被按下或松开的按键所代表的ASCII 值。
Key.DELETEKEY 与Delete 键的键控代码值(46)关联的常量。
Key.DOWN 与向下箭头键的键控代码值(40)关联的常量。
Key.END 与End键的键控代码值(35)关联的常量。
Key.ENTER 与Enter 键的键控代码值(13)关联的常量。
Key.ESCA PE 与Escape键的键控代码值(27)关联的常量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计中你是否遇到过这样的问题:你的产品上要求有几十个按键,处理器IO口很少,PCB的面积又有严格限制,或者你要严格控制成本,无法使用象7219那样的扩展芯片,怎么解决这个问题?下面有个方法,大家都见过遥控器吧,上面不但有几十个按键,而且功能还挺多什么去抖动,同时按键处理都有了,最最重要的是控制芯片体积小,价格便宜(也就1,2块钱),外围器件少。
不过具体实现起来有点小麻烦,这类芯片的信号一般是PPM输出的,通常为了有更远的遥控距离,按键编码调制在一个38k 左右的载波上。
所以我们不得不再为这个方案多花上1块钱,加一个有烂运放做的低通滤波器,将载波滤除后在接到单片机的IO脚上,由于两个频率相差较多,这个滤波器并不难做。
我使用LM324做的。
其中有两级低通,一个比较器。
当你的示波器上出现一串可爱的几百赫兹的方波时,你的硬件就成功啦。
既然只用一条IO就扩展了几十个按键,软件上自然会多费些事,此类芯片发码都是有引导头,同步部分,用户码,键码等部分组成,有三十多个位,具体可参照sc6121资料。
下面时一个完整的接收程序,针对的芯片是sc6121,处理器89c51 ////////////////////////////////////////////////////////////////////////////////*定时器1中断服务程序*//*每100us中断一次,定时检测HangSignal线上的电平状态,根据6121的砝码格式译出用户码键码.\\ib_KeyCode[0] 用户码低位,ib_KeyCode[1]用户码高位,ib_KeyCode[2]键码,ib_KeyCode[3]键码的反码*//////////////////////////////////////////////////////////////////////////////////////void HandIn() interrupt 3 using 3 {unsigned char tempbit=0;bit Hbit;Hbit=HandSignal; /*采样信号线*/if (NewKey==FALSE){ /*如果上一次按键事件已经北处理*/ switch (ib_HandState){ /*根据接收状态散转*/case LEAD: /*引导头接收情况*/if (Hbit){ /*如果信号线是高电平*/if ((ib_LowTime>MIN_LeadTime)&&(ib_LowTime<MAX_LeadTime)) /*判断低电平时间是否合乎要求*/ib_HandState=START; /*正确进入同步头接收状态*/else ib_HandState=RESTART; /*否则复位接收程序*/ ib_LowTime=0; /*清除低电平时间计数*/}else{ /*如果信号是低电平*/ib_LowTime++; /*增加低电平时间计数器*/if (ib_LowTime>MAX_LeadTime) /*判断低电平时间是否超时*/ib_HandState=RESTART; /*是的话复位接收程序*/}break;case START: /*同步头接收情况*/if(Hbit){ /*如果信号线是高电平*/ib_HighTime++; /*高电平时间计数器加一*/if (ib_HighTime>MAX_SynTime) /*如果高电平时间超长,复位接收程序*/ib_HandState=RESTART;}else{ /*如果信号线是低电平*/if ((ib_HighTime>MIN_SynTime)&&(ib_HighTime<MAX_SynTime)) /*如果高电平时间合乎要求,将状态设定为数据为高电平检测*/ib_HandState=WAIT_HIGH;else ib_HandState=RESTART; /*否则复位接收程序*/ib_HighTime=0;}break;case WAIT_HIGH: /*等待数据位的上升沿的情况*/if (Hbit){ /*如果检测到一个上升沿*/if ((ib_LowTime>MIN_L_Time)&&(ib_LowTime<MAX_L_Time)) { /*如果低电平时间合乎要求,将状态设定为等待数据下降沿*/ib_HandState=WAIT_LOW;}else ib_HandState=RESTART; /*否则复位接收程序*/ib_LowTime=0;}else{ /*如果仍为低电平*/ib_LowTime++; /*低电平时间计数器加一*/if (ib_LowTime>MAX_L_Time) /*如果低电平时间超长,则复位寄售程序*/ib_HandState=RESTART;}break;case WAIT_LOW: /*等待数据下降沿的情况*/if (Hbit){ /*如果仍是高电平*/ib_HighTime++; /*高电平数据计数器加一*/ if (ib_HighTime>MAX_H_Time) /*如果高电平实际超长,则复位接收程序*/ib_HandState=RESTART;}else{ /*如果收到一个下降沿*/ib_KeyCode[ib_KeyPoint]>>=1; /*接收数据字节右移一位*/if ((ib_HighTime>MIN_B1TIME)&&(ib_HighTime<MAX_B1TIME)) { /*如果高电平宽度符合逻辑1标准,接收字节高位置一*/ib_KeyCode[ib_KeyPoint]+=0x80;}ib_BitCount++; /*接收数据位计数器加一*/if (ib_BitCount>7) { /*如果接收满一个字节*/ib_BitCount=0; /*清空位计数器*/ib_KeyPoint++; /*指向下一个字节*/if (ib_KeyPoint>3) /*如果接收完整个数据*/{//unsigned char i;NewKey=TRUE; /*置有新键按下标志*///for (i=0;i<4;i++){//TI=0;//SBUF=ib_KeyCode;//while(!TI);//TI=0;//}//ib_HandState=RESTART;}}ib_HighTime=0; /*将高电平时间计数器清零*/ib_HandState=WAIT_HIGH; /*设定系统为等待上升沿状态*/}break;default:break;}}if (ib_HandState==RESTART){ /*如果程序处于复位状态*/ib_LowTime=0; /*复位各项参数*/ib_HighTime=0;ib_HandState=LEAD;ib_KeyCode[0]=0; ib_KeyCode[1]=0;ib_KeyCode[2]=0; ib_KeyCode[3]=0;ib_KeyPoint=0;ib_BitCount=0;NewKey=FALSE;}}好多遥控器(无线,红外)发射数据都是PPM调制的,以上程序稍微改动后可以应用于各种PPM调制信号的场合。
4×4矩阵式键盘识别技术#include <AT89X51.H>unsigned char ID;void delay10ms(void){ unsigned char i,j;for(i=20;i>0;i--)for(j=248;j>0;j--);}void delay02s(void){ unsigned char i;for(i=20;i>0;i--){delay10ms();}}void main(void){ while(1){ if(P3_7==0){delay10ms();if(P3_7==0){ID++;if(ID==4){ID=0;}while(P3_7==0);}}switch(ID){ case 0:P1_0=~P1_0;delay02s();break; case1:P1_1=~P1_1;delay02s();break;case 2:P1_2=~P1_2;delay02s();break;case 3:P1_3=~P1_3;delay02s();break;}}}支持键盘双击事件的C程序设计!/********************************************************************************** KeyBoard Encode ProgramThis Program can encode press_key up to 128 and it can deal KB_DBClick MessageThis is just a test proram and only use 2 key.If More Key need to Encode ,pleasemodify the function:KBKeyPress()This Porgram use Message_Driver method,the KB_Msg is used to record what KB_Msg has occured.The meaning of 'SysKBMsg' is list as following.Program Design:LiBaizhanVer:1.10Date:2003-3-16************************************************************************************/#include <reg51.h>#include <intrins.h>sbit Key1 = P1^0;sbit Key2 = P1^1;/*Some System Var Pre_DefinitionCrystal Frequence is 11.0592MHz*/#define TIME_2MS 0X74#define TIME_20MS 0X043B#define KB_INTERNAL 3 /*Key DBClk Detection Internal *//*SysKBMsg define Keyboard Message,it include Single_Click or Double_ClickIt's bit6~bit0 record key_encode and bit 7 record DBClk(1) or SglClk(0)It can record and encode up to 127(2^7-1) keysNo key is press when it is 0This method did not deal key such as Ctrl_Key or Alt_Key or Shift_Key...etc.*//*_________________________________________________*/data unsigned char SysKBMsg=0; /*| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |*//*| D/S | KB6 | KB5 | KB4 | KB3 | KB2 | KB1 | KB0 |*/data unsigned char KBCounter=0;bit KBCounterStart=0;bit KBCounterStop=0; /*if KeyBoard counter stop then this bit is 1*/bit KBCounterFlag=0; /*Current Counter is used by KeyBoard*/void TimerInt0(void) interrupt 1 /*timer 0 interrupt use to record how long key is press*/{TR0=0;if(KBCounterFlag) /*Current Counter is used by KeyBoard*/{if(KBCounter<KB_INTERNAL) /*if DBClk Detection is not finish then detect continue*/{KBCounter++;TR0=1;}else{KBCounter=0; /*DBClk Detection is finish*/KBCounterStop=1;}}}void DelayMS(unsigned int dltime);void Init51(void);unsigned char KBKeyPress(void); /*only return what key is press*/void KBKeyEncode(void); /*encode which key is pressed and DBClk or SglClk*/void KBStartTimer(unsigned char CntH,unsigned char CntL); /*load counter initial value and start timer*/ void KBStopTimer(void);void KBDealPressKey(void); /*deal key_press message*/void main(void){Init51();while(1){KBKeyEncode(); /*recored what KeyBoard Msg occure:which key is press and single clk or db clk*/KBDealPressKey();}}/*Delay Time is :(20+17*dl_time)*12/CrystalFrequence(us)*/void DelayMS(unsigned int dltime){unsigned int i;for(i=0;i<dltime;i++);}void Init51(void){SCON = 0x50; /* mode 1: 8-bit UART, enable receiver */TMOD = 0x21; /* timer 1 mode 2: 8-Bit reload *//* timer 0 mode 1: 16-bit Timer */TH1 = BAUD_4800; /* reload value 9600 baud */TR1 = 1; /* timer 1 run */IE = 0X12; /* enable Serial INT,Timer0 INT */ES = 0; /* disable Serial INT*/EA = 1; /* Open INT Ctrl */}void KBKeyEncode(void){data unsigned char CurrPress=0,LastPress=0;if((LastPress=KBKeyPress())!=0) /*if some key is press then start encode*/{KBStartTimer(0,0); /*some key is press then start DBClk Detection Counter*/SysKBMsg=LastPress; /*record the key that is pressed this time*/while(!KBCounterStop){if((CurrPress=KBKeyPress())!=0X0) /*if some key is pressed during DBClk Detection then jump out to see wether DBclk is occured*/break;}if((KBCounterStop==0)&&(LastPress==CurrPress)) /*this key DBClk occured*/SysKBMsg|=0X80;KBStopTimer();}}unsigned char KBKeyPress(void){data unsigned char KeyPress=0;if((P1&0X03)!=0X03){DelayMS(TIME_20MS);if((KeyPress=(P1&0X03))!=0X03) /*some key is press*/{if(KBCounterStart)TR0=0;while((P1&0X03)!=0X03); /*wait until key is free*/DelayMS(TIME_20MS);if(KBCounterStart)TR0=1;}else /*Key is not real press*/{KeyPress=0;}}return KeyPress;}void KBStartTimer(unsigned char CntH,unsigned char CntL){TR0=0;TH0=CntH;TR0=1; /*Start Counter*/TL0=CntL;KBCounterFlag=1; /*this counter is used by KeyBoard*/KBCounterStart=1;KBCounterStop=0;}void KBStopTimer(void){TR0=0;TH0=0;TL0=0;KBCounter=0;KBCounterFlag=0;KBCounterStart=0;}void KBDealPressKey(void){data unsigned char tmp=0;switch(SysKBMsg) /*here is just a test program,test to deal Sgl_Clk and DB_Clk Msg*/ {case 0X01: tmp=0X01;break;case 0X02: tmp=0X02;break;case 0X81: tmp=0X81;break;case 0X82: tmp=0X82;break;default : break;}SysKBMsg=0; /*this key msg has been done*/96个key的零延时采集HotPower 发表于2003-11-5 18:04 侃单片机←返回版面;-------96键演示程序-------------------------;这是1个回复题中的应用示例,已通过软仿真“验证”;这只是键扫描技术的1个“缩影”,方法实在太多.;有“难看之处”,敬请高手们批评指教.;HotPower将虚心接受,坚决改正.重新做人.;发表目的: 在21IC中壮大游击队.;----------------------------------------------------;由于2051资源问题,本程序只取多任务键盘的压放键2个事件;废除长压键(压键1段时间后才激活)事件;废除长放键(放键1段时间后才激活)事件;废除双击键事件;废除任意组合键事件按键扫描驱动程序//按键扫描驱动程序unsigned char key,key_h,kpush;unsigned int key_l;//按键连接到p1.0、p1.1、p1.2void int_t0(void) interrupt 1 {unsigned char dd,i;TL0=TL0+30;TH0=0xfb; //800/* 按键判别*/if ((P1&0x7)==0x7) {if ((key_l>30)&&(key_l<800)&&(key_h>30)) { //释放按键,如果之前按键时间少于1秒,读入键值 key=kpush;}if ((++key_h)>200) key_h=200;key_l=0;if (key>=0x80) key=0; //如果之前的按键为长按1秒,清除键值} else {kpush=P1&0x7;key_l++;if ((key_l>800)&&(key_h>30)) { //如果按键超过1秒,键值加0x80标志长按键key=kpush|0x80;key_h=0;key_l=0;}}void main(void) {TMOD=0x1;TR0=1;ET0=1;EA=1; while (1) {while (!key) {}switch (key) {case 1:break;case 2:break;}}}键盘接口软件设计软件设计要考虑以下3部分内容:键盘缓冲区的设置;初始化程序;中断服务程序。