Показать сообщение отдельно
Старый 15.11.2013, 10:05   #182
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Начало здесь.
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
Вложения
Тип файла: zip Multimedia_Keys_for_IDE_1.0.5.zip (6.5 Кб, 1118 просмотров)
Тип файла: zip Multimedia_Keys_for_IDE_1.6.5.zip (7.0 Кб, 1343 просмотров)

Последний раз редактировалось lti1; 03.10.2015 в 12:10. Причина: Исправления в файлах USBAPI.h и HID.cpp
lti1 вне форума   Ответить с цитированием