5,814,863 Members 48,557 Now Online
XDA Developers Android and Mobile Development Forum

Cingular ROM users: PTT function hacked!

Tip us?
 
Sleuth255
Old
(Last edited by Sleuth255; 20th September 2007 at 05:35 PM.) Reason: Version 1.07 Released!
#1  
Sleuth255's Avatar
Retired Senior Moderator - OP
Thanks Meter 39
Posts: 3,543
Join Date: Mar 2006
Location: Milwaukee
Talking Cingular ROM users: PTT function hacked!

This little app replaces the Cingular PTT service and adds customizable launch capabilities back to that useless PTT button on your Cingular ROM equipped Hermes. This patch initially maps the PTT button to the built in Voice Dialer, but you can re-map the push as well as the hold functions to the application of your choice.

Version History

v1.07 09/20/07
Now compatible with the latest AT&T WM6 ROM!
v1.06 06/05/07
Now compatible with the latest AT&T AKU3.5 ROM!
Smartdialer issue fixed
Phone Settings lockup issue fixed
v1.05 02/26/07
Smartdialer functionality restored on AKU3.x ROMs.
v1.04 02/21/07
PTTFix now disables the built in PTTServiceWrapper on Cingular AKU3.x ROMs. Backward compatability with AKU2.x ROMs has been maintained. Warning: this version also disables smart dialing on aku3.x ROMs. Will be fixed in v1.05
v1.03 02/16/07
Bugfix: PTTFix now de-registers PTTServiceWndClass before attempting registration. This corrects a timing issue on the new AKU3.3 ROM where the Cingular built-in PTT subsystem was registering this at boot time.
v1.02 11/14/06
Most of the built-in features have been implemented. PTTFix now handles everything except <Left Softkey>, <Right Softkey> and <Context Menu>
v1.01 11/10/06
<Start Menu> feature implemented. Choosing this option for any button 5 setting in the button editor will now launch the start menu.
v1.0 11/03/06
ButtonPressLaunchValue and ButtonHoldLaunchValue registry settings have been de-implemented because....
Full integration with the existing button editor in personal settings->buttons (button 5 settings are back!) has been implemented. No need to use a registry editor to change settings any more
Enhancement 10/24/06
For all you brand new 8525 owners: the whole shebang is now a simple CAB based installation!
I also streamlined PTTStart.exe to run much faster. Before, you would see a blank window displayed momentarily while your device was starting. Now you cannot even tell when it runs.
Enhancement 10/23/06
I've attached a new zip file called PTTStart for early implementors who can't get the service to start automatically. Copy this file to your windows\startup directory and it will automatically start the PTTFix service whenever you soft reset!
bugfix 10/17/06
The ButtonHoldLaunchValue value would revert to "windows\\sddialer.exe" after a reset if the length of the ButtonPressLaunchValue string was shorter than the length of the ButtonHoldLaunchValue string..... Who'd have guessed it
v0.2
Added an additional Registry setting:
Pressing and holding the PTT button now launches the applicaton stored in HKLM\Services\PTT\ButtonHoldLaunchValue
If this value doesn't exist, it is created with an initial value of "windows\sddialer.exe" when the service is launched.
v0.1
Pressing the PTT button now launches the application stored in HKLM\Services\PTT\ButtonPressLaunchValue
If this value doesn't exist, it is created with an initial value of "windows\sddialer.exe" when the service is launched.

Thanks to all the early implementors here who helped me to work through the security issues and de-implement the "undocumented features"!

Installation Instructions

1. copy the attached PTTFix.cab to your Hermes device.
2. Using File manager, tap on the cab file to install PTTFix.
note: when asked, you must install this to your Device. The service dll will not load if installed to your storage card!
3. Reset your Hermes device
4. Use personal settings->Buttons to customize Button 5 settings if necessary.

Upgrade Instructions

1. Remove "Sleuth255's PTTFix" using Settings->System->Remove Programs (It may ask you to reset your device)
2. Install PTTFix by following the Installation Instructions above.

Microsoft Voice Command

In Button Manager, simply customize the preferred Button 5 setting (I like to set press&hold to this) by choosing "Voice Command" from the dropdown. Voice Command sets itself onto the Messaging button by default. If you don't change this first, the button manager will remind you that only one button can be set for a given function....

Enjoy!
Attached Files
File Type: cab PTTFix.CAB - [Click for QR Code] (44.9 KB, 14907 views)



ROM: rooted/deodexed 4.1.1 (JRO03O)
Kernel: Franco Dailies: r295
Baseband: FF02/FG02
Follow my Ramblings: blog.kwilcox.org
 
fun_key
Old
#2  
fun_key's Avatar
Senior Member
Thanks Meter 0
Posts: 442
Join Date: Sep 2006
Wow, very nice work!

I ll setup your fix right now; this is just marvelous
 
lpsi2000
Old
#3  
lpsi2000's Avatar
Senior Member
Thanks Meter 143
Posts: 2,435
Join Date: Jan 2004
Location: TriState
As always, nicely done Sleuth255
AT&T Samsung Galaxy Note III(N900A)
Previous devices:
Samsung Galaxy S II, III, & Note II(i317)
Retired devices: AT&T Samsung Galaxy Note / Moto Atrix and SGS Captivate / HTC Leo(HD2) / AT&T Tilt 2/ HTC Fuze / HTC Advantage / I-Mate JasJam / JasJar / Pocket PC / XDA
Network: AT&T
OC/UV
825/850/875/900/925/950/975/1000/1025/1050/1075/1100/1125/1150/1200/1250/1275 -1800Mhz
 
