Unofficial Android 4.4 Lands on Three Mediatek Devices

For the last few years, devices with MTK systems-on-chip haven’t received much … more

MultiImagePicker Library for Multiple Image Selection

App developmentcan be done in more than a handful of ways. You can write every single … more

Shoot Troubles, Not Users w/ Alex Boag-Munroe – XDA:DevCon 2014

In presenting the various sessions from XDA:DevCon 2014, weve mainly … more

Oppo Releases ColorOS for the Find 5… Poorly

Almost every OEM has taken the liberty of creating its own incarnation of the Android OS. … more

Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

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

OP thx1200

12th March 2010, 05:47 AM   |  #1  
thx1200's Avatar
OP Recognized Developer
Flag Raleigh, North Carolina
Thanks Meter: 54
 
873 posts
Join Date:Joined: Apr 2006
More
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
Last edited by thx1200; 23rd March 2010 at 03:33 PM.
12th March 2010, 05:54 AM   |  #2  
thx1200's Avatar
OP Recognized Developer
Flag Raleigh, North Carolina
Thanks Meter: 54
 
873 posts
Join Date:Joined: Apr 2006
More
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.
Last edited by thx1200; 14th March 2010 at 08:56 AM.
12th March 2010, 04:27 PM   |  #3  
Junior Member
Thanks Meter: 0
 
5 posts
Join Date:Joined: Apr 2007
Nice App.
But How can I send only one "down arrow" when I swipe right?It always scroll too much.
12th March 2010, 05:10 PM   |  #4  
Senior Member
Thanks Meter: 18
 
334 posts
Join Date:Joined: Jan 2008
This could be very useful. Thanks.
12th March 2010, 05:27 PM   |  #5  
Member
Thanks Meter: 0
 
33 posts
Join Date:Joined: Apr 2009
what if i wanna set "swap left" to arrow left and "swap right" to arrow right?
12th March 2010, 05:49 PM   |  #6  
thx1200's Avatar
OP Recognized Developer
Flag Raleigh, North Carolina
Thanks Meter: 54
 
873 posts
Join Date:Joined: Apr 2006
More
Quote:
Originally Posted by cccooo2007

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.
12th March 2010, 05:50 PM   |  #7  
sirphunkee's Avatar
Retired Senior Moderator
Flag Austin, TX
Thanks Meter: 96
 
10
2,930 posts
Join Date:Joined: Dec 2009
Donate to Me
More
Quote:
Originally Posted by jerrymc2

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.
12th March 2010, 05:51 PM   |  #8  
thx1200's Avatar
OP Recognized Developer
Flag Raleigh, North Carolina
Thanks Meter: 54
 
873 posts
Join Date:Joined: Apr 2006
More
Quote:
Originally Posted by jerrymc2

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
12th March 2010, 06:54 PM   |  #9  
buru898's Avatar
Senior Member
Flag Cranston, RI
Thanks Meter: 571
 
1,757 posts
Join Date:Joined: Mar 2008
Donate to Me
More
This thing is amazing!! Wow you're awesome thanks so much for this!
12th March 2010, 07:30 PM   |  #10  
sirphunkee's Avatar
Retired Senior Moderator
Flag Austin, TX
Thanks Meter: 96
 
10
2,930 posts
Join Date:Joined: Dec 2009
Donate to Me
More
Quote:
Originally Posted by jerrymc2

what if i wanna set "swap left" to arrow left and "swap right" to arrow right?

Quote:
Originally Posted by thx1200

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!!

Post Reply Subscribe to Thread

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

Advanced Search
Display Modes