第一套第二套键盘扫描码

第一套第二套键盘扫描码
第一套第二套键盘扫描码

键盘扫描码

扫描码

键盘上的每一个键都有两个唯一的数值进行标志。为什么要用两个数值而不是一个数值呢?这是因为一个键可以被按下,也可以被释放。当一个键按下时,它们产生一个唯一的数值,当一个键被释放时,它也会产生一个唯一的数值,我们把这些数值都保存在一张表里面,到时候通过查表就可以知道是哪一个键被敲击,并且可以知道是它是被按下还是被释放了。这些数值在系统中被称为键盘扫描码

键盘扫描码:

键盘上的每个键都有一个包含在字节低7位(位6-0)中相应的扫描码,在高位(位7)表示是按键还是松开按键。位7=0按键按下,位7=1表示按键松开。

例如,按下键"A"的接通码是0x1E。当一个按下的键被松开时,从键盘控制器端口收到的就是一个断开码。对于XT键盘,断开码是其接通码的最高位取1,相当于加上0x80。例如,上述"A"键的断开码就是 0x80 + 0x1E = 0x9E。

表7-4是XT键盘的扫描码表。

但是对于那些PC/XT标准83键键盘以后新添加的("扩展的")AT键盘上的按键(如右边的Ctrl 键和右边的Alt键等),则其接通和断开扫描码通常有2~4B,并且第1个字节一定是0xE0。例如,按下左边的非扩展Ctrl键时会产生1B接通码0x1D,而按下右边的Ctrl键时就会产生扩展的2B接通码0xE0、0x1D。对应的断开码是0xE0、0x9D。

根据计算机的发展,目前已有三套扫描码集可供使用:

第一套扫描码集:原始XT键盘扫描码集。目前的键盘已经很少发送这类扫描码。

第二套扫描码集:现代键盘默认使用的扫描码集,通常称为AT键盘扫描码集。

第三套扫描码集:PS/2键盘扫描码集。原IBM推出PS/2微机时使用的扫描码集,已很少使用。

AT键盘默认发送的是第二套扫描码集。虽然如此,主机键盘控制器为了与PC/XT的软件兼容,仍然会把所有接收到的第二套键盘扫描码转换成第一套扫描码。因此,我们在为键盘控制器进行软件编程时通常只需要了解第一套扫描码集即可。嵌入式等单片机控制则需要使用第二套扫描码集。

键盘控制器:

主机键盘控制器专门用来对接收到的键盘扫描码进行解码,并把解码后的数据发送到操作系统的键盘数据队列中。键盘控制器通常采用Intel 8042单片微处理器芯片或其兼容电路。现在的PC都已经将键盘控制器集成在主板芯片组中,但是功能仍然与使用8042芯片的控制器相兼容。

键盘控制器接收键盘发送来的11位串行格式数据。其中第1位是起始位,第2~9位是8位键盘扫描码,第10位是奇校验位,第11位是停止位。键盘控制器在收到11位的串行数据后就将键盘扫描码转换成PC/XT标准键盘兼容的系统扫描码,然后通过中断控制器IRQ1引脚向CPU发送中断请求。当CPU响应该中断请求后,就会调用键盘中断处理程序来读取控制器中的XT键盘扫描码。

804x键盘命令:

系统向端口0x60写入1字节,便是发送键盘命令。有的命令后还需跟一个参数。键盘在接收到命令后20ns内给予回复,即回送一个命令响应。

804x键盘控制器命令:

系统向输入缓冲(端口0x64)写入1字节,即发生一键盘控制器命令。可带一个参数。参数是通过写0x60端口发送的。见表7-3所示。

按键精灵键盘对应代码

按键精灵后台键盘对应代码104键键盘按键码对照 ★主键盘区 A → 65 B → 66 C → 67 D → 68 E → 69 F → 70 G → 71 H → 72 I → 73 J → 74 K → 75 L → 76 M → 77 N → 78 O → 79 P → 80 Q → 81 R → 82 S → 83

T → 84 U → 85 V → 86 W → 87 X → 88 Y → 89 Z → 90 0 ) → 48 1 ! → 49 2 @ → 50 3 # → 51 4 $ → 52 5 % → 53 6 ^ → 54 7 & → 55 8 * → 56 9 ( → 57 Esc → 27 ` ~ → 192 _-→ 189 = + → 187 \ | → 220

← Back Space → 8 Tab → 9 Caps Lock → 20 Shift → 16 Left Shift → 160 Right Shift → 161 Ctrl → 17 Left Crtl → 162 Right Ctrl → 163 Win → 91 Alt → 18 Letf Alt → 164 Right Alt → 165 空格键Space → 32 Right Mouse → 93 Enter → 13 Macro → 226 [ { → 219 ] } → 221 ; : → 186 ‘ “ → 222 , < → 188

