Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,809,424 Members 36,078 Now Online
XDA Developers Android and Mobile Development Forum

[APP][SVC][Mar 21, 2010] ZoomBarPlus V2 BETA / Make your Zoom Bar more useful!

Tip us?
 
thx1200
Old
(Last edited by thx1200; 23rd March 2010 at 02:33 PM.)
#1  
thx1200's Avatar
Recognized Developer - OP
Thanks Meter 52
Posts: 872
Join Date: Apr 2006
Location: Raleigh, North Carolina
Smile [APP][SVC][Mar 21, 2010] ZoomBarPlus V2 BETA / Make your Zoom Bar more useful!

Overview
The Zoom Bar is the little strip at the bottom of your Touch Pro 2's screen that is used in a handful of applications on your device. Wouldn't it be nice if you could use it in every application? Customized to fit your needs? That's where ZoomBarPlus comes in! You can map keystrokes for tapping, double tapping, long tapping, and swiping left/right. Default zoom functionality is also retained for all applications that are already Zoom Bar aware.

This app was developed because I wanted to have a virtual D-Pad of sorts. The default actions are swipe-right sends the down arrow, swipe-left the up arrow, double tap the action (center) button, long tap is backspace (which is "back" in Total Commander CE, which I use a lot). You can set it up any way you want!

ZoomBarPlus is a TRUE Windows Mobile service, so it does NOT use one of the precious few 32 slots available for processes. You can find more information about services here.

PLEASE NOTE THAT THIS APP IS DESIGNED TO WORK ONLY ON THE TOUCH PRO 2 (AKA RHODIUM / TILT 2) AND DIAMOND 2 (AKA TOPAZ / PURE) AND RELATED DEVICES. It has also been successfully tested on the HTC Imagio (aka Whitestone) and HTC Mega (aka Touch 2). If I'm missing any zoombar phones here that it works on or needs to be tested on, please let me know.

CodePlex
ZoomBarPlus development is hosted at Microsoft CodePlex! http://www.codeplex.com/ZoomBarPlus

License
Ms-RL

Tip Jar
Like this app? Want more like it or quicker updates? Tip a buck (or Euro or Pound or whatever) or two to help the author out! Click here to make a safe donation via PayPal.

Current features
- This is a BETA release, so it should be treated as possibly being unstable!
- Assign keycodes to tap, double tap, long tap, swipe left, and swipe right gestures on the zoom bar.
- Swipe gestures can repeat keystrokes when held, which is good for simulating holding down a D-Pad button, for example.
- Use a registry editor to change configuration settings (a config app will come soon).
- Disables itself if the user is using an application that handles the ZoomBar natively.
- Option to disable itself if the user is on a MessageBox (dialog), so as to not accidentally confirm an "are you sure" notification.
- VERY low resources used -- runs as a TRUE service and uses as close as 0% CPU as is possible by an app like this.

Future features
- Configuration app (.Net CF 3.5 required).
- New gestures: tap and swipe (with hold). Default will be D-Pad Left and D-Pad Right.
- AppToDate support
- New registry location for settings (for safety): HKCU\Software\Avian Waves\ZoomBarPlus
- Per-Window Class settings: ignore (default ZoomBar), or custom gesture settings
- Screen orientation aware (optional landscape flip swipe gestures)

Latest ChangeLog
- Fixed bug: if the active window changed while you were in the middle of a single tap delay, long tap delay, or swipe-repeat, it would continue repeating, even if the new foreground window class was one of the classes that handles the ZoomBar natively, leading to unexpected results.
- You can now specify whether you want ZBP to deactivate when the MessageBox class is in the foreground. This is useful for disabling ZBP when a confirmation message appears. In particular, with Total Commander CE, it was very easy to try to "tap" to activate a file and accidentally click the DELETE button simultaneously, leading to a Delete->Confirm Yes situation. Needless to say, it led to bad results when a lot of stuff you didn't want to delete was, in fact, deleted. :( Now, it can't happen because ZBP will (by default) deactivate when the confirmation box appears.