Sleuth255
Old
(Last edited by Sleuth255; 11th October 2006 at 10:15 PM.)
#4  
Sleuth255's Avatar
Retired Senior Moderator - OP
Thanks Meter 39
Posts: 3,543
Join Date: Mar 2006
Location: Milwaukee
ok, so I've completed the message map decode.

For developers, the PTT button event comes in with a message value of 0x312. When this message occurs, lParam is 0x1000 for the release event and something else for the press event. Essentially, my code in the message handler to trap a PTT press event is this:

Code:
LRESULT __stdcall KeyboardProc(HWND hWnd,UINT nCode,WPARAM wParam,LPARAM lParam)
{

	switch (nCode) 
    {
        case WM_COMMAND:
            break;
        case WM_CREATE:
            break;
        case WM_PAINT:
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        case WM_ACTIVATE:
            break;
        case WM_SETTINGCHANGE:
            break;
	case 0x312:
	     if (lParam != 0x1000)
                  CreateProcess(_T("\\windows\\sddialer.exe"),NULL,NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo);
	     break;
        default:
            return DefWindowProc(hWnd, nCode, wParam, lParam);
    }
    return DefWindowProc(hWnd, nCode, wParam, lParam);
}
Later on, when any bugs are ironed out (doubtful 'cause it compiled cleanly heheheh) and I have a few minutes, I'll pull the process-to-execute out of the registry and give everyone a little foreground app that lets you map whatever you want.



ROM: rooted/deodexed 4.1.1 (JRO03O)
Kernel: Franco Dailies: r295
Baseband: FF02/FG02
Follow my Ramblings: blog.kwilcox.org
 
lpsi2000
Old
#5  
lpsi2000's Avatar
Senior Member
Thanks Meter 143
Posts: 2,435
Join Date: Jan 2004
Location: TriState
Excellent, we will be waiting for the little program.
AT&T Samsung Galaxy Note III(N900A)
Previous devices:
Samsung Galaxy S II, III, & Note II(i317)
Retired devices: AT&T Samsung Galaxy Note / Moto Atrix and SGS Captivate / HTC Leo(HD2) / AT&T Tilt 2/ HTC Fuze / HTC Advantage / I-Mate JasJam / JasJar / Pocket PC / XDA
Network: AT&T
OC/UV
825/850/875/900/925/950/975/1000/1025/1050/1075/1100/1125/1150/1200/1250/1275 -1800Mhz
 
markw996
Old
#6  
Member
Thanks Meter 0
Posts: 32
Join Date: Oct 2006
Sleuth255, Thankyou so much, it works perfectly!

You've just fixed my biggest headache with the 1.34 ROM upgrade
 
ID64
Old
#7  
ID64's Avatar
Senior Member
Thanks Meter 2
Posts: 611
Join Date: Oct 2003
Thanks a lot!

Is it possible to make another dll, but with MS VoiceDialer please?
 
Sleuth255
Old
#8  
Sleuth255's Avatar
Retired Senior Moderator - OP
Thanks Meter 39
Posts: 3,543
Join Date: Mar 2006
Location: Milwaukee
sure. what's the full path executable name for MS Voicedialer?

I've gotta get this app I guess.... everybody raves about it.



ROM: rooted/deodexed 4.1.1 (JRO03O)
Kernel: Franco Dailies: r295
Baseband: FF02/FG02
Follow my Ramblings: blog.kwilcox.org
 
Sleuth255
Old
#9  
Sleuth255's Avatar
Retired Senior Moderator - OP
Thanks Meter 39
Posts: 3,543
Join Date: Mar 2006
Location: Milwaukee
Quote:
Originally Posted by markw996 View Post
Sleuth255, Thankyou so much, it works perfectly!

You've just fixed my biggest headache with the 1.34 ROM upgrade
Good to hear this... Now there's two. You're helping to prove out my theory that the fix will work on all 3 Cingular ROMS. What device do you have btw?



ROM: rooted/deodexed 4.1.1 (JRO03O)
Kernel: Franco Dailies: r295
Baseband: FF02/FG02
Follow my Ramblings: blog.kwilcox.org
 
ID64
Old
#10  
ID64's Avatar
Senior Member
Thanks Meter 2
Posts: 611
Join Date: Oct 2003
Quote:
Originally Posted by Sleuth255 View Post
sure. what's the full path executable name for MS Voicedialer?

I've gotta get this app I guess.... everybody raves about it.
Program Files\Voice Command\voicecmd.exe

Thanks!

Drop me a PM

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Change the Style of Your Notifications with HeadsUp

Head Up notifications is one of these upcoming features that Android developers hid deep … more

Google Play Store to Show Price Ranges for In-App Purchases

Google recently announced a change to Google Play Store policy that requires … more

XDA Xposed Tuesday: How to Shut Up Your Phone – XDA Developer TV

So many different applications want to send us notifications that … more

Add Some Power to First Generation Snapdragon CPUs

Some older devices still remain very popular. Phones like theHTC Desire, Sony Ericsson … more