Turn on the backlight automatically
13.02.2021
This a is very small application and it already exists, but the one I found (https://www.whizoo.com/apps/backlight.php) didn't worked for me, so I wrote my own one.
The problem is simple: If you have a Sony Clie S3x0 or a SL10 you know the problem, that screen is very hard to read in low-light conditions. Of course you can manually turn on the backlight, but I would say, you need to turn it on very often. So why not autmate this step and turning it on everytime the screen gets turned on? With this application installed, the backlight is on by default (it gets turned on every time the device gets turned on). The app works only on b/w-devices with backlight. So far: only tested on a Sony CliƩ S320 (succesfully).
Requirements: Palm OS 4.0 (or higher)
Here is the application:
If you want to use this application: It is important, that you install it via a hotsync or do a soft-reset after copying it on your device. And this is the Source-Code:
/* * EverBacklight.cpp * * main file for EverBacklight * */ #include <PalmOS.h> #include <PalmOSGlue.h> #include "EverBacklight.h" #include "EverBacklight_Rsc.h" /* Define the minimum OS version we support */ #define ourMinVersion sysMakeROMVersion(3,0,0,sysROMStageDevelopment,0) static void RegisterForNotifications() { UInt16 cardNo=0; UInt32 romVersion=0; LocalID dbID=0; FtrGet(sysFtrCreator, sysFtrNumROMVersion, &romVersion); if(romVersion < ourMinVersion){ return; } if(SysCurAppDatabase(&cardNo, &dbID)!=0){ return; } SysNotifyRegister(cardNo, dbID, sysNotifyLateWakeupEvent, NULL, sysNotifyNormalPriority, 0); } static void HandleNotifications(SysNotifyParamType *np) { if(np->notifyType==sysNotifyLateWakeupEvent) { UIBrightnessAdjust(); // Toggle Backlight } } UInt32 PilotMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags) { switch (cmd) { case sysAppLaunchCmdSystemReset: case sysAppLaunchCmdSyncNotify: RegisterForNotifications(); break; case sysAppLaunchCmdNotify: HandleNotifications((SysNotifyParamType *)cmdPBP); break; } return errNone; }
Of course there is a lot of room for improvements. But currently I'm do not have the time for optimization.