If you're not interested in my long-winded explanation for how I figured out the solution just scroll down to the Solution section below.
Alright, I know this issue has been irking Apache users ever since MS blessed us with the otherwise excellent version 1.6 of voice command. I actually came upon the solution to the button 5 problem by accident back in the VC 1.5 days when you had to manually add a registry entry in order to get VC to work over BT. That registry entry (a string value called "Path" in HKLM\Software\OEM\VoiceCommand) is what allowed voice command 1.5 to take over the BT headset button from the built-in Cyberon app. You changed that path to point to the voicecmd.exe instead of sddialer.exe and it then changes the app that gets called when you press that button.
One day about six months ago I was setting up my 6700 after a hard reset and noticed that I could not assign button 5 (remember this was in the VC 1.5 days). It drove me crazy because I always re-assign that as my voice command button. Eventually I got some time and went through all of the reg tweaks I installed from my extrom one by one, with a hard reset in between and discovered that I had made an error in that Path value (had put in extra quotes). As soon as I corrected that entry, voila... button 5 worked normally again.
Flash forward to VC 1.6. When everyone was having problems with button 5 I remembered my previous experience and I thought I had messed with it to try to solve it. I guess I didn't try hard enough because I was looking at it again today and saw the very obvious problem staring me right in the face--that "Path" string value gets deleted by the VC 1.6 installation. It is not examined by the OS until you soft reset though so you'll notice that after you install 1.6 button 5 works fine until you soft reset.
So, create a string value called "Path" and leave the path blank or put in the path to a valid exe file on your device. Then soft reset. As long as the path you put in there goes to a valid file then you'll notice you've regained full control of your button 5. If you choose to put in a path to an exe file you will find that it launches when you press the button on your BT headset. For example, if you put in the link to sddialer.exe (the Cyberon app) then both it and voice command will get launched when you press the BT headset button. I can't think of any reason you would want to do this, but if you have a reason then that is how you do it.
The previous solution (making the path to \Windows\rundll32.exe) is no longer necessary since a blank path works just the same. Although calling rundll.exe should not cause any harm, it is cleaner to use a blank path. Thanks to dprout69 for that revelation.
SOLUTION:
Use a registry editor to navigate to HKEY_LOCAL_MACHINE\Software\OEM\VoiceCommand and create a new string value called "Path" (no quotes). For the data, leave it blank (or insert a valid path to an .exe file on your system if you want that .exe to run when you press the BT headset button). Then close your registry app, power off your device and then soft reset with the stylus (or whatever method you use to soft reset). The soft reset is crucial. After it comes back up, try to assign your button 5 to something (I suggest voice command!) and see if it works. You should also be able to assign button 5 (press and hold) to something else and it will work too. You will know if you made an error in the path if button 5 still brings up notes despite being set to another program in button settings.
For those who want to save some time or aren't comfortable editing the registry, I have attached a zip file containing a cab file (updated 2/18/07) you can copy over to your device. The only thing it does is make that single registry entry (using a blank path), and it is removable if you care to remove it someday.
This fix can't be implemented prior to installing VC 1.6 (i.e. in any of the custom ROMs), because the VC installation is what deletes that value. So you will have to make this change every time you install VC 1.6.
I am posting this to ppcgeeks and pdaphonehome. Feel free to post it elsewhere if you want.
Last edited by luv2chill : 02-18-2007 at 01:57 PM.
BTW, chill, did you PM Xyzzy about this? Bet he'd love to know and maybe his team can incorporate something in a subsequent update.
Works great, BTW. Just remember to soft-reset to re-read the registry. This was the final "nag" on my colonel's beta2 setup. My 6700 is probably as close to perfect as it has ever been at this very moment.
The entry can be incorporated in the ROM, and in the case of colonel's (and other ROMs that have removed Cyberon) then that will allow button 5 to function "out of the box".
But, as soon as VC 1.6 is installed that entry will get deleted. So, it will need to be re-created.
Those skilled with cab editing may be able to edit the voice command cab to not delete that entry (I haven't tried that yet), but since VC is commercial software it's not like that modified cab can be distributed. Everyone would have to edit their own.
And I absolutely understand why MSVC deletes that key. If not then pressing the BT button would activate BOTH Cyberon and VC... not a good situation. And I believe only Apache has the problem where button 5 is so intimately connected with the BT button entry. So I'm not sure there's much they could do in the cab to fix it (changing the path to rundll32.exe is admittedly a hack--I really doubt MS would officially implement that).
I'll PM Xyzzy just the same so he's aware of the fix.
Great fix, but it seems like magic button stops working.
I haven't tried it in conjunction with MB, but offhand I can't think of why they should conflict. Can you describe in as much detail as possible what happens?
And anyone else running MB plus this hack, please chime in.
When I had the fix installed in my registry the Magic Button x gave me no response at all. I could not select other programs either. Reinstalling MB did not fix it. I removed the hack and MB is back. So is my notes only button 5 and voice command on button 4. This new rom is the gooooood however.
Great fix, but it seems like magic button stops working.
Magic Button still works for me (with button fix). I'm now on 3.3 ROM. I did install MB after the button fix - maybe that has something to do with it. Anyway, it can work together. Have you un-installed and re-installed MB?