Начало
здесь.
Nett, в папке \arduino-1.0.5\hardware\arduino\cores\arduino для IDE 1.0.5 или \arduino-1.6.5-r5\hardware\arduino\avr\cores\arduino для IDE 1.6.5 меняете два файла USBAPI.h, HID.cpp на те, что во вложении соответственно. И добавляете в код из
поста murano нужные действия, не нужные удаляете
Код:
int analogPin=0;
int data;
void setup()
{
Keyboard.begin();
Serial.begin(9600);
}
void loop()
{
data=analogRead(analogPin); //читаем значение нажатой кнопки
Serial.println(data); //для определения кодов нажатых кнопок на мониторе порта
/*поддерживаемые коды управляющих клавиш
http://arduino.cc/en/Reference/KeyboardModifiers*/
if (data==614) Keyboard.write(176); //ENTER
if (data==122) Keyboard.write(216); //стрелка влево
if (data==165) Keyboard.write(215); //стрелка вправо
if (data==216) Keyboard.write(218); //стрелка вверх
if (data==276) Keyboard.write(217); //стрелка вниз
if (data>=315 && data<=345) // приглушение звука
{
Remote.mute();
Remote.clear();
}
if (data>=420 && data<=460) // воспроизведение / пауза
{
Remote.play_pause();
Remote.clear();
}
delay(100);
}
И как писал
murano, добавить диапазон значения +- 5%, напимер если значение клавиши 330 вместо data==330 использовать data>=315 && data<=345 и т.д.
Возможные варианты мультимедиа клавиш
Код:
// Volume
Remote.increase(); Volume Up
Remote.decrease(); Volume Down
Remote.mute(); Mute
// Playback
Remote.play(); Play
Remote.pause(); Pause
Remote.play_pause(); Play/Pause
Remote.stop(); Stop
// Track Controls
Remote.next(); Next
Remote.previous(); Previous
Remote.forward(); Fast Forward
Remote.rewind(); Rewind
Remote.power(); Power
Remote.home(); WWW Home
Remote.search(); WWW Search
Кстати, какая у Вас плата? Должна быть Arduino Leonardo или Arduino Pro Micro.
Исходник
здесь, Stop заменен на Play/Pause