[Galaxy S I9000 Android Development] madmack:
Ok guys, I'm done playing around with the softkeys' backlight. I truly believe that the source code for the melfas-touchkey that samsung released to us is not identical to the one installed on our device (I know that because I'm running some commands as root that are supposed to give kernel output with dmesg but aren't), so I took a slightly different approach.

I saw the idea posted somewhere previously that instead of getting the capacitive lights on, we really should be putting the screen's AMOLED screen to work ! specially that it doesn't consume any backlight energy when displaying a black screen. So I developed an app that does just that, upon receiving an audio notification, it will display a black screen with a red dot somewhere in the left top corner. Ok, i really should put these in bullet points..

the application does the following:

1. When your phone sounds a notification, it switches the screen on and displays a red dot somewhere in the top left corner. The location of this dot is random every time you receive a new notification. This will guarantee using different LEDs so that the same ones won't be burned out ! The reason why I chose red is because it uses the least amount of energy to display.

2. The app runs as a service, after installing, you'll need to lock the screen once and unlock it for it to activate. After this, the application should run automatically after a reboot.

3. To get rid of the red dot, the only key you can use is the home key. Using the capacitive touch buttons will do nothing, and so as clicking anywhere on the screen. Once your screen turns on, the notifications disappear and will not come up until a new notification sound is received.

I have also logged the touch drivers and saw that although I'm displaying a black screen and setting flags to not respond to touch messages, android is still receiving touch messages when you touch any spot on the screen. This, I imagine, consumes resources! So I disabled the touch drivers when the black screen is active. Pressing on the Home button should reactivate it. If your screen is unresponsive to touch even after the notification screen is dismissed, a simple restart should take care of it. Once you've restarted, you can uninstall the app.

Now the touchscreen drivers were a lot easier to mess around with. The sourcecode given by samsung helped me achieve the activation/deactivation of the screen. Things are not the same with the capacitive buttons. You'll notice that when the black screen is on, if you touch any of the soft buttons, they'll light up (although am suppressing them programatically). Am still analyzing the drivers to see if there is an easy way to disable these drivers too when the notification is on.

One more note, make sure the notification sounds that you choose for your different apps (Calendar, Gmail, Gtalk.. etc) are the default samsung notifications or the ones you placed in /sdcard/sd/media/audio/notifications

Any other sound notifications will simply not trigger the program to display the notification screen.

I just want to let you guys know that this is a beta, better yet, an alpha release. Install it at your own risk.

Enjoy ! Comments and feedback will be appreciated :)