Video
See it in action! Thanks to PocketNow for the great review!
http://pocketnow.com/tweaks-hacks/zo...bar-as-a-d-pad

Registry
All apps listsed in HKLM\Software\HTC\SmartTouch are ignored so that ZBP doesn't interfere with built-in zoom functionality of those apps.

Settings for ZBP are in HKLM\Services\ZoomBarPlus. Setting any keycode to zero disables the feature.

The service needs to be restarted (use DotFred's task manager) or the device soft reset for changes to take effect. This will get easier after this app is out of beta. :)

Tap = Keycode sent to focused window when the zoom bar is tapped once.
DoubleTap = Keycode sent to focused window when the zoom bar is tapped twice in succession.
LongTap = Keycode sent to focused window when the zoom bar is pressed and held.
SwipeRight = Keycode sent to focused windows when the zoom bar is swiped to the right (repeated for each 'segment' you pass).
SwipeLeft = Keycode sent to focused windows when the zoom bar is swiped to the left (repeated for each 'segment' you pass).
DoubleTapInterval = Time in ms that ZBP will wait for the second tap in a double tap.
LongTapInterval = Time in ms that ZBP will wait before executing the long tap action.
SwipeDoRepeat = Should the swipe gesture automatically repeat if you hold your finger down?
SwipeRepeatAfter = Number of ticks of a swipe before doing the swipe repeat.
SwipeRepeatIntervalFirst = First delay (in ms) before doing a swipe repeat.
SwipeRepeatIntervalRate = Interval (in ms) between each swipe repeat action.
VibrateInterval = Length of time to vibrate for haptic feedback.
VibrateSwipe = Provide vibration (haptic feedback) on a swipe action?
VibrateTap = Provide vibration (haptic feedback) on a tap action?
DisableOnMessageBox = Do not process ZBP command when the current in-focus window is a Message Box (dialog)?

The default settings are:
Tap = Do nothing! (0x00)
DoubleTap = Center "action" button - VK_TACTION (0x0D)
LongTap = Backspace - VK_BACK (0x08)
SwipeRight = Down Arrow - VK_TDOWN (0x28)
SwipeLeft = Up Arrow - VK_TUP (0x26)
DoubleTapInterval = 350
LongTapInterval = 650
SwipeDoRepeat = 1 (Yes)
SwipeRepeatAfter = 5
SwipeRepeatIntervalFirst = 350
SwipeRepeatIntervalRate = 100
VibrateInterval = 25
VibrateSwipe = 0 (No)
VibrateTap = 1 (Yes)
DisableOnMessageBox = 1 (Yes)

Notes
I would recommend NOT setting a keycode for single tap. The reason being that the zoombar seems to have its sensitivity bleed into the bottom part of the screen. So what tends to happen is you will tap a button that's on the bottom of the screen (such as a menu) and the zoombar single-tap action will activate as well. I cannot adjust the zoombar sensitivity, so I cannot work around the sensitivity in code. I found that double-tapping on the zoombar becomes intuitive if you are trying to achieve a D-Pad of sorts, which is why I developed this app. :)

Download
CAB Installer: http://zoombarplus.codeplex.com/releases
Source Code: http://zoombarplus.codeplex.com/Sour...ist/changesets
Avian Waves aka thx1200
http://www.avianwaves.com

Samsung Galaxy S4 / Sprint

Android Apps: Coming soon!
Legacy Windows Mobile Apps (no longer supported): Avian Play / Mute4 / ReRemind / BattLineSvc / ZoomBarPlus / PlaySound / TouchFlo Detacher / Mobile Shell 3 Toggler / iContact AE
 
thx1200
Old
(Last edited by thx1200; 14th March 2010 at 07:56 AM.)
#2  
thx1200's Avatar
Recognized Developer - OP
Thanks Meter 52
Posts: 872
Join Date: Apr 2006
Location: Raleigh, North Carolina
Default FAQ

Q: ZoomBarPlus isn't working in <some application>. Is this a bug? How do I fix this?

A:
ZoomBarPlus is designed to not be active whenever HTC's SmartTouch service sends zoom bar messages to applications that are "zoom bar aware." You may not realize how many applications are actually zoom bar aware. Som ROM cooks like to put in lots of extras (the default behavior is a simple scroll-down / scroll-up behavior, but no action button or anything more advanced). Even without a custom ROM, applications like RSS Hub and the Inbox are zoom bar aware. This can be annoying when the default zoom bar behavior isn't what you want. For example, in the Outlook Inbox, you might want ZoomBarPlus to scroll up and down through the list. It won't because the HTC default behavior is to resize text in the message view and do nothing at all in the list view!

To fix this, go into the Smart Touch registry key HKLM\Software\HTC\SmartTouch and either delete the relevant key of the application you no longer want the default zoom behavior for --OR-- change the value of ClassName in the key to something that will never exist as a window class (maybe add a dozen x's to the end of it). Soft reset after this. The config application (coming soon!) will allow you to enable or disable classes in SmartTouch more easily.
Avian Waves aka thx1200
http://www.avianwaves.com

Samsung Galaxy S4 / Sprint

Android Apps: Coming soon!
Legacy Windows Mobile Apps (no longer supported): Avian Play / Mute4 / ReRemind / BattLineSvc / ZoomBarPlus / PlaySound / TouchFlo Detacher / Mobile Shell 3 Toggler / iContact AE
 
cccooo2007
Old
#3  
Junior Member
Thanks Meter 0
Posts: 5
Join Date: Apr 2007
Nice App.
But How can I send only one "down arrow" when I swipe right?It always scroll too much.
 
worwig
Old
#4  
Senior Member
Thanks Meter 15
Posts: 330
Join Date: Jan 2008
This could be very useful. Thanks.
 
jerrymc2
Old
#5  
Member
Thanks Meter 0
Posts: 33
Join Date: Apr 2009
what if i wanna set "swap left" to arrow left and "swap right" to arrow right?
 
thx1200
Old
#6  
thx1200's Avatar
Recognized Developer - OP
Thanks Meter 52
Posts: 872
Join Date: Apr 2006
Location: Raleigh, North Carolina
Quote:
Originally Posted by cccooo2007 View Post
Nice App.
But How can I send only one "down arrow" when I swipe right?It always scroll too much.
Interesting idea. I was sending a keystroke on every time the zoombar "ticked" (moved far enough to generate an event). I can have it just send one per down and release. Next release.
Avian Waves aka thx1200
http://www.avianwaves.com

Samsung Galaxy S4 / Sprint

Android Apps: Coming soon!
Legacy Windows Mobile Apps (no longer supported): Avian Play / Mute4 / ReRemind / BattLineSvc / ZoomBarPlus / PlaySound / TouchFlo Detacher / Mobile Shell 3 Toggler / iContact AE
 
sirphunkee
Old
#7  
sirphunkee's Avatar
Retired Senior Moderator
Thanks Meter 96
Posts: 2,930
Join Date: Dec 2009
Location: Austin, TX

 
DONATE TO ME
Quote:
Originally Posted by jerrymc2 View Post
what if i wanna set "swap left" to arrow left and "swap right" to arrow right?
I believe you can just switch the two keycodes for those from his list above. I'm about to test in just a minute to verify.

TESTER OF DA FUNK_____________________________________________


(T-Mobile US HD2)
ROM: 2.10.531.1 (82076) WWE/5.2.21889 (Stock 6.5)
Sense: 2.5.2012
Radio: 2.08.50.08_2


(T-Mobile US TouchPro2)
ROM: 1.91.531.4 (74508) WWE/5.2.21881 (Stock 6.5)
Sense: 2.1.1921
Radio: 4.49.25.57

"And asking which [ROM] is the best is a lot like asking 10 guys in a bar what the best beer in the world is."

Girlfriend not getting your SMS messages? SOLVED! (Must try EVERY step!)

PLEASE VOTE FOR YOUR FAVORITE HTC DEVICE OF 2010

*PhunkPhund*
 
thx1200
Old
#8  
thx1200's Avatar
Recognized Developer - OP
Thanks Meter 52
Posts: 872
Join Date: Apr 2006
Location: Raleigh, North Carolina
Quote:
Originally Posted by jerrymc2 View Post
what if i wanna set "swap left" to arrow left and "swap right" to arrow right?
Edit the registry as stated in the first post. I'm going to create a config program soon. This is beta.

Here is a list of a bunch of keycodes that you all might find useful: http://msdn.microsoft.com/en-us/library/bb431750.aspx

You are looking for VK_TLEFT and VK_TRIGHT
Avian Waves aka thx1200
http://www.avianwaves.com

Samsung Galaxy S4 / Sprint

Android Apps: Coming soon!
Legacy Windows Mobile Apps (no longer supported): Avian Play / Mute4 / ReRemind / BattLineSvc / ZoomBarPlus / PlaySound / TouchFlo Detacher / Mobile Shell 3 Toggler / iContact AE
 
buru898
Old
#9  
buru898's Avatar
Senior Member
Thanks Meter 554
Posts: 1,736
Join Date: Mar 2008
Location: Cranston, RI

 
DONATE TO ME
This thing is amazing!! Wow you're awesome thanks so much for this!
 
sirphunkee
Old
#10  
sirphunkee's Avatar
Retired Senior Moderator
Thanks Meter 96
Posts: 2,930
Join Date: Dec 2009
Location: Austin, TX

 
DONATE TO ME
Quote:
Originally Posted by jerrymc2 View Post
what if i wanna set "swap left" to arrow left and "swap right" to arrow right?
Quote:
Originally Posted by thx1200 View Post
Edit the registry as stated in the first post. I'm going to create a config program soon. This is beta.

Here is a list of a bunch of keycodes that you all might find useful: http://msdn.microsoft.com/en-us/library/bb431750.aspx

You are looking for VK_TLEFT and VK_TRIGHT
Yeah, that worked for me great. I just switched the values (38 and 40, respectively) for the two entries thx1200 mentioned, and then soft-reset.

The app seems to work pretty darn good overall...it's more like using the zoom bar as a scroll wheel, in terms of response/speed, than a D-pad, but it's still a very workable solution. The only place I haven't been able to get it to cooperate is in the outlook inbox screen (WM, not TF3D), but it's worked everywhere else I've tried it so far, including inside of apps like PHM_regedit.

Thanks thx1200!!

TESTER OF DA FUNK_____________________________________________


(T-Mobile US HD2)
ROM: 2.10.531.1 (82076) WWE/5.2.21889 (Stock 6.5)
Sense: 2.5.2012
Radio: 2.08.50.08_2


(T-Mobile US TouchPro2)
ROM: 1.91.531.4 (74508) WWE/5.2.21881 (Stock 6.5)
Sense: 2.1.1921
Radio: 4.49.25.57

"And asking which [ROM] is the best is a lot like asking 10 guys in a bar what the best beer in the world is."

Girlfriend not getting your SMS messages? SOLVED! (Must try EVERY step!)

PLEASE VOTE FOR YOUR FAVORITE HTC DEVICE OF 2010

*PhunkPhund*

Tags
touch pro 2, zoom bar, zoom strip, zoombar, zoomstrip
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Flyme OS Finds Its Way to the Google Nexus 5

Flyme OS is a heavily modified Android variantdeveloped by the Meizu team for their MX … more

MultiROM Makes Its Way to the LG G2

Over the last few weeks, we’ve seen quite a fewflagship (and former flagship) devicesget to … more

Jair Player with a Major Update–Here’s What’s New!

Back in May, we talked a bit aboutJair Player, a nice looking music … more