如何利用ad口做按键,怎么解决组合按键

如何利用ad口做按键,怎么解决组合按键,第1张

写组合键其实和写单键原理是一样察明租的,只是分步来写而已。例如:按组合键CTRL+H键。原理:先按下CTRL键,再点击H键,再松开CTRL键KeyDown 17,1//按住CTRL键KeyPress 72,1//点击H键KeyUp 17,1 //松开CTRL键或者:先按下CTRL键,再按下H键,延迟,松开H键,再松开CTRL键KeyDown 17,1//按住CTRL键KeyDOWN 72,1//按住H键Delay 300 //延迟0.3秒Keyup 72,1 //松开H键KeyUp 17,1 //松开CTRL键你说的那种也可以通过分步编写脚本来实现槐慎。如:Keydown 90,1 /败兆/按下Z键LeftClick 1 //单击左键Keyup 90,1 //松开Z键

取那么多、那么长时间的平均值干什么?

连续取 20 次,其中有10 次,按的是这个键,有10 次,按的是那个键,

平均一下,判定结果:是按下了一个根本就没有按的键。

========

#include<reg52.h>键蔽

#include<intrins.h>

unsigned char code k_AD[] = {

10, 40, 70, 100, 130, 160, 190, 210, 230}//九个按基兆键所对应的ADC值

unsigned char code duan[] = { //共阳段码

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}

//--------------------------------------------

void delay(int x)

{

int i

while(x--) for(i = 115i >0i--)

}

//--------------------------------------------

unsigned char keyscan()

{

unsigned char k1, k2

k1 = GetADCResult(0)//读出

if(k1 <238) { //按下了

delay(20)//延时

k2 = GetADCResult(0) //再次读出

if((k1 >(k2 - 5) &&(k1 <(k2 + 5)) { //两者相差无几

k1 /= 2 k2 /= 2 k1 += k2//两次的平均值

for(k2 = 0k2 <9k2++) //稿锋州在表格中查找9次

if(k1 >(k_AD[k2]) - 5) &&(k1 <(k_AD[k2]) + 5)) //找到了

return(k2) //就返回键值

}

}

return(255) //没有按键

}

//--------------------------------------------

void main()

{

unsigned char key

while(1) {

key = keyscan()

if(key != 255) P0 = duan[key]//显示键值

}

}

//--------------------------------------------

本程序未经验证,仅供参考。

电脑ad键桥数变成左右了处理办法

还原方法:

1.如果仍在游戏中可通过游戏设置来将这四个键的用途恢复。

2.如果使用的是台式机,可以同时按住Fn+W,就可以还原。如果使用的是笔记本,可以同时按住Fn+W+上键,即可还大消稿原。

3.如果电脑是win8系统,可以尝试同时按住Ctrl+Fn+Alt+W来还原。

扩展资料

对一些玩游戏的朋友来说,键盘中的ASDW与上下左右键的使用频率比其他按键要更多,玩游戏时就需要熟练 *** 控这些按键。而键盘中的ASDW与上下滚孝左右键可以相互转换,不同品牌的键盘可能转换方式不一样。

另外,如果上述三种都不能相互转换,那就用驱动方法解决,下载一个万能驱动,安装检测即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12261313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存