我正在嘗試使用帶藍牙HID模塊(bluesmirf)的arduino來控制Galaxy選項卡上的音量。我有arduino安裝程序,這樣我就可以按下一個連接的小按鈕,它就像鍵盤一樣將ascii文本發送到平板電腦,並且工作正常。我想爲這個「藍牙鍵盤」創建一個自定義鍵盤佈局文件,這樣當平板電腦通過藍牙從arduino接收到一個按鍵時,它將控制相應的項目,如音量,靜音等。但是,當使用keytest捕獲來自藍牙模塊的傳入按鈕,掃描碼始終爲0. Keytest正在讀取右側的鍵,並在發送A時將其顯示爲keycode_a(例如),但該鍵的掃描碼始終爲0而不是唯一的標識符。奇怪的是,回車,arduino自動放在serial.println命令的末尾(我用來通過藍牙發送按鈕的命令)正確顯示爲ENTER,並且有一個掃描碼。rn-42 bluesmirf HID不發送掃描碼?
我不明白。我一定做錯了什麼,但我還是新的/學習,所以我必須錯過它。我無法設置自定義鍵盤佈局來執行我想要的操作,而無需掃描代碼進入平板電腦查看。
如果需要,我可以發佈我的arduino代碼。任何和所有的幫助,不勝感激。我非常接近完成我所需要的東西,並使我瘋狂。
編輯 - CODE BELOW:
// test code for sending keystrokes from arduino
// to computer via HID bluetooth module
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
// begin serial communication at 115200 baud rate
Serial.begin(115200);
}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH,
//the LED turns on, and the line is printed via bluetooth.
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH); // turn LED on:
Serial.println("A"); // write the line via bluetooth
delay(1000); // delay one second
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
所以在上面的代碼中,Serial.println( 「A」);發送到平板電腦,我可以看到一個打印在文本編輯器中的A.平板電腦在keytest應用程序中看到A被按下,但它顯示掃描碼爲0.由於某些原因,發送的每個字符都顯示爲0,除了在Serial.println之後草圖引入的自動回車。我甚至嘗試使用Serial.print,因爲它沒有輸入回車符,並且我也得到了相同的掃描碼0。
你的arduino代碼會有幫助,同時發佈你在Android端使用的代碼也會有幫助。 – FoamyGuy 2013-03-06 16:55:25
我編輯原始帖子以包含arduino代碼。我沒有在android端使用任何代碼。這個想法是,通過掃描碼,我可以編寫一個鍵盤佈局文件,或者修改其中一個默認的文件,它基本上只是一個文本文件,上面寫着「何時接收到帶有此掃描碼的密鑰,然後執行此操作」。它就像製作自定義鍵盤快捷鍵一樣。 – user2140890 2013-03-06 23:03:10
你能發佈一個鏈接到哪個bluesmirf模塊嗎?有幾個,他們工作有點不同IIRC。你也可以發佈你在android端看到的輸出嗎?就像你在哪裏看到它使用keycode_a和ENTER以及它們各自的掃描碼(或缺少它們)? – FoamyGuy 2013-03-07 02:21:22