. > → 190 / ? → 191 ★数字键盘区数字键盘0 → 96 数字键盘1 → 97 数字键盘2 → 98 数字键盘3 → 99 数字键盘4 → 100 数字键盘5 → 101 数字键盘6 → 102 数字键盘7 → 103 数字键盘8 → 104 数字键盘9 → 105 Num Lock → 144 / → 111 * → 106 - → 109 + → 107 Enter → 13 . → 110 ★功能键区F1 → 112 F2 → 113 F3 → 114 F4 → 115 F5 → 116 F6 → 117 F7 → 118 F8 → 119 F9 → 120 F10 → 121 F11 → 122 F12 → 123 ★编辑键区Print Screen→ 44 Scroll Lock → 145 Pause Break → 19 Insert → 45 Delete → 46 Home → 36 End → 35 Page Up → 33 Page Down → 34 左箭头→ 37 上箭头→ 38 右箭头→ 39 下箭头→ 40

按键精灵1--6级答案

以下哪一个不是按键精灵的产品按键箱子 录制的脚本没有以下哪个功能记录鼠标特征码 下列哪一个命令不属于"全部命令" 内核命令 按键精灵自带的抓图工具是按键抓抓 哪一种方法能够找到命令的帮助说明在全部命令中搜索命令,点击后帮助说明会出现在编辑器下方. 按键精灵不可以在以下哪个系统中使用 Linux 可以使用神盾功能的程序是小精灵商业版 旧版本的脚本导入到新版本中,以下哪种方法不可以纠正语法错误使用"自动缩进"功能? WaitClick命令的含义是按任意鼠标键继续? 哪一类脚本程序是按键精灵官方授予销售权的小精灵商业版 只要在编辑脚本,切换输入法时,按键精灵就卡住了,可能是下列哪一个原因Plugin目录下装有不是官方提供的插件引起的 关于加密脚本的描述,下列是错误的是只有会员输入密码可以解开加密脚本GetLastClick命令的含义是检测上次按过的鼠标键 按键精灵生成的小精灵程序的后缀名是 EXE 按键精灵会员不能享受的论坛权限是可以访问按键精灵“版版家园”专区享受版主资源 网页按键精灵是下列哪一个程序 wqm.exe 按键精灵的产品包括以下哪一个按键盒子 按键精灵是下列哪一个程序按键精灵9.exe 按键精灵会员卡注册码,没有以下哪一种天卡(1天) UnlockMouse命令的含义是解除锁定鼠标位置? 按键精灵会员不能享受的资源是免费小精灵的源代码 RightUp命令的含义是右键弹起 按键精灵的功能不包括自动发明汽车、飞机、火箭等机器 按键精灵能兼容下列哪一种语言 VBS 不能用抓抓工具直接获取的是 PID 关于按键精灵的描述,以下正确的是按键精灵是一款绿色的模拟键盘鼠标操作的软件? 脚本编辑界面上没有的按钮是启动? 与取色判断命令没有直接关系的参数是按键码 以下哪种方式可以在脚本编辑界面中获取到新的插件点击"资源库"按钮,然后导入需要的插件 LeftClick命令的含义是左键单击 按键精灵官方网站的网址是 RestoreMousePos命令的含义是恢复上次保存的鼠标位置 如果按键精灵在某些环境失效,可以使用下列哪个工具神盾 SaveMousePos命令的含义是保存当前鼠标所在位置 GetCursorPos命令的含义是得到鼠标位置坐标 键盘命令的类型不包括锁定 按键精灵里运算符乘号是 * KeyPress命令的含义是按键

非编码键盘的扫描程序设计

摘要 ------------------------------------------------------------------------------------------------------- 1 1设计方案 ------------------------------------------------------------------------------------------------ 2 1.1设计任务 ---------------------------------------------------------------------------------------- 2 1.2设计方案 ---------------------------------------------------------------------------------------- 2 2系统硬件设计------------------------------------------------------------------------------------------ 3 2.1最小应用系统 ------------------------------------------------------------------------------------ 3 2.28155扩展电路---------------------------------------------------------------------------------- 4 2.3矩阵键盘接口电路 ---------------------------------------------------------------------------- 6 2.4LCD1602接口电路----------------------------------------------------------------------------- 6 2.5主电路设计 --------------------------------------------------------------------------------------- 8 3系统软件设计------------------------------------------------------------------------------------------ 8 3.1主程序设计 --------------------------------------------------------------------------------------- 9 3.2延时程序设计----------------------------------------------------------------------------------- 9 3.3键盘扫描子程序设计 ------------------------------------------------------------------------ 10 3.4显示子程序设计------------------------------------------------------------------------------- 11 4 系统调试与结果 ---------------------------------------------------------------------------------- 13 4.1调试内容与问题解决----------------------------------------------------------------------- 13 4.2运行结果与分析 ----------------------------------------------------------------------------- 13 小结 ------------------------------------------------------------------------------------------------------- 15 参考文献 ------------------------------------------------------------------------------------------------ 16 附录 ------------------------------------------------------------------------------------------------------- 17

按键精灵_鼠标命令

