dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Use DAP keys as keyboard while connected through USB

Use DAP keys as keyboard while connected through USB

From: Tomer Shalev <>
Date: Fri, 22 May 2009 23:10:03 +0300

Notice: Similar request was posted in a forum thread at Rockbox Technical
Forums\Rockbox Development\Feature
Ideas<>in order to
reach greater audience. Please ignore that message if you are
reading this email.

Hello all,

I've been working on Rockbox USB stack as part of my participation in the GSoC
2009 project<>to
enhance the Rockbox USB stack.

I posted a patch <> 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
FS#10218 <>.

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

Tomer Shalev
Received on 2009-05-22

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy