Предыстория


Доброго времени суток! На день рождения мне подарили планшет Nexus 7 2013. Я люблю кататься на велосипеде и слушать музыку. Однако, чтобы переключить трек или изменить громкость, необходимо достать планшет из сумки, что опасно при движении на велосипеде, да и неудобно. И поэтому решил создать для него пульт управления музыкой.

Попытка не пытка


Как только была закончена схема, я перешел к программе. За основу взял разработки на obdev.at, но долго мучился с кодами и дескрипторами. Здесь лежит документация по HID, а здесь — примеры HID-устройств. Я применял пример управления Windows Media Player, но компьютер упорно игнорировал команды с пульта.
Решено было отправлять с пульта команды через Alt.

Какие команды отправляются


  • Alt+L — Play/Pause
  • Alt+K — Volume Down
  • Alt+P — Volume Up
  • Alt+N — Previous Track
  • Alt+M — Next Track

Эти команды можно прописать, например, в программе MKey.

А как прописать команды в планшете?


Эти команды я прописал в Generic.kcm, который лежит в /system/usr/keychars. Разместите его с помощью Root-проводника или через ADB.

Другое применение


Если вы, например, хотите сделать панель быстрого запуска, переназначьте кнопки так, как надо вам и сделайте на пульте полноразмерный USB-разъём.

Вид без корпуса


При разводке платы в EagleCAD я ошибся, выставив зеркальную печать.
image
image

Общий вид


image

Видео




Ссылки


Документация по HID;
Проекты на V-USB;
HID примеры.

Схема + Плата + Исходники + Файл Generic.kcm.