命令名称 LeftClick 左键单击命令功能模拟点击鼠标左键 命令参数参数1 整数型,次数 返回值无 脚本例子 按键精灵8及以上语法复制代码 1.//LeftClick、LeftClickS、LeftClickH 2.//LeftClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别 的要求,PS2(圆口)和USB接口的鼠标都可以使用 3.//LeftClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使 用硬件模拟方式的注意事项 4.LeftClick 5 5.//在当前鼠标的位置单击鼠标左键5次 脚本例子 按键精灵7及以上语法复制代码 1.//LeftClick、LeftClickS、LeftClickH 2.//LeftClickS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别 的要求,PS2(圆口)和USB接口的鼠标都可以使用 3.//LeftClickH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使 用硬件模拟方式的注意事项 4.LeftClick 5 5.//在当前鼠标的位置单击鼠标左键5次 命令名称 LeftDown 左键按下命令功能模拟按下鼠标左键 命令参数参数1 整数型,次数 返回值无 脚本例子 按键精灵8及以上语法复制代码 1.//LeftDown、LeftDownS、LeftDownH 2.//{次数}在这个语句中虽然有效,但没有实际意义. 3.//LeftDownS: 超级模拟方式,兼容性更强,对键盘和鼠标没有特别的 要求,PS2(圆口)和USB接口的鼠标都可以使用 4.//LeftDownH: 硬件模拟方式,仅支持PS(圆口)的鼠标点击查看使 用硬件模拟方式的注意事项 5.LeftDown 1 6.//在当前鼠标的位置按下鼠标左键

矩阵键盘的工作原理和扫描确认方式

9.3.1 矩阵键盘的工作原理和扫描确认方式 来源:《AVR单片机嵌入式系统原理与应用实践》M16华东师范大学电子系马潮 当键盘中按键数量较多时,为了减少对I/O 口的占用,通常将按键排列成矩阵形式,也称为行列键盘,这是一种常见的连接方式。矩阵式键盘接口见图9-7 所示,它由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,MCU 通过检测行或列线上的电平变化可以确定哪个按键被按下。 图9-7 为一个 4 x 3 的行列结构,可以构成12 个键的键盘。如果使用 4 x 4 的行列结构,就能组成一个16 键的键盘。很明显,在按键数量多的场合,矩阵键盘与独立式按键键盘相比可以节省很多的I/O 口线。 矩阵键盘不仅在连接上比单独式按键复杂,它的按键识别方法也比单独式按键复杂。在矩阵键盘的软件接口程序中,常使用的按键识别方法有行扫描法和线反转法。这两种方法的基本思路是采用循环查循的方法,反复查询按键的状态,因此会大量占用MCU 的时间,所以较好的方式也是采用状态机的方法来设计,尽量减少键盘查询过程对MCU 的占用时间。 下面以图9-7 为例,介绍采用行扫描法对矩阵键盘进行判别的思路。图9-7 中,PD0、PD1、PD2 为3 根列线,作为键盘的输入口(工作于输入方式)。PD3、PD4、PD5、PD6 为4根行线,工作于输出方式,由MCU(扫描)控制其输出的电平值。行扫描法也称为逐行扫描查询法,其按键识别的过程如下。 √将全部行线PD3-PD6 置低电平输出,然后读PD0-PD2 三根输入列线中有无低电平出现。只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。如读到的都是高电平,则表示无键按下。 √在确认有键按下后,需要进入确定具体哪一个键闭合的过程。其思路是:依

键盘扫描码

键盘上的每一个键都有两个唯一的数值进行标志。为什么要用两个数值而不是一个数值呢?这是因为一个键可以被按下,也可以被释放。当一个键按下时,它们产生一个唯一的数值,当一个键被释放时,它也会产生一个唯一的数值,我们把这些数值都保存在一张表里面,到时候通过查表就可以知道是哪一个键被敲击,并且可以知道是它是被按下还是被释放了。这些数值在系统中被称为键盘扫描码 2扫描码大全 扫描码键 0x011b ESC 0x3b00 F1 0x3c00 F2 0x3d00 F3 0x3e00 F4 0x3f00 F5 0x4000 F6 0x4100 F7 0x4200 F8 0x4300 F9 0x4400 F10 主键盘区: 0x2960 ~ 0x0231 1 0x0332 2 0x0433 3 0x0534 4 0x0635 5 0x0736 6 0x0837 7 0x0938 8 0x0a39 9 0x0b30 0 0x0c2d - 0x0d3d = 0x2b5c \ 0x0e08 退格键 0x0f09 Tab 0x1071 q 0x1177 w 0x1265 e 0x1372 r 0x1474 t 0x1579 y

0x1769 i 0x186f o 0x1970 p 0x1a5b [ 0x1b5d ] 0x1e61 a 0x1f73 s 0x2064 d 0x2166 f 0x2267 g 0x2368 h 0x246a j 0x256b k 0x266c l 0x273b ; 0x2827 ' 0x1c0d 回车 0x2c7a z 0x2d78 x 0x2e63 c 0x2f76 v 0x3062 b 0x316e n 0x326d m 0x332c , 0x342e . 0x352f / 0x3920 空格键 0xe05b 左Win 0xe05c 右Win 0xe05d Menu 右边数字键盘: 0x5200 Insert 0x4700 Home 0x4900 Page UP 0x5300 Delete 0x4f00 End 0x5100 PageDown 0x4800 上箭头 0x4b00 左箭头 0x5000 下箭头 0x4d00 右箭头 0x352f /

按键精灵 输入框

