• Status Unconfirmed
  • Percent Complete
  • Task Type Patches
  • Category Playlists
  • Assigned To No-one
  • Operating System Another
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.7.1
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by BenjaminBrown - 2011-01-21

FS#11898 - This is a preliminary patch to add keymaps needed for plugin on the android port

This is a preliminary patch to add the key maps needed to compile plugins for the android port. It is mostly complete.

You will need to change plugins=”yes” line 2790 of file /tools/configure but this breaks the sdl port.

Most plugins seem to work well some don’t, I have not tested all plugins yet but will start as soon I post this.

a section to tools/configure that defines plugins=”yes” for the android port and “no” for the sdl port

Testing testing testing

patch probably breaks some targets because of logo.c defaulting to a generic keymap which I changed “commented out” and added #error No keymaps defined! so the compiler will not just over look it. Let me know what breaks and I will try to fix it.

I forgot about this
over the first
a missing BUTTON_MAIN issue not sure my fix is the right one

BTW my target’s screen size is 240×340 so rockbox had bitmaps and code ready for me. other targets with “non rockbox standard” screen sizes will have trouble compiling.

The use of the DPAD isn’t going to work well, as more and more devices come without one (see Nexus S).

I’m thinking it makes more sense to work on making the plugins touchscreen aware (not using the grid mode, of course). As this is a lot of work and takes time we can probably do it one by one (perhaps with a seperate

Some games are more enjoyable with a touch screen. Also some seem unplayable using the touch screen, so it’s in my mind its win/win. They will probably always make at least one model with a flip out keyboard. I could not see myself buying one without this feature. And in that case redirecting the keymaps to those targets is halfway done now. Well zxbox could really make use of the extra keys. Besides this patch is intended to just get the darn thing compiled with plugin=”yes” enabled. Also if the work being done toward making rockbox screen size independent gets committed most plugins will have to be touched up to compile without error any way.

Anyone have any ideas about logo.c and it’s generic
button-target.h, any thoughts about BUTTON_MAIN as 0×00000040 because BUTTON_DPAD_CENTER is 0×00000040 as well, would this cause problems?

ROLL UP PATCH apply only this patch

Still not sure about logo.c using a default key map instead of giving
the androids button-target.h to say #define BUTTON_MAIN BUTTON_DPAD_CENTER duh I feel
patch also adds android key maps to pluginlib_actions.c most plugins us this and even if your android target has no DPAD the menu and back keys behave as you would expect.

You still have to change plugins=”yes” line 2790 of file /tools/configure, maybe I’ll work this out tonight.

Here are some test results, as to which input method works i.e. touchscreen dpad for which
well as if the back button functions as
it 4 am already?

What are the touchscreen tests based on? Hopefully not the grid mode.

The touchscreen test are for whatever was there before I got hold of it. The tests were to basically let me see where the state of affairs are concerning which plugin needs
patch is mainly for only the keymaps, you know, so we can press back or menu from a plugin and it performs the appropriate action, and yes play games with dpad for those targets that have one.

I dissected my first patch and separated out patches according to what did what. So here it is to make this final patch work you need to use patches  FS#11899  ,the final patch I’m up loading now, then  FS#11900  and  FS#11901 . Also you still need to change plugins=”yes” line 2790 of file /tools/configure before you run configure.

If things look good to the Devs could one commit these changes and I’ll get started on fixing some plugins that don’t work for the
patches do not enable plugins=”yes” so it should not interfere with anybody else’s work at the moment.

PLUGIN_KEYMAPS_ANDROID_UPDATED.patch - I fixed my white space, removed personal comments, remapped alot of keys to make them more intuitive, updated the helper text where applicable, and removed lots of *_PRE defines I just didn’t need. button-target.h_ANDROID_DEFINE_BUTTON_MAIN.patch - just adds a BUTTON_MAIN to /firmware/target/hosted/android/apps/button_target.h. I guess it is from some older unified keymap scheme. rockboy fails to build without it.

With these two patches enabling plugins=”yes” line 2790 of file /tools/configure will compile cleanly without error or warning against current svn for the android target.


Turns out having a default catch all is sometimes a useful thing.

These patches allow compiling with plugin=”yes” on all arbitrary screen sizes from 240×320 and up. While not explicitly for the android target they are still in line (patch after) with the above patches. If you like I can fix that and resubmit it. The logic should not interfere with any existing targets but the effected plugins still need some
- All targets above 640×480 default to 640×480 bitmaps


invadrox.c rockblox.c, sudoku.c need bug tested and fixed up

Opps wormlet should have been a seperate patch * add wormlet to to do list

Better corrected Keymaps patch sans logo.c for now

crap.. wrong file even this one is clean no work a rounds if you like it please commit and close this FS entry and i’ll open a new FS for screen size invariance.

I just checked these are synced with r29143, however I am going to retest the layouts again.

I forgot the file again

Due to the way Android handles the interrupt lines for keyUp and keyDown as of API 1.5/6. If you have a DPAD you can use the last patch on FS#11903, sorry for all the comments and patches, and the last one here too, to enable plugin
a Developer can look at the second to the last one on this page, with the BUTTON_REL work around, so menu, back and track pad can be added to the plugins controls.

Opps I meant third from the last.

When FS#11903 is closed the last one here I think is correct.

Although incomplete for now, It lets us compile with out errors from missing keymaps.

I got gingerbread installed on my wifes tilt 2 last night, and testing these keymaps show that, they need lots of work to be up to snuff for all android variants.


Available keyboard shortcuts


Task Details

Task Editing