按键检测

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 2 <HTML>
 3 <HEAD>
 4     <TITLE>js 按键记录</TITLE>
 5 </HEAD>
 6 <BODY>
 7     <script type="text/javascript">
 8         var keystring = "";//记录按键的字符串
 9         function $(s) { return document.getElementById(s) ? document.getElementById(s) : s; }
10         function keypress(e) {
11             var currKey = 0, CapsLock = 0, e = e || event;
12             currKey = e.keyCode || e.which || e.charCode;
13             CapsLock = currKey >= 65 && currKey <= 90;
14             switch (currKey) {
15                 //屏蔽了退格、制表、回车、空格、方向键、删除键
16                 case 8: case 9: case 13: case 32: case 37: case 38: case 39: case 40: case 46: keyName = ""; break;
17                 default: keyName = String.fromCharCode(currKey); break;
18             }
19             keystring += keyName;
20         }
21         function keydown(e) {
22             var e = e || event;
23             var currKey = e.keyCode || e.which || e.charCode;
24             if ((currKey > 7 && currKey < 14) || (currKey > 31 && currKey < 47)) {
25                 switch (currKey) {
26                     case 8: keyName = "[退格]"; break;
27                     case 9: keyName = "[制表]"; break;
28                     case 13: keyName = "[回车]"; break;
29                     case 32: keyName = "[空格]"; break;
30                     case 33: keyName = "[PageUp]"; break;
31                     case 34: keyName = "[PageDown]"; break;
32                     case 35: keyName = "[End]"; break;
33                     case 36: keyName = "[Home]"; break;
34                     case 37: keyName = "[方向键左]"; break;
35                     case 38: keyName = "[方向键上]"; break;
36                     case 39: keyName = "[方向键右]"; break;
37                     case 40: keyName = "[方向键下]"; break;
38                     case 46: keyName = "[删除]"; break;
39                     default: keyName = ""; break;
40                 }
41                 keystring += keyName;
42             }
43             $("content").innerHTML = keystring;
44         }
45         function keyup(e) {
46             $("content").innerHTML = keystring;
47         }
48         document.onkeypress = keypress;
49         document.onkeydown = keydown;
50         document.onkeyup = keyup;
51     </script>
52     <input type="text" />
53     <input type="button" value="清空记录" onclick="$(‘content‘).innerHTML = ‘‘;keystring = ‘‘;" />
54     <br />请按下任意键查看键盘响应键值:<span id="content"></span>
55 </BODY>
56 </HTML> 
时间: 2024-12-18 21:59:25

按键检测的相关文章

第12章 GPIO输入-按键检测—零死角玩转STM32-F429系列

第12章 ????GPIO输入-按键检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ? 本章参考资料:<STM32F4xx参考手册>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>. 按键检测使用到GPIO外设的基本输入功能,本章中不再赘述GPIO外设的概念,如您忘记了,可重读前面"GPIO框图剖析"小

nRF51822外设应用[2]:GPIOTE的应用-按键检测

版权声明:本文为博主原创文章,转载请注明作者和出处.    作者:强光手电[艾克姆科技-无线事业部] 1. nRF51822寄存器类型 nRF51822的寄存器和一般的单片机有所差别,nRF51822的寄存器分为下面的三种类型. Task :任务寄存器,可以由程序或事件触发. Event:事件寄存器,事件可以产生中断或触发任务. Register:普通寄存器,和一般单片机的寄存器一样. Task和event使得操作片上外设十分方便简洁,只需进行少量的配置,即可轻松运用各种外设.同时,Task和e

第12章 GPIO输入—按键检测

第12章     GPIO输入-按键检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx参考手册>.库帮助文档<stm32f4xx_dsp_stdperiph_lib_um.chm>. 按键检测使用到GPIO外设的基本输入功能,本章中不再赘述GPIO外设的概念,如您忘记了,可重读前面"GPIO框图剖析"小节,

GPIO输入——按键检测

当按下一个按键时,系统是如何检测到的呢? 我们通过LED灯的亮灭状态来间接完成按键检测.当按下按键时,LED灯亮,再次按下时,LED灯灭. 要完成这个实验,我们就会用到GPIO外设的基本输入功能. 查阅开发板的按键原理图,如图3-1. 图3-1 图中的K1.K2即为按键.以K1为例,当未按下按键时,其PA0引脚处于接地状态,即低电平,按下按键时,引脚接到电源,输入状态为高电平.所以只要我们检测按键对应引脚(这里是PA0)的输入电平状态,即可判断按键是否被按下.这便是按键的检测原理了. 有一点需要

第13章 GPIO输入—按键检测

本章参考资料:<STM32F76xxx参考手册>.库帮助文档<STM32F779xx_User_Manual.chm>. 按键检测使用到GPIO外设的基本输入功能,本章中不再赘述GPIO外设的概念,如您忘记了,可重读前面"GPIO框图剖析"小节,STM32 HAL库中GPIO初始化结构体GPIO_TypeDef的定义与"定义引脚模式的枚举类型"小节中讲解的相同. 13.1  硬件设计 按键机械触点断开.闭合时,由于触点的弹性作用,按键开关不会

单片机第6课:独立按键检测原理

将JP5的8号引脚连接到单片机的P1^0,然后P1^0和发光二极管的接正引脚相连接(加高电平,发光二极管就会亮,由于单片机上电的时候各IO口默认为高电平,所以导线接好之后,发光二极管就点亮了).当我们按下K1的时候,发光二极管熄灭,松开按键,发光二极管再次点亮.因为当你按下按键的时候,TTL电路只有两种电平的时候,呈现"线与"的关系,再次检测P1^0引脚的电平,你会发现已经是低电平了.因为高电平与上低电平等于低电平.

按键检测程序应&quot;等待按键释放&quot;

按键S4是下拉,S1.S2.S3为上拉.一定要等待按键释放,否则按一次S1可能会运行key_scan()函数好几次. 1 /******************************************************************************* 2 * Function Name : key_scan 3 * Description : 按键扫描.优先级S4>S0>S1>S2.一定要等待按键释放 4 * Input : None 5 * Output

GPIO 输入—按键检测

这里要用到一定的模电知识.电容两端电压不能突变,电感两端电流不能突变.这里利用了电容的放电延时实现硬件消抖.按键按下会有抖动,波形有毛刺,使得高低电平显现不明显,而按键按下时,电容放电一下,马上又被充电,此时电容两端的电压不会突然变化,这个延时时间恰好可以达到消抖作用. 这里需要使用一个固件库函数: /** * @brief Reads the specified input port pin. * @param GPIOx: where x can be (A..K) to select th

andriod 手机按键检测事件 onKeyDown() 简述

函数原型: public boolean onKeyDown(int keyCode, KeyEvent event); 第一个参数是用户按下键时,当前所接收到的按键代号: 第二个参数是按键事件的对象. 使用方法: 如果要使用这个方法.直接在主 acivity 中重写即可,一般使用开关语句 switch 来把keyCode 和 (event.按键类型) 对比来执行对应的操作. 下面我们来看下event 的按键属性都有哪些. 在上面的函数中,按住control 加 鼠标左键点击 KeyEvent,