[Android Head-Units] donaldta:
Yes, as I conveyed earlier the APK's manifest will need to have the "Boot Complete" permission and receiver added as well as adding a listener class for for it

Btw, if you don't have root access how were you going to push the APKs into /system/app directory?

Honestly, I think to two files might be a little overkill right now but maybe not. Crawl before running, right? I don't have a unit and there are not many reviews of the it, so I find difficulty in conceptualizing how some functions work.

I was actually asking if you can manually map (re-map) the SWC button to function, like on the AN-21U units. They go into a special settings control panel for steering wheel control where they then they can manually assign the button to function pairing. Wherein they press "Start" to begin the pairing programming: select the first function then press the first button and they are paired, select the second function then press the second button then second pair is complete and so on. They continue this process until they have no more buttons and functions to pair so they press "End" to complete the process. Here's a link to a YouTube video forwarded to the 8:36 time slice where KID52 of the AN-21U thread is demonstrating the process. Post #1521 of the AN-21U thread shows screenshots of all the possible functions available to be paired with Steering Wheel Control buttons.

It appears that the "physical SWC buttons" actuate a "logical S150 function" which (some? like phone and menu) are represented by Linux Scancodes that end up translated into Android Keyevents. My idea was for someone to remap the function to button pairing so that each button was paired with a function registered a scancode in the KeyTest app. That will allow us to use a custom keylayout file in order change the function to keyevent pairing. Capische?

Maybe I should make this easier. Before we go changing how the fundamental programming of the SWC, we should first try to verify that we can use "MEDIA_NEXT" (87) and "MEDIA_PREVIOUS" (88) work. I attached a modified generic.kl file that swaps the Phone with Next and Menu with Previous keyevents. Test it on your unit by renaming the existing one to generic.bak or something then copy this file into the directory as generic.kl to test it. You'll probably need to reboot it to actuate the changes.

If this works, it will swap the functions and give us a few clues. If the Previous and Next buttons now facilitate Home and Phone keyevents respectively (and vice versa) then that means that the S150 is using the appropriate Scancodes to bring up the Media_Next and Media_Previous Keyevents. It would also verify that some program has an OnKey listener and blocking those two keyevents from being registered by any other program, like KeyTest and PowerAmp etc. However, if the Home and Phone buttons do not facilitate the Previous and Next keyevents then they are using a different means of actuating those functions.

Also, in a private message you said there was a "s3c-keypad.kl" file as well. Can you upload that too? I'd like to take a look at it along with whatever .kl files are in the /system/usr/keylayout directory. After this test, I would actually like to try and normalizing the whacked "generic.kl" that they provided by replacing it with a standard copy from Google. Then move all of their fancy customizations into a "s3c_ts.kl" or "Vendor_dead_Product_beef.kl" file where it belongs.