按键精灵输入框 一、控件介绍 在输入框中单击鼠标会出现插入点光标,我们可以直接在输入框中输入文字或文本信息。二、创建控件 创建输入输入框和之前创建标签的方法是一样的。在工具栏上点击输入框控件。移动鼠标到QUI的窗体上,这时鼠标就会变成“十”字形状,这就说明已经成功选择创建输入框了。然后,在编辑区域按住鼠标左键,框选一块区域,松开鼠标左键。这时界面上就创建出一个输入框出来了,如下图。 三、控件属性 在QUI在输入框的属性总共有10项。其中有4个基本属性和5个位置属性外加1个其他属性(控件样式)。 基本属性分别是:名称(Name)、显示(Visible)、有效(Enabled)、标题(Caption)。 位置属性分别是:左边(Left)、上边(Top)、宽度(Width)、高度(Height)、显示顺序(Z Order)。

其他属性为“密码”。这个属性是为了提供满足用户们输入密码而设计的,当这个属性值为“是”时,在输入框输入的全都了“*”代替。并且该属性在QUI编辑时就已经设置好,在运行过程当中无法修改这个属性。 (1)获取输入框的值 输入框控件是制作界面中最使用的控件类型。主要是提供给用户输入使用的。所以在输入框的控件中最经常发生的一件事情就是获取输入框值的内容。 和标签一样,输入框的内容我们也称它为文本。但是和标签不同的是,输入框文本对应的是T ext。 既然我们知道了输入框上的文本属性是通过Text来访问的。那么我们就在脚本里面获取内容来使用。 在界面中创建一个输入框,默认输入框的名称是“InputBox1”。输入框的文本内容默认也是“InputBox1”。然后我们切换到脚本的源码视图,编辑代码获取文本框控件上的文本内容,并且将这个内容弹窗显示出来。 MessageBox Form1.InputBox1.Text 编辑完成后,点击【保存】,然后进入调试,点击【自定义界面】,可以看到刚才创建的输入框的内容。修改输入框里面的内容,比如修改成“ABCDEF”,点击【保存】,然后【确定】,最后关闭QUI窗体,点击【启动】。 这时就可以看到弹出窗口里面显示着“ABCDEF”。

按键扫描方法

说到键盘扫描,相信大多数人第一反应就是行列矩阵扫描,这样我们可以用相对有限的IO口得到尽可能多的按键。键盘扫描是单片机技术的一种基本处理方法,学校的单片机课程都会有相应章节进行阐述,只要按照课本上讲述的方法,一般都能设计出比较可靠的键盘扫描电路与程序。 课本上的键盘扫描方法(见下图接法二)不能说是尽善尽美,从易懂性、成本、程序难易程度等方面综合看应该是不错的方法,给人感觉是已经没有太多的改善空间,至少我是这么认为的。 然而前段时间一位台湾朋友画给我的键盘扫描矩阵电路(见下图接法二),让我又一次看到到自己的思维还有许多地方被自己的所谓“经验”束缚着。 单纯的从硬件接法看,两种接法并没有明显区别,接法一甚至要复杂一些,但如果结合到键盘扫描的程序来看,就会发现接法一确实更好。 两种接法我都没有把上拉电阻包含进来,来让我们看一下两种接法到底有什么不同: 接法二: 我们熟悉的传统扫键处理电路,假定键盘行列IO口标号分别为H1/H2/H3和V1/V2/V3,扫键流程通常如下。 2.1. H1设置为输出,H2/H3和V1/V2/V3设置为输入 2.2. H1分别输出1和0,读V1/V2/V3状态,如果Vy状态与H1一致,则认为H1与Vy交叉位置的键按下 2.3. H2设置为输出,H1/H3和V1/V2/V3设置为输入 2.4. H2分别输出1和0,读V1/V2/V3状态,如果Vy状态与H2一致,则认为H2与Vy交叉位置的键按下 2.5. H3设置为输出,H1/H2和V1/V2/V3设置为输入 2.6. H3分别输出1和0,读V1/V2/V3状态,如果Vy状态与H3一致,则认为H3与Vy交叉位置的键按下

按键精灵命令

WQM按键精灵插件说明书 1.插件简介 WQM按键精灵插件作为按键精灵的一个插件,为按键精灵提供对WQM的全方位的控制功能,同时也能够提供对WQM中网页的全面控制功能。 2.插件功能说明 WQM插件提供三类控制命令:WQM全局控制命令、WQM浏览控制命令、页面控制命令,后台键盘鼠标命令,后台找色命令,全局控制命令,JS扩展命令 2.1.全局控制命令 1)Bind(WQM进程名) 功能:绑定最后一个正在运行的WQM进程,如果没有找到就启动一个WQM进程并绑定 参数:WQM进程名 返回值:进程ID 2)Tips(字符串) 功能:在托盘区显示一个气泡提示信息; 参数:提示信息; 返回值:无 3)SetSize(窗口宽度,窗口高度) 功能:将WQM窗口设置为指定大小; 参数: 参数1:窗口宽度; 参数2:窗口高度; 返回值:无 4)Save(网页地址,保存的文件路径) 功能:将指定url保存为文件; 参数: 参数1:需要保存的网页地址; 参数2:需要保存的文件路径; 返回值:无 2.2.浏览控制命令 1)Go(网页地址) 功能:当前标签页打开Url指定的网页;此操作是一个阻塞操作,如果网页没有打开,脚本不能继续执行。如果超过全局超时设定,将导致脚本中止; 参数: 参数1:需要打开的网页地址 参数2 布尔型:是否强制从服务器读取,默认为读取页面,可能读取本地缓存。 返回值:无 2)Back() 功能:当前标签的网页浏览向后退, 参数:无; 返回值:无 3)Forward()

