TorchButton v2.x supports the Leo as well as Raphael and moved to a new thread! Click this link!
On my previous devices (Wizard, Hermes) I found it very useful to have the camera LED function as flashlight. However, all those tools that were previously available to enable the LED didn't seem to work on the Raphael.
I've just spent some time debugging and testing and got it to work on my Raphael. The cab to install is attached to this post. It'll create a shortcut in your programs menu.
Usage is currently twofold. When you start the app, the flashlight turns on. When you don't do anything for 60 secs it will turn off automatically to prevent your led from burning (heard it happen before on other devices). If you start the program again within the 60 seconds, it will manually turn the flashlight off.
I've only tested this on my Raphael so far. Please let me know if it works for everyone.
---------------
Supported modes:
TorchButton has 5 modes so far. Each one explained in short:
Normal
Simply enable the flashlight until the application is started again or the configurable timeout occurs (60 seconds by default). This mode can be used for a prolonged period. I have only tested it up to 5 minutes though.
Bright
The Bright mode is exactly the same as the Normal mode, with the only difference being that the LED is more bright. This mode is equal to the short moment when you make a photo with flashlight on. Note that this mode does stress the LED and should not be used for prolonged periods. I have used this up to a minute without problems.
Blink
The Blink mode turns the LED on and off in specific intervals that you can configure in the registry. An example of usage is the bike light.
SOS
This is extensive mode that supports sending custom morse code. The text to be sent via morse code signals can be configured in the registry. This defaults to "sos ", thus the SOS name for this mode. NOTE that the flashlight timeout does NOT interrupt a text. It checks if the timeout occurred when it starts over again and quits when it reached the timeout.
PTT
The Push-To-Torch mode. When your device has a key you can map to 'hold', you can use this feature to keep the light on as long as the key is pressed. The AT&T Fuze is one of those devices with a PTT button.
---------------
UPDATE 01-09-2008 v1.1:
TorchButton v1.1 now includes the ability to override the default timeout from 30 seconds to anywhere between 0 and 300 (= 5 minutes) seconds. The regkey is HKLM\Software\TorchButton\FlashlightTimeout (DWORD). When the application installs or when it starts for the first time it will create the registry setting if it doesn't exist yet.
UPDATE 09-11-2008 v1.2:
Finally a new version of TorchButton.
* Enlarged maximum timeout override from 300 seconds to 86400 seconds (a day).
* Added 'bright' feature. Note that the light may flicker almost unnoticeable every 750ms. Can't prevent that.
* For Devs: attached source code of TorchButton to this post.
* For Devs: I've created a C# library for easy control of the camera led. Also attached to this post. The .zip contains a readme which has examples on how to use it.
UPDATE 14-11-2008 v1.3:
* Added 'blink' feature. Registry configuration options:
- blinkTimeOnInMs (DWORD), default 500. Configures the time the LED is on.
- blinkTimeOffInMs (DWORD), default 500. Configures the time the LED is off.
* Added 'SOS' feature. More like a 'morse code' feature though. You can set any morse code to be signalled in the registry. Options:
- sosCode (SZ), default " ...---...". Configures the morse code to signal.
- sosDotTimeoutInMs (DWORD), default 200. Configures 200ms LED on, and 200ms LED off for ".".
- sosDashTimeoutInMs (DWORD), default 400. Configures 400ms LED on, and 400ms LED off for "-".
- sosSpaceTimeoutInMs (DWORD), default 1000. Configures 1000ms pause when processing space " ".
* New shortcuts are added for those features.
* Shortcuts are moved to a TorchButton folder within the Programs, for grouping purposes (in case you're wondering where TorchButton went!).
UPDATE 29-11-2008 v1.4:
* Fixed 'sos' mode. It now properly uses a single configurable unit time to calculateother intervals.
* Updated 'sos' mode. You can now configure a text to be sent via morse code in the registry. Check configuration part of the readme for more info.
* Removed old 'sos' registry settings and replaced them with new ones.
- Check out the new configuration settings in the readme.txt (attached to this post).
* Increased default flashlight timeout from 30 to 60 seconds.
* Changed default 'blink' time to 250ms for both on and off.
UPDATE 28-04-2009 v1.5:
* Added Push-To-Torch (PTT) mode. Probably only useful for devices that have the PTT button, such as the AT&T Fuze.
* Added brightResetTimeInMs registry setting for owners of the Alltel Touch Pro. They need to set this value to 100 for bright mode to work properly.
---------------
TODO's:
* Change LCD brightness to minimum when application starts, and restore when exists.
* Prevent standby mode while active
---------------
Developers:
The source code has been attached as well. The app has been written in C/CPP using VS2008. The code doesn't deserve a beauty-price, but it does its job. The 'TorchButtonBright' project is just a wrapper that calls TorchButton.exe with the /bright parameter. This is a workaround to be able to deploy two shortcuts with different icons and a parameter. If anyone decides to use this code, please rename the project. I've also written a C# library that allows easy access to the normal and bright flashlight modes. Attached as well.
---------------
TorchButton v2.x supports the Leo as well as Raphael and moved to a new thread! Click this link!
Works beautifully with stock HTC ROM provided with Raphael released in Europe. One small request: can you provide also an option to change the timeout? For starters - in registry. Some people would like it to work only for 10s, others: for 60s. Others might have the fun of burning it out [anyway you can limit it to max 2 minutes just to protect those less-aware.]
Tnx
Tnx for your effort. It works great.
Works like a charm! Thnx!
I second the request for a change in time out. I need to make it from the front door to my bed without waking my gf, and i don't make it in 30 seconds
works great! Nice job! This will become a standard application on all custom roms
)
Thank you NetRipper. This is a 5 Star utility!!!
HALLELUJAH !
thank you a million times !
make that trillion
Thanks for all the great responses and I'm glad it works for everyone. I'll add that feature to change the hardcoded 30 seconds timeout tomorrow or the day after.
the flashlight has a normal condition and a very bright condition. would it be possible to make a dimmer on the flashlight so that for example one can attach it to the volume buttons on the side ?
Thank you . I have it as part of favourite programs in TF3D . Works great.
da_jojo said:
the flashlight has a normal condition and a very bright condition. would it be possible to make a dimmer on the flashlight so that for example one can attach it to the volume buttons on the side ?
Click to expand...
Click to collapse
The flash indeed has two modes. However, the very bright mode is automatically disabled after 1 or 2 seconds by the camera driver. It's possible to make it sleep for that amount of time and re-set the bright mode, but I can't imagine it being very good for the LED to burn for a longer period of time at that mode. It would also flicker every 1 or 2 seconds.
I think the normal LED is bright enough, so unless the demand for the extra bright setting is overwhelming, I'll keep it like this.
mm that sucks.
its not a great idea to have a flashing flashlight unless one wants to drive anyone crazy or likes discolights ... maybe an idea lol... a stroboscope.. or some sort of signaling light..
it wouldnt hurt to have the LED on for a longer period. since the lifespan is over 50000 hours and it is running on lower power then intended .. only thing, is that it takes toll on the battery. i wouldnt care to much for the LED as it will last longer then the phone's display.
Looks good to me, but you could always play on words and rename it TorchPro. :-D
yesterday I wrote for myself something just like yours. but i prefered fullscreen button which would change color to black while LED switches on (useful in dark places - eyes are not blinded by bright screen).
it is possible to change timeout (setting written in registry) using track bar or up-down, left-right keys.
enter key switches LED on and off. just like big on screeen button.
have fun.
Great stuff, works really well.
steveoidm said:
Great stuff, works really well.
Click to expand...
Click to collapse
+1
Just what i was looking for,
Nadavi
Thank you guys. You,re perfect. I was very sad,when I found out,that VJCandela doesn't work.
new feature request.
Using the Gsensor let it keep the led on as long as the device senses motion, put it down and it turns the led of in 10 seconds.
Doable?
Thanks
Jules
Now thats an excellent suggestion.
Are we 100% sure that leaving the LED on for prolonged periods at the low level is not going to have any adverse effect on it.
Any chance of a version for the LG KS20 ?
Hi All.
I have wondered why the software that controls the backlight, with the light sensor, doesn’t adjust the backlight to the lowest setting, when the phone is in total darkness.
I use my phone in complete darkness almost every night, but I think the backlight is way to bright. I know I can adjust it manual, but why not automatic?
Do any of you bright heads, know a reg value to change or another solution, so I can "allow" the backlight to go to the lowest setting, automatically?
I find this anoying also. Any help would be great.
Anyone? I have looked in the registry but cant find anything... :-/
as far as i know there is no software\tweak that can change backlite to min
Same here. In my case, I'd like the backlight to be a bit brighter in brighter conditions, especially when in the car on a sunny day and I'm using iGo. Manually, I can set the backlight higher. I had a sony ericsson phone with a similar light sensor, but you could adjust its maximum threshold and the general brightness. Surely there's a software solution here somewhere!
I searched a little and quickly found some things:
1. The Diamond seems to have an in-built process to adjust brightness according to light sensor. Don't know if it works, though.
2. The registry keys are found at "HKEY_CURRENT_USER\BackLight\". You can modify brightness there, and it will affect the control panel BUT not change your current brightness. There is an Event you must trigger to update brightness. In many devices, this is the BacklightChangeEvent, in some others, this is SDKBacklightChangeEvent, and some others something different. Depends on the device and the manufacturer.
I wrote an app to change the registry value and trigger both SDKBacklightChangeEvent and BacklightChangeEvent. I can see on the control panel the value has changed, but the visible Brightness won't change. Seems HTC decided to make their own DLL to manage that, instead of standard windows mobile events.
So, I searched a bit further and I found that into "HKEY_LOCAL_MACHINE\Drivers\BuiltIn" there is a key called "Frontlight" which is apparently defining a value which points to Backlight.dll. This must be HTC's implementation of the Backlight manager. I was like "yay this will be my first windows mobile dll reverse engineering" BUT, I didn't find this file anywhere on the device, unfortunately.
If anyone could find it on the Diamond, please pass me the info !
Scotchy49 said:
I searched a little and quickly found some things:
1. The Diamond seems to have an in-built process to adjust brightness according to light sensor. Don't know if it works, though.
2. The registry keys are found at "HKEY_CURRENT_USER\BackLight\". You can modify brightness there, and it will affect the control panel BUT not change your current brightness. There is an Event you must trigger to update brightness. In many devices, this is the BacklightChangeEvent, in some others, this is SDKBacklightChangeEvent, and some others something different. Depends on the device and the manufacturer.
I wrote an app to change the registry value and trigger both SDKBacklightChangeEvent and BacklightChangeEvent. I can see on the control panel the value has changed, but the visible Brightness won't change. Seems HTC decided to make their own DLL to manage that, instead of standard windows mobile events.
So, I searched a bit further and I found that into "HKEY_LOCAL_MACHINE\Drivers\BuiltIn" there is a key called "Frontlight" which is apparently defining a value which points to Backlight.dll. This must be HTC's implementation of the Backlight manager. I was like "yay this will be my first windows mobile dll reverse engineering" BUT, I didn't find this file anywhere on the device, unfortunately.
If anyone could find it on the Diamond, please pass me the info !
Click to expand...
Click to collapse
Thank you. Its a lot of attention you have given this topic. For that I thank you. - Just too bad you cant find that dll. :-/ Hope some other helps.
backlight.dll found in Windows folder
axelpix said:
backlight.dll found in Windows folder
Click to expand...
Click to collapse
Thanks, for reference, there are the functions:
Code:
BKL_Close
BKL_Deinit
BKL_Init
BKL_IOControl
BKL_Open
BKL_PowerDown
BKL_PowerUp
BKL_Read
BKL_Seek
BKL_Write
inside the Backlight.dll
This has to be a lot easier.
I found some reg settings in HKCU\ControlPanel\BackLight, one of them called "AutoBklOffset". Actually this is exactly what we're searching for here: When I enter a value >0 here, the backlight instantly goes brighter, and the automatic backlight setting is still active and works.
so, what we have to do is figure out how to enter a negative value here.
Ideas?
Hmm, I don't think we can get anything only with the registry, but we don't lose anything to try, do we ?
I'll check again the registry.
Ok. Actually AutoBklOffset is linked to "Auto backlight adjust". This means that if auto backlight adjust isn't ativated, AutoBklOffset won't do anything.
Ok, all this search was fun. But I told myself: what if I just go ahead and try if the already built-in app works ?
And yea, it already works. Meaning if you put the device in front of the sun, it will go bright, and dim if you're in a dark place.
So I guess this is a configuration specific issue and don't need a new app. I'm out of tha place !
P.S.: It would have been actually quite stupid to include a Light sensor but not using it.
Scotchy49 said:
Ok, all this search was fun. But I told myself: what if I just go ahead and try if the already built-in app works ?
And yea, it already works. Meaning if you put the device in front of the sun, it will go bright, and dim if you're in a dark place.
So I guess this is a configuration specific issue and don't need a new app. I'm out of tha place !
P.S.: It would have been actually quite stupid to include a Light sensor but not using it.
Click to expand...
Click to collapse
my works fine
u can test it on bright light...u will see the change when u cover uper part oh the phone....it will dimm and u will se almost nothing...
microlomaniac said:
This has to be a lot easier.
I found some reg settings in HKCU\ControlPanel\BackLight, one of them called "AutoBklOffset". Actually this is exactly what we're searching for here: When I enter a value >0 here, the backlight instantly goes brighter, and the automatic backlight setting is still active and works.
so, what we have to do is figure out how to enter a negative value here.
Ideas?
Click to expand...
Click to collapse
This tweak still dosnt make the phone use the whole scale. From dimmest to brightest. :-/
Scotchy49 said:
Ok, all this search was fun. But I told myself: what if I just go ahead and try if the already built-in app works ?
And yea, it already works. Meaning if you put the device in front of the sun, it will go bright, and dim if you're in a dark place.
So I guess this is a configuration specific issue and don't need a new app. I'm out of tha place !
P.S.: It would have been actually quite stupid to include a Light sensor but not using it.
Click to expand...
Click to collapse
You misunderstand the issue.
With the backlight set to auto try using your phone in a completely dark room - the light sensor will detect this and the phone dims. Okay, now remove the auto setting and you will find that you can make the phone even dimmer than this using the slider. The lowest auto setting is equivalent to level 3 on the manual scale - what the guys here want to do is make this equal to level 1, or lower (or in the case of one poster make the maximum auto setting equal to the maximum manual setting, or perhaps even higher if possible).
The issue is therefore not whether or not the light sensor works (it does), or whether the phone can automatically dim/brighten the display in response to the ambient light level (it can), but whether it is possible to make the full scale range in automatic mode equal to that which the device offers in manual mode.
Mathew
Spot on!
Hi friends.
I have the problem using TomTom at car. When Diamond receive direct sun light it increases backlight until 70%, but not 100%; when I drive at night Diamond decreases backlight until 30%.
I would like adjust some values to 100% and 10% but I have no idea about registry or dlls.
aidrabmol said:
When Diamond receive direct sun light it increases backlight until 70%, but not 100%; when I drive at night Diamond decreases backlight until 30%.
I would like adjust some values to 100% and 10% but I have no idea about registry or dlls.
Click to expand...
Click to collapse
Nice summary
This exactly was the original topic of this thread.
Scotchy49 said:
Ok, all this search was fun. But I told myself: what if I just go ahead and try if the already built-in app works ?
And yea, it already works. Meaning if you put the device in front of the sun, it will go bright, and dim if you're in a dark place.
So I guess this is a configuration specific issue and don't need a new app. I'm out of tha place !
P.S.: It would have been actually quite stupid to include a Light sensor but not using it.
Click to expand...
Click to collapse
Did you come any further with the app?
I too would like to see a solution for the narrow range of light sensor adjustment. The screen stays too bright when ambient is dark.
In my Sprint CDMA Diamond, I see these registry entries:
HKEY_CURRENT_USER\ControlPanel\BackLight
LSensorReduceBKLDelay
LSensorAvegQuene
I wonder what they do. There must be some way to change the range of adjustment or the bias of the light sensor.
First off, I apologize to anyone who looks at this thread thinking that I am posting another screen brightness program. On the contrary I am LOOKING for a program that will allow us to control the brightness level of the phone in small increments.
Before the Fuze I had the HTC Touch which on the homescreen had the option of pressing the brightness shortcut and it would jump the brightness up a notch and then reset down to the lowest value once it got to the highest. Anyone that had this phone or a similar HTC phone that ran..... HTC Home knows what I am talking about.
While using the fuze I have always wondered why I couldn't find anything like this for newer phones. Searching for the longest times on a number of different forums left me with nothing. The automatic screen brightness control of the touch pro is less then desirable. There's times when my phones plugged in but I'm reading news in bed and I want to be able to have the brightness set to low without having to go through the settings and bugger around with it all.
That said, does anyone know of something that will do this? Or is it possible for one of the awesome program developers here to create something like this?
Here's a screen shot just for referance. By pressing the lightbulb it would change the screen brightness of the phone.
Here's the app you're looking for:
http://forum.xda-developers.com/showthread.php?t=485141
BTW, when you post an app request add "[REQ]" in topic...
you Might also want to try Lumos: http://forum.xda-developers.com/showthread.php?t=450318&highlight=lumos
this automatically adjusts your backlight depending on your light meter. It has a very quick and easy setup wizard and works wonders on your battery as well!
warri said:
you Might also want to try Lumos: http://forum.xda-developers.com/showthread.php?t=450318&highlight=lumos
this automatically adjusts your backlight depending on your light meter. It has a very quick and easy setup wizard and works wonders on your battery as well!
Click to expand...
Click to collapse
I have that installed.. does a good job but I'd still like the option of just being able to manually change it as well. Thanks!
the_ozyrys said:
Here's the app you're looking for:
http://forum.xda-developers.com/showthread.php?t=485141
BTW, when you post an app request add "[REQ]" in topic...
Click to expand...
Click to collapse
Thanks for the link and I've changed the subject title. I can't believe I didnt put that in there... That's a Newb mistake
edit Mylight. my lord I remember seeing this post AGES ago when all it was was a graphic "idea" and didnt actually do anything. Glad it got off the ground!
I'm looking for a tiny little app that will toggle the backlight setting from current setting (mine is auto) to the lowest setting (dim 1).
I am using a key mapping program to map out the hardware keys on the front, and one function I would like to have is to be able to EASILY switch the backlight to dim 1 and then back again to whatever setting I had it at before.
I like the auto adjust backlight feature built-in with WM6.5, except when it's pitch black (because the lowest it will go is 3 IIRC). Due to the light sensor detecting no light when some light is still present, auto dimming programs (such as Lumos) don't accomplish my ultimate goal. So I am looking for a way to be able to set it to 1 only when I want it (like at night when there is no other lights around).
BUMP it to the top.
Anyone?