Rockbox mail archiveSubject: Use DAP keys as keyboard while connected through USB
Use DAP keys as keyboard while connected through USB
From: Tomer Shalev <shalev.tomer_at_gmail.com>
Date: Fri, 22 May 2009 23:10:03 +0300
Notice: Similar request was posted in a forum thread at Rockbox Technical
Ideas<http://forums.rockbox.org/index.php?topic=21740.0>in order to
reach greater audience. Please ignore that message if you are
reading this email.
I've been working on Rockbox USB stack as part of my participation in the GSoC
enhance the Rockbox USB stack.
I posted a patch <http://www.rockbox.org/tracker/task/10218> for one of the
major features I recently implemented, which is making the DAP act
(enumerate) as a Human-Interface Device in the Operating System, meaning the
DAP acts as a keyboard device in addition to being a Mass-Storage device.
This feature uses the DAP's keys which were unused prior to this patch, to
send any kind of key-pressed code to the host. For example, in Sansa e200v1
it is possible to control volume, mute, and send Play/Pause, Stop, Next and
Prev key press events to the OS. Other platforms which uses the Rockbox USB
stack are also set to send some subset of this commands, but they haven't
been tested and verified yet.
*I need testers in order to verify proper keymap settings for the following
platforms: c100, c200, clip, gigabeat-s, h10, hdd1630, ipod, mr100, sa9200,
More info on this issues, together with instructions how to set-up and use
this feature, and an updated status of platform testing available at
Currently, the keys are configured for basic volume and playback control but
in the future these settings could be configurable and/or run-time
modifiable via a menu (which is not assigned a dedicated key of its own).
For a list of possible HID codes, see the HID Usage
document, Table 17: Consumer Usage Page (page 75).
I would greatly appreciate your help to verify the keymaps.
Note: Some USB drivers might not support Interrupt USB transfers yet, and
thus be unable to use this feature, although the keymap configuration could
be correct. I would still like to have feedback in such case.
My roadmap, after competing this task, is to separate the USB class drivers
from the main binary, and use load them dynamically as plugins. I need to
have a bit brainstorming for that, getting your feedback on how this can be
implemented. Any input is welcomed.
Thanks a lot for reading this, and helping me enhancing the Rockbox USB
Received on 2009-05-22