功能:当前标签页前进; 参数:无; 返回值:无 4)Refresh(指定是否强制刷) 功能:刷新当前标签页 参数:参数1:指定是否强制刷新当前标签页,0表示正常刷新,1表示强制刷新返回值:无 5)TabNew () 功能:在WQM中新建一个标签页,并跳转到该标签页上; 参数:无 返回值:无 6)TabGoto(标签页) 功能:跳转到WQM中指定需要的标签页上 参数:整数类型; 返回值:无 7)TabClose() 功能:关闭当前标签页 参数:无 返回值:无 8)ScrollTo(水平滚动条位置,垂直滚动条位置) 功能:将当前网页滚动到指定位置; 参数: 参数1:水平滚动条位置; 参数2:垂直滚动条位置; 返回值:无 9)ClearHistory() 功能:清除浏览器的历史记录,无需跳出确认对话框; 参数:无 返回值:无 10)ClearTemp() 功能:清空IE临时文件 参数:无 返回值:无 11)ClearCookie() 功能:清除IE所有的Cookie 参数:无 返回值:无 12)GetUrl() 功能:返回当前页面的URL地址 参数:无 返回值:字符串,当前页面的URL地址 2.3.页面控制命令 1)HtmlClick(网页元素特征串) 功能:点击网页中的按钮或链接,或者是其他元素,无ID请指定tag;

键盘按键的各种编码对照表(全)

