作者jensentaipei (小冯冯)
看板ASM
标题[问题] Arduino模拟键盘问题
时间Mon Jan 1 18:30:50 2018
小弟最近因为毕制的关系有用unity写一个电脑游戏,然後某一堂课要利用毕制与arduino作结合,就想说可以把游戏的上下左右键利用用arduino Leonardo 结合按键模组去实现,但因爲小弟我对unity连接arduino没什麽概念,想说直接用arduino去抓键盘的按键,於是打出下列的程式码:
#include
boolean pressed = false; //设定按下状态,预设为未按任何键
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(7, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
Keyboard.begin();
}
void loop() {
// put your main code here, to run repeatedly:
if (digitalRead(7) == LOW ) { //判断第1个按钮有没有被按下
Serial.println("UP");
Keyboard.press('w'); // 按下一个键 "X"
Keyboard.releaseAll();
delay(200);
pressed = false;
}
if (digitalRead(6) == LOW) { //判断第1个按钮有没有被按下
Serial.println("Left");
Keyboard.press('a'); // 按下一个键 "X"
Keyboard.releaseAll();
delay(200);
pressed = false;
}
}
但是却遇到一个问题,我在电脑里任何能输入讯息的地方按下按钮都会有w跟a出现,就算是切换成中文也有ㄊ跟ㄇ出现,所以我想应该是按钮有抓到了键盘按键没错,但是进去了游戏里面,按了这两颗钮都没有反应,我也试了其他游戏,像是steam的星露谷跟火箭联盟,却都也都没有反应。小弟我不知道我程式码哪里出了问题,上来请教各位,谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.165.155.159
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ASM/M.1514802652.A.1FD.html
1F:→ cs8425: 太快release掉所以没抓到? delay跟releaseAll换一下看看? 01/05 02:43