键盘按键的各种编码对照表 本附录中的各表列举了键盘按键扫描码和其ASCII码之间的对照关系,表中数据都是十六进制形式。 在用中断16H的0号功能时,当按下任意一个键或组合键时,寄存器AH和AL分别保存着该按键的扫描码和ASCII码。 表1、ASCII码的编码方案 高位 000001010011100101110111低位 0000NUL DEL SP0@P`p 0001SOH DC1!1A Q a q 0010STX DC2“2B R b r 0011ETX DC3#3C S c s 0100EOT DC4$4D T d t 0101ENQ NAK%5E U e u 0110ACK SYN&6F V f v 0111BEL ETB‘7G W g w 1000BS CAN(8H X h x 1001HT EM)9I Y i y 1010LF SUB*:J Z j z 1011VT ESC+;K[k{ 1100FF FSN^n~ 1111SI US/?O_o Del 表2、字母和空格按键的编码表 单 键SHIFT CTRL ALT 按 键 扫描码ASCII码扫描码ASCII码扫描码ASCII码扫描码ASCII码 a and A1E611E411E011E00 b and B3062304230023000 c an d C2E632E432E032E00 d and D2064204420042000 e and E1265124512051200 f and F2166214621062100 g and G2267224722072200 h and H2368234823082300 i and I1769174917091700

按键精灵教程:启动热键的设置技巧

按键精灵教程:启动热键的设置技巧 来源:按键学院【按键精灵】热键设置 启动热键:启动当前脚本 暂停/继续热键:暂停或继续当前脚本。(暂停之后再继续,是从脚本暂停的位置继续向下执行,而不是重新运行脚本) 中止热键:结束当前脚本。 全部中止热键:结束所有脚本。 热键可以设置为一个单一键,例如:F10、F11 也可以设置组合键,例如:ctrl+a、ctrl+b 还可以设置为鼠标键,例如:鼠标左键单击、右键单击等

单一键的设置 打开我们的脚本——>点击脚本属性 即可看到热键的设置界面 点击要修改的热键输入框 点击热键输入框之后,按下要设置的按键,例如:F7 设置方式十分简单,但是我们会发现,如果我们点击输入框按下enter键又或者是shift键时,不能成功的设置热键 要怎么解决呢?

要设置这些特殊键为启动热键时,我们可以点击热键输入框后面的倒三角红色按钮,然后点击键盘热键,选择我们需要的按键 组合键的设置 组合键的设置和单一键的设置方法是一样的 打开我们的脚本——>点击脚本属性 即可看到热键的设置界面 点击要修改的热键输入框 点击热键输入框之后,按下要设置的按键,例如:Ctrl+A 或者三个组合键:Ctrl+Alt+A 鼠标热键的设置 要设置鼠标键为热键,不能直接在热键输入框里点击鼠标键来设置 需要点击热键输入框后面的倒三角红色按钮,然后点击鼠标热键,选择我们需要的鼠标键

热键模式设置 当我们在一些游戏里,发现启动热键按了无效的时候。我们可以尝试更换热键模式再使用。我们可以理解为,每个游戏的机制不同,就像人一样,有的喜欢吃甜有的喜欢吃辣。而我们的热键模式就好比是:酸甜苦辣咸。 不喜欢酸就换成甜,不喜欢甜就换成辣,口味多样,总有一款适合你。 热键模式有五种: 普通模式:不占用热键原有功能,兼容性稍差 增强模式:兼容性最好,但占用热键原有功能 硬件模式:能解除屏蔽,只适用于win2000以上 软件模式:兼容性好,但可能被误报木马或病毒 共享模式:兼容性好,可适用大部分操作系统 设置方式: 1、点击设置按钮 2、点击热键,即跳转到热键模式的设置界面

按键精灵常用功能-详细解说

[命令]按键精灵常用功能-详细解说[1]-键盘动作 按键精灵常用功能-解说[版本5.0以上] 首先-启动按键精灵-看到主程序界面的“小灯泡”增加按钮了吗?点击它... 然后-这样就新建了一个脚本,并进入了脚本编辑器界面。(具体参见Qmacro基础资料https://www.360docs.net/doc/9e13697340.html,/cn/qmacro/) 按键精灵常用功能-详细解说[1]-键盘动作-4个功能 (1)单个按键的模拟-模拟键盘的单个按键动作,可以是按1下、按住不动、弹起来等3种形式,可以根据自己的需要,设定执行次数。 (2)按键组合的模拟-模拟按键组合,比如ctrl+shift+G之类的,但是不能G+H 这样子哦,那要需要的时候怎么模拟G+H呢?使用(1)功能-按下G,再按下H,就等于G+H了嘛~~~(不同步?哦,计算机的反映速度是很快的!) (3)脚本暂停按任意键继续功能-这里可以设置一个变量,用来表示可能是哪个按键,比如设置了变量key,当key这个变量变动的时候...比如key=49的时候,表示按1就能使脚本继续...那么怎么知道哪个数字对应是哪个按键?请看(4)的功能。 (4)得到按键码-在左边的空白输入一个按键,右边就显示出相应的按键码哦。有一些特殊的按键码是多少呢?可以去下载个ASCII码表看看。 举例:打开一个记事本,光标停空白处,按1下你设定的快捷键开始执行你设计的脚本... Rem rem只是注释语句,可以做标记或解释用途。 Rem rem这一行,不会有功能,比如:KeyPress 49 10 Rem 按1键10次,换行 KeyPress 49 10 KeyPress 13 1 Rem 按下1键不动,2秒后弹起,换行 KeyDown 49 1 Rem 延时2000毫秒 Delay 2000 KeyUp 49 1 KeyPress 13 1 Rem 按shift+1组合键,换行 KeyDown 16 1 KeyPress 49 1 KeyUp 16 1 KeyPress 13 1 Rem 提示后,等待任意键继续

经典的verilog键盘扫描程序

经典的verilog键盘扫描程序 作者:ilove314 拿到威百仕( VibesIC )的板子后就迫不及待的开始我的学习计划,从最基础的分频程序开始,但看到这个键盘扫描程序后,直呼经典,有相见恨晚的感觉,还想说一句:威百仕( VibesIC ),我很看好你!WHY?待我慢慢道来,这个程序的综合后是0error,0warning。想想自己编码的时候那个warning是满天飞,现在才明白HDL设计有那么讲究了,代码所设计的不仅仅是简单的逻辑以及时序的关系,更重要的是你要在代码中要表现出每一个寄存器,甚至每一个走线。想想我写过的代码,只注意到了前者,从没有注意过后者,还洋洋自得以为自己也算是个高手了,现在想来,实在惭愧啊!学习学习在学习,这也重新激发了我对HDL设计的激情,威百仕给了我一个方向,那我可要开始努力喽! 废话说了一大堆,看程序吧:(本代码经过ise7.1i综合并下载到SP306板上验证通过) //当三个独立按键的某一个被按下后,相应的LED被点亮;再次按下后,LED熄灭,按键控制LED亮灭

module key_debounce( clk,rst_n,s1_n,s2_n,s3_n,s4_n,s5_n,led_d1,led_d2,led_d3,led_d 4,led_d5); input clk; //主时钟信号,10MHz input rst_n; //复位信号,低有效 input s1_n,s2_n,s3_n,s4_n,s5_n; output led_d1,led_d2,led_d3,led_d4,led_d5; reg[4:0] s_rst; always @(posedge clk or negedge rst_n) if (!rst_n) s_rst <= 5'b11111; else s_rst <= {s5_n,s4_n,s3_n,s2_n,s1_n}; reg[4:0] s_rst_r; always @ ( posedge clk or negedge rst_n ) if (!rst_n) s_rst_r <= 5'b11111; else s_rst_r <= s_rst; wire[4:0] s_an = s_rst_r & ( ~s_rst); reg[19:0] cnt; //计数寄存器 always @ (posedge clk or negedge rst_n) if (!rst_n) cnt <= 20'd0; //异步复位 else if(s_an) cnt <=20'd0; else cnt <= cnt + 1'b1; reg[4:0] low_s; always @(posedge clk or negedge rst_n) if (!rst_n) low_s <= 5'b11111; else if (cnt == 20'h30D40) low_s <= {s5_n,s4_n,s3_n,s2_n,s1_n}; reg [4:0] low_s_r; always @ ( posedge clk or negedge rst_n ) if (!rst_n) low_s_r <= 5'b11111; else low_s_r <= low_s; wire[4:0] led_ctrl = low_s_r[4:0] & ( ~low_s[4:0]); reg d1,d2,d3,d4,d5; always @ (posedge clk or negedge rst_n) if (!rst_n) begin d1 <= 1'b0; d2 <= 1'b0; d3 <= 1'b0; d4 <= 1'b0; d5 <= 1'b0; end else begin // if ( led_ctrl[0] ) d1 <= ~d1; if ( led_ctrl[1] ) d2 <= ~d2; if ( led_ctrl[2] ) d3 <= ~d3; if ( led_ctrl[3] ) d4 <= ~d4; if ( led_ctrl[4] ) d5 <= ~d5; end assign led_d1 = d1 ? 1'b1 : 1'b0; //LED翻转输出assign led_d2 = d2 ? 1'b1 : 1'b0; assign led_d3 = d3 ? 1'b1 : 1'b0; assign led_d4 = d4 ? 1'b1 : 1'b0; assign led_d5 = d5 ? 1'b1 : 1'b0; endmodule

键盘扫描原理及应用键盘

本资源为网上搜集而来,如果该程序涉及或侵害到您的版权请立即写信通知我

键盘扫描 键盘是由按键构成,是单片机系统里最常用的输入设备。我们可以通过键盘输入数据或命令来实现简单的人-机通信。 1.按键及键抖动 按键是一种常开型按钮开关。平时,按键的两个触点处于断开状态,按下按键时两个触点才闭合(短路)。如图1-1所示,平常状态下,当按键K未被按下时,按键断开,PA0输入口的电平为高电平;当按键K被按下时,按键闭合,PA0输入口的电平为低电平。 图1-1 按键电路 图1-2 按键抖动 一般的按键所用开关都是机械弹性开关,由于机械触点的弹性作用,按键开

关在闭合时不会马上稳定地连接,在断开进也不会马上完全的断开,在闭合和断开的瞬间均有一连串的抖动。按键按下的电压信号波形图如图1-2所示,从图中可以看出按键按下和松开的时候都存在着抖动。抖动时间的长短因按键的机械特性不同而有所不同,一般为5ms~10ms。 如果不处理键抖动,则有可能引起一次按键被误读成多次,所以为了确保能够正确地读到按键,必须去除键抖动,确保在按键的稳定闭合和稳定断开的时候来判断按键状态,判断后再做处理。按键在去抖动,可用硬件或软件两种方法消除。由于使用硬件方法消除键抖动,一般会给系统的成本带来提高,所以通常情况下都是使用软件方法去除键抖动。 常用的去除键抖动的软件方法有很多种,但是都离不开基本的原则:就是要么避开抖动的时候检测按键或是在抖动的时候检测到的按键不做处理。这里说明一下常用的两种方法: 第一种方法是检测到按键闭合电平后先执行一个延时程序,做一个12ms~24ms的延时,让前抖动消失后再一次检测按键的状态,如果仍是闭合状态的电平,则认为真的有按键按下;若不是闭合状态电平,则认为没有键按下。若是要判断按键松开的话,也是要在检测到按键释放电平之后再给出12ms~24ms的延时,等后抖动消失后再一次检测按键的状态,如果仍为断开状态电平,则确认按键松开。这种方法的优点是程序比较简单,缺点是由于延时一般采用跑空指令延时,造成程序执行效率低。 第二种方法是每隔一个时间周期检测一次按键,比如每5ms扫描一次按键,要连续几次都扫描到同一按键才确认这个按键被按下。一般确认按键的扫描次数由实际情况决定,扫描次数的累积时间一般为50ms~60ms。比如,以5ms为基本时间单位去扫描按键的话,前后要连续扫描到同一个按键11次而达到50ms 来确认这个按键。按键松开的检测方法也是一样要连续多次检测到按键状态为断开电平才能确认按键松开。这种方法的优点是程序执行效率高,不用刻意加延时指令,而且这种方法的判断按键抗干扰能力要更好;缺点是程序结构较复杂。 在以下的介绍中,我们将使用第二种方法来去除键抖动。 2.键盘结构及工作原理 键盘一般有独立式和行列式(矩阵式)两种。当然还有其它的结构,比如交互式结构等等,不过其它的结构比较少用,在这里就不介绍了。在中颖的单片机中,有些单片机的LCD驱动引脚的SEGMENT口可以共享按键扫描口,当选择为按键扫描口时,可以使用这些口来扫描按键,所以在外部电路可以连接LCD和按键矩阵,采用分时扫描进行处理,下面也将介绍这个特殊应用的方法和注意的地方。 独立式键盘结构

按键精灵源代码整理汇总

1. 御剑脚本 Hwnd = Plugin.Window.MousePoint( Rem XX Call Plugin.Bkgnd.KeyPress(Hwnd, 51 Call Plugin.Bkgnd.KeyPress(Hwnd, 51 Call Plugin.Bkgnd.KeyPress(Hwnd, 51 Call Plugin.Bkgnd.KeyPress(Hwnd, 51 Call Plugin.Bkgnd.KeyPress(Hwnd, 51 Call Plugin.Bkgnd.KeyPress(Hwnd, 51 Call Plugin.Bkgnd.KeyPress(Hwnd, 50 Call Plugin.Bkgnd.KeyPress(Hwnd, 50 Call Plugin.Bkgnd.KeyPress(Hwnd, 50 Call Plugin.Bkgnd.KeyPress(Hwnd, 52 Call Plugin.Bkgnd.KeyPress(Hwnd, 53 Goto XX 2. 奶妈挂机加血(自动用蓝药,配合奶妈7秒叶子)Hwnd = Plugin.Window.MousePoint( Call Plugin.Window.Size(Hwnd, 900, 600 Call Plugin.Window.Move(Hwnd, 4, 143

Rem XX IfColor 325,208,"163CDB",0 Then Else Call Plugin.Bkgnd.KeyPress(Hwnd, 50 End If IfColor 257,208,"163CDB",0 Then Else Delay 1000 Call Plugin.Bkgnd.KeyPress(Hwnd, 51 Delay 1000 Call Plugin.Bkgnd.KeyPress(Hwnd, 52 End If IfColor 163,222,"9C841A",0 Then Else Call Plugin.Bkgnd.KeyPress(Hwnd, 53 End If IfColor 77,226,"453A10",0 Then Else

矩阵键盘扫描汇编程序

4*4矩阵键盘扫描汇编程序(基于51单片机) // 程序名称:4-4keyscan.asm ;// 程序用途:4*4矩阵键盘扫描检测 ;// 功能描述:扫描键盘,确定按键值。程序不支持双键同时按下, ;// 如果发生双键同时按下时,程序将只识别其中先扫描的按键;// 程序入口:void ;// 程序出口:KEYNAME,包含按键信息、按键有效信息、当前按键状态;//================================================================== ==== PROC KEYCHK KEYNAME DATA 40H ;按键名称存储单元 ;(b7-b5纪录按键状态,b4位为有效位, ;b3-b0纪录按键) KEYRTIME DATA 43H ;重复按键时间间隔 SIGNAL DATA 50H ;提示信号时间存储单元 KEY EQU P3 ;键盘接口(必须完整I/O口) KEYPL EQU P0.6 ;指示灯接口 RTIME EQU 30 ;重复按键输入等待时间 KEYCHK: ;//=============按键检测程序========================================= ==== MOV KEY,#0FH ;送扫描信号 MOV A,KEY ;读按键状态 CJNE A,#0FH,NEXT1 ;ACC<=0FH ; CLR C ;Acc等于0FH,则CY为0,无须置0 NEXT1: ; SETB C ;Acc不等于0FH,则ACC必小于0 FH, ;CY为1,无须置1 MOV A,KEYNAME ANL KEYNAME,#1FH ;按键名称屏蔽高三位 RRC A ;ACC带CY右移一位,纪录当前按键状态 ANL A,#0E0H ;屏蔽低五位

堪称一绝的键盘扫描方法

堪称一绝的“IO口扫键”法 在做项目(工程)的时候,我们经常要用到比较多的按键,而且IO资源紧张,于是我们就想方设法地在别的模块中节省IO口,好不容易挤出一两个IO口,却发现仍然不够用,实在没办法了就添加一个IC来扫键。一个IC虽然价格不高,但对于大批量生产而且产品利润低的厂家来说,这是一笔不菲的开支! 那,我们能不能想到比较好的扫键方法:用最少的IO口,扫最多的键?可以吗?举个例:给出5个IO口,能扫多少键?有人说是2*3=6个,如图一: 图一 对,大部分技术参考书都这么做,我们也经常这样做:用3个IO口作行扫描,2个IO作列检测(为方便描述,我们约定:设置某一IO口输出为“0”――称其为“扫某IO口”)。用行线输出扫键码,列线检测是否有按键的查询方法进行扫键。扫键流程:在行线依次输出011,101,110扫键值,行线每输出一个扫键值,列线检测一次。当列线检测到有按键时,结合输出的扫键值可以判断相应的按键。 但是,5个IO真的只能扫6个键吗?有人说可以扫9个,很聪明!利用行IO与地衍生3个键(要注意上拉电阻),如图二: 图二 扫键流程:先检测3个行IO口,对K1’,K2’,K3’进行扫键,之后如上述2*3

扫键流程。5个IO口能扫9个键,够厉害吧,足足比6个键多了1/2! 动动脑,还能不能再多扫几个?就几个?一个也行!好,再想一下,硬是被逼出来了!如图三: 图三 不多不少,正好10个键!这种扫键方式比较少见吧!漂亮!扫键流程:设IO1输出为“0”,检测IO2…IO5,若判断有相应健按下,则可知有健;若无键,则继续扫键:设IO2输出为“0”,检测IO3,IO4,IO5,判断有无键按下,如此类推。这里应注意:当扫某一IO口(输出为“0”)时,不要去检测已经扫过的IO口。如:此时设置IO2输出为“0”,依次检测IO3,IO4,IO5,但不要去检测IO1,否则会出错(为什么,请思考)。 感觉怎么样?不错吧!让我们再看看图三,好有成就感!看着,看着……又看到了什么?快!见图四: 图四 真强!被您看出20个键!多了一个对称的三角形。可是,像这样的排列能正确扫20个键吗?回答是肯定的:不能!上下三角形相互对称,其对称扫出的键无法区别。有没有注意到分析图三时提到的注意点?(à“当扫某IO口时,不要去检测已经扫过的IO口,否则会出错”) 我们分析一下图四:当IO1输出“0”时,按下K11或K11’键都能被IO2检测到,但IO2检测却无法区别K11和K11’键!同理,不管扫哪个IO口,都有两个对称的键不能区分。 我们假想,如果能把对称键区分开来,我们就能正常地去判断按键。我们在思考:

相关文档
最新文档