Quick tip: selecting more than one mails for deletion / marking (un)read - General Topics

I, being the author of the Windows Mobile Mailer Bible, probably the best source of everything mailing-related, always receive several mailing-related questions. One of the most often asked one concerns mass selection operations to be able to quickly delete or mark (un)read several (or all) messages. The main reason for this is, for example, resetting the “new / unread mail” counter on your main home (on Pocket PC’s, “Today”) screen by quickly deleting or making read mail you know you won’t ever need – without the need to open and/or delete them one by one.
First, let’s take a look at how this is to be done in the two major flavors of Windows Mobile:
1.1 Pocket PC (WM6 Professional / Classic; devices with touch screens)
It’s very easy to mass-select your mails in Pocket PC’s. All you need to do is either:
mass-select the mails you want to mark / delete with the stylus and/or
if you have a built-in thumbboard, press Shift and the up/down arrow keys (its effect is the same as that of the stylus when mass selecting messages) and/or
if you want to mass-select all messages (not just some of them), bring up the on-screen keyboard and press Ctl and, then, A
After this, all mass operations will work as supposed to.
1.2 MS Smartphone (WM6 Standard; devices without touch screens)
Unfortunately, the touchscreen-less MS Smartphone platform works in a pretty much different way. First, let’s start with the built-in messaging:
1.2.1 Messaging
As with the “big brother”, the Pocket PC, there aren’t any menu-based mass selection capabilities built-in in the MS Smartphone version of Messaging either. This can be seen in the following menu shot:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
As there’s no touch screen and/or on-screen keyboards either, you couldn’t use Ctrl-A without third party tools (more on them later).
1.2.1.1 A quick tip for easier one-by-one deletion
If you want to quickly delete messages (with a single press of the left softkey – warning, the left softkey is only assigned the “Delete” functionality in WM6 and above, NOT in WM5!), do the following: go to Tools / Options / Other / uncheck Warn when deleting messages in the message list:
This makes it far easier to delete mails. This, however, doesn’t help in making a mail read. The latter will always require two button presses per mail (as opposed to – again, only under WM6+ - one, when you delete mail) (Menu / Mark as read).
1.2.2 FlexMail
With the alternative, excellent mailer client, FlexMail, the situation is better as of the current version (FlexMail 4 beta; 03/11/2008).
1.2.2.1 (Un)read flag toggling
In the top-level Folder view, if you just press Action on the folder, you can quickly toggle the read flag of all mail inside:
You can also do the same in the folder itself (Menu / Mark):
In Messaging, you can’t do the same.
1.2.2.2 Mass selection for deletion
It’s, unfortunately, not possible to make a mass-selection with the built-in thumbboard / dialpad; neither with menus. At least Shift + arrow keys / D-pad didn’t work on the HTC Vox’s thumbboard (unlike on Pocket PC’s – the HTC Universal – or external keyboards). Other MS Smartphones (again, with a built-in keyboard) may be better in this respect.
With an external keyboard (probably also with the widely used ThinkOutside / iGo StowAway – I haven’t checked this, only with SOTI’s excellent Pocket Controller, where it does work), this MAY become possible:

Messages selected this way can, then, be quickly deleted / flagged (un)read using the menu.
1.2.2.3 A quick note
FlexMail is indeed way more powerful on the Smartphone than the built-in Messaging; not just because of it being far more featureful, but also because of the button shortcuts. Unlike with Messaging, where all the dialpad (and, when present, the QWERTY thumbboard) keys are used for quick search, by default, dialpad keys (and several QWERTY ones) are assigned a shortcut. There is even an in-built help screen (accessible via 0 or H) showing all these shortcuts:
As you can see, as with Messaging (where, in WM6+, the left softkey can be used for quick deletion), you can do the same by pressing 7 (or D(elete)). The deletion happens without any confirmation dialog (as opposed to Messaging, unless you configure it not to do so). Note that you can do the same with flagging messages but, then, Menu / Delete won’t delete flagged messages.
1.2.2.4 Mass selection still needed on the MS Smartphone platform? AEBPlus for the rescue!
However, if you just plan to mass-delete mails, you’ll definitely want to set up the (for this), free (!!!!) AEBPlus. If you’ve read my Button Enhancer Bible, you may already know this excellent utility.
Just make sure you assign the “Select all” functionality (it’s number 15 in the functionality list) to the button you’d like to use to mass-select items. In the following screenshot, I show it bound to the Volume Up button:
and this is the set-up screen, telling AEBPlus to look for single-presses (of course, you may want to use double/triple-presses or long presses instead; then, just select the according mode in the list):
Note that this will not only work in FlexMail, but also in all the other apps supporting Ctrl-A (Select All); for example, the built-in File Explorer. And, again, this will NOT work in Messaging.
2. Competing consumer smartphone OS’es
The behavior of the MS Smartphone version of Messaging is diametrically opposed to how Symbian S60 and BlackBerry allow for mass / quick selection. These two operating systems are the two major competitors to Windows Mobile; I’m still not counting in iPhone because of the – current – lack of third-party apps and the platform still being comparatively limited to the “Holy Trinity” of consumer smart phone OS’es.
Microsoft should definitely fix this issue in future operating system versions as, again, in this respect, these two competing operating systems are definitely better.

2.1 Symbian S60
2.1.1 Selecting everything
Just go to Options / Mark/Unmark and select Mark All:
2.1.2 Selecting only blocks of mails
On Symbian S60 devices with a dedicated Pencil button (like the excellent Nokia N95), you just keep it pressed while moving the D-pad up and down. (On newer devices (N82, N81 etc.) without a pencil key, according to the N81 review from AAS, you can use # instead of the removed Pencil key. This doesn’t work on the N95.)
Then, just select either Options / Delete (alternatively, just press the C “delete” hardware button) or Mark as (Un)read:
2.2 BlackBerry
On BlackBerries, you can just keep the Shift key pressed and roll up/down the trackball for quick (mass) selection. Then, just select Mark (Un)Opened or Delete Messages from the menu. It’s very fast; my only grief is that, while mass-selecting mails, you can’t make this even faster by using the Alt button, unlike in regular mode, where you can utilize it for page jumps instead of line scrolling.
In the default BlackBerry client, it’s not possible to mass-select all the messages at once. However, thanks to the trackball, mass-selecting is VERY fast – much faster than on any competing D-pad-based solution. No wonder I'm recommending trackballs instead of touchpads

UPDATE (later the same day): I’ve forgotten to mention that you can easily delete all mails from a folder in the Smartphone (and, of course, the Pocket PC) version of FlexMail. To do this, you must be in the folder view (as in the first FlexMail screenshot; in there, it’s at position 3), highlighting Inbox, and select either Menu / Folder / Empty or press Action and select Empty from the context menu. Note that Empty will not be shown at all (or disabled) when there are no messages in the given folder to be deleted.
This makes it much easier to delete all messages in one step and also makes it unnecessary to install AEBPlus if you want to not only mark read the entire contents of a folder, but also delete it.

UPDATE (03/14/2008): thanks to my blog reader looeee, I've noticed the MS Smartphone version of WM6 supports similar numeric (dialpad) shortcuts to approximately the same functionality as in Flexmail (see Section 1.2.2.3). The only difference is that you must keep the given button depressed (that is, press-and-hold) for the given functionality to be invoked - instead of the standard searching. The shortcut list (which can be brought up by press-and-holding the 0 button) can be seen in the following screenshot:
Again, this is WM6 MS Smartphone only - it doesn't work in WM5.

UPDATE (03/13/2008):
There’s an official (but in no way officially advertised) add-on patch for the built-in Messaging, which allows mass “mark read” and “delete” operations. This means you don’t need to switch to FlexMail on the MS Smartphone platform if you frequently need to delete / mark as read all your messages as quickly as possible.
Navigate to THIS page; get and execute InboxExtender.CAB on your phone. After this, the menu will contain two new menu items: Mark All as Read and Delete All.
(WM6 Smartphone and VGA Pocket PC, respectively)
(thanks to HowardForums forum member RF9 for the heads-up!)

Related

REVIEW: Teksoft's brand new Pocket PC utility suite Smart Bar

Teksoft, developer of the excellent BlueMusic application (see for example this article & the links), has just come out with a brand new suite, Smart Bar, of system management applications. I decided to give it a try as it’s a pretty capable suite of utilities with some really excellent modules.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
They even promise an application capable of recording both (!) parties in a phone conversation (so far, this has been impossible with all Pocket PC Phone Edition devices of both HTC and ASUSTeK (Fujitsu-Siemens T8x0)); I think it’ll work by directly “tapping into” the Bluetooth unit as can be seen for example in here.
Availability, price
The suite is available here. To review the (pretty good and recommended) manual, visit this link. There is a(n unfortunately, pretty restricted) trial version too.
The “price” of the suite is 200 credits; that is, between 20 and 25 euros (depending on the amount of money you transfer to your online credit account). The registration is a one-device only (that is, CPU ID- and not PPC owner name-based); licenses can be transferred to other devices in case of a device change (for example, when the previous one bites the dust and gets exchanged).
Install
Use smartbar_setup.exe for pre-WM5 and the CAB files for WM5; see install.en.txt for the latter case.
Compatibility
It’s stated to be compatible with strictly QVGA devices with at least the WM2003 operating system. (I’ve also tested it on Pocket PC 2002; it indeed doesn’t work.)
You can, of course, try to install it on VGA devices, but I don’t think you should give it a go. I’ve tested it on three different VGA devices (Dell Axim x51v A12, WM5 iPAQ hx4700 2.01, WM2003SE Pocket Loox 720). On the hx4700, the PowerPlugin Today screen plug-in was absolutely useless; on the two other devices, it was shown, but not anything else. On the Dell Axim x51v, I’ve received frequent gwes.exe crashes after a reboot, because of which I had to entirely disable PowerPlugin.
Of the PowerPlugin, few features were accessible on these VGA devices; in the following chart, I’ve summarized all this (note that it also contains HTC Wizard-related info):
Note that, as far as the Wizard is concerned, I’ve listed two ROM’s: the O2 2.21.4.1 WWE (3/9/0) ROM and the “cooked”, widely known AKU3.2 one by KTamas / bepe. This means there are differences between different ROM versions / builds – all icons may work with your particular ROM version. The developer has promised they would test the suite with other ROM versions.
As can clearly be seen, the majority of the features PowerPlugin has can’t be used - not even on the QVGA HTC Wizard (with some ROM versions).
One of the central features of the application, Smartbar, wasn’t accessible either on any of my VGA devices. Self-standing apps like the screen capture, the network troubleshooter and the task manager applications, however, did work on VGA devices.
Also, it’s very important that you BACKUP (see the Backup Bible if you’re unsure) your device before installing the application. My absolutely clean, freshly hard reset WM2003 HP iPAQ 2210, after the install, couldn’t boot in at all and I ended up having to hard reset the PDA (I’ve tested this two times). I haven’t tried to boot into Safe Mode (read this roundup & tutorial if interested in Safe Mode on the Pocket PC); it may have helped .
Today plug-in (PowerPlugin)
It’s a simple plug-in with shortcuts to en/disable wireless units, suspend the device, show whether it's connected to the Net (IMHO, this is pretty useless on a WM2003+ device - after all, the Connectivity icon is always visible on the taskbar) and a backlight slider. It doesn’t contain for example battery or memory meters, unlike most other Today launchers (please see this iLauncher review and the links to earlier reviews to find out what a decent Today launcher should offer.)
Unfortunately, the majority of the functionality it’s supposed to offer didn’t work on my test devices. For example, as far as en/disabling wireless functionality is concerned, it was only on the x51v that it was able to both en- and disable Wi-Fi; on the Wizard, it was only able to enable it and on the PL720, wasn’t able to do anything. As far as Bluetooth is concerned, it didn’t work on any of my test devices in any direction. The backlight slider only worked on the PL720. (See the chart at the top, in the Compatibility section for more info.) The only exception is the HTC Wizard with the O2 ROM, where everything worked. (Again, more information on the compliance with other HTC Wizard ROM versions will be published / announced later.)
Also note that, while it has, in addition to the backlight slider, a backlight icon. It, now, doesn’t do anything. Hope the Teksoft folks wire it to the backlight / brightness applet of the device as is the case with all the other, similar Today plug-ins.
Task manager
This is one of the best features of the suite.
Pretty cool. Better than the built-in task manager: it lists the memory used, whether it’s a windowed app/process and if yes, is it visible; the title and the window class name. However, it doesn’t display other advanced & useful stuff like CPU usage and has no “Stop all processes”. Also, it’s not possible to “hide” system processes either – that is, for a newbie, this task manager can prove pretty dangerous.
Ultra Keyboard
This is probably the most unique feature of this suite: it allows for controlling some functionality using the keyboard. The most important of this is text insert macroing capabilities, which has always been missing from Pocket PC’s (except for some, not very capable Software Input Panels (SIP's) like Resco Keyboard Pro and Biomobility’s CopyText Pro; also see this thread for more info if interested).
When you use text insert macroing and assign a macro to, say, the series of characters “bye”, Smart Bar will constantly monitor the keys you press on the built-in (or external) keyboard of your PDA and when it sees the keys b, y and e pressed in order, it’ll delete back the three characters and insert the replacement text.
It's really cool but, unfortunately, only works with built-in keyboards or external ones (like those of desktop-based PDA controllers; see this roundup for more information on them.) Even in this case it can prove useful - most built-in thumb boards are pretty awkward to enter text on them.
You can initiate the following functionality from the keyboard: Replace with phrase; Execute a file; Turn device off; Reset device; Call number and Screen Capture. Note that if your keyboard has a different layout than your current ROM language, the default layout will be used. For example, if you have a German MDA Vario (= HTC Wizard) with English ROM but use the keyboard in German mode so that you find all keys at once, you will need to enter ‘bze’ instead of ‘bye’ for the ‘bye’ script to be executed. Also, note that not even in this case will everything execute – that is, try not to use anything that have relocated letters.
In my tests, all these functions worked OK.
Smartbar
This is a shortcut bar at the bottom of the Today screen for accessing active apps (closing / activating them) and activating other built-in apps (and the Desktop mode) of the Smart Bar suite. Unfortunately, task control-wise, it is probably the worst module in the entire suite; hope this will be greatly enhanced in subsequent releases.
Compared to (better) task managers like iLauncher, Magic Button or Spb Pocket Plus, its disadvantages are as follows:
It can only be accessed on the Today screen, not on the taskbar (and / or the Close / Minimize icon itself)
It supports no mass operations like “close all but this one”, “close all”, unlike with Magic Button or the built-in iTask of Compaq / HP iPAQ’s
It doesn’t override the Minimize / Close (x) icon
Hope these disadvantages will be soon be fixed and the task management functionalities of the application greatly enhanced.
Note that while it doesn’t have explicit scrolling icons / menus (unlike Magic Button as can be seen in here but NOT iLauncher 3, which is suffering from the complete lack of scrollbars as can be seen in this and this screenshots), you can scroll the active task icon list if there are more than five (Portrait) / seven (Landscape) of them.
I’ve also tested the CPU usage of smart.exe to see whether it causes any CPU load, particularly with more than a handful programs active. (For example, Magic Button causes a constant CPU usage of about 1-3% all the time.) The results are acceptable and not much worse than those of Magic Button:
Desktop
Yes, a WisBar Advance Desktop (WAD) clone! It’s in no way so advanced as WAD; still, if you like these kinds of applications, you may find the one in Smart Bar suitable.
Screen capture
Smart bar also contains built-in screen capturing capabilities. Please see the Screen Capture Bible for more information; in the following pros/cons list, I build on the information and explanations of that guide.
Compared to other screen capturer applications,
Pros
Uses a 3-second delay by default; that is, it can be used to make menu screenshots (without using the periodic screenshot capabilities)
Able to capture images periodically (albeit with some limitations, particularly when it comes to the frequency of taking shots). Note that it’s the “Stop interval” drop-down list that lets you fine-tune the interval it’ll take screenshots (between 10 seconds and 10 minutes as can be seen here and here)
If you use it on a device with a built-in thumb/keyboard and you enable screen capturing through Ultra Keyboard, you will be able to capture almost any game screen any time (!) by just entering the Ultra Keyboard shortcut (“CAP” by default). In this respect, the suite is unbeatable and unrivalled.
Periodic screenshot capturing is fast and, therefore, gaming-friendly (unlike, say, BeniSoft ScreenShotCE)
Both BMP and JPG output; the latter with settable quality
Can save files to anywhere, not just the main storage
Can capture images, in addition to the original (100%) size, at double and triple (200% / 300%) size – very useful on QVGA devices to avoid further enlargement and unique among all the screen capturer applications
Landscape & VGA compliant even in SE VGA mode
Cons
Multishot (periodic) capabilities are a bit limited – you can’t instruct the app to make shots less frequently than every two second
While the screenshot utility is a self-standing app, it cannot be invoked from a custom-written nScriptm script to fine-tune periodic screenshot making parameters
(Trial version useless: it inserts a message in the captured images)
All in all, the screenshot capabilities of the app are excellent, especially when you take the price of the suite into account and the only problem with this module are the too frequent screenshots in auto mode. Also, as has already been pointed out, the ability to make hardware keyboard-based screenshots of games is unbeatable and unique.
Network Tools
The suite also contains a simple (it’s in no way as advanced as, say, vxUtil) network troubleshooting utility, Network Tools.
It’s able to ping and traceroute to find out possible networking problems. It also uses DNS lookups; that is, if you for example enter www.yahoo.com, the contents of the input field will revert to 209.73.186.238 (or something very similar, with a different ending), showing the IP address of the given computer (it doesn’t do the reverse).
It also exports the traceroute results to a file. (Note that I didn’t have a “real” wireless connection during the tests and the utility had problems accessing the net via USB (in both WM5 AKU2+ networking modes); I could only access the desktop computer my PDA was hooked up to; this is why there is only one entry in the tracelog.)
It’s pretty cool to have if you don’t happen to have Windows Mobile Network Analyzer PowerToy or vxUtil around.
Verdict
This app is certainly promising. Hope subsequent builds / versions will fix the issues / implement the missing functionality (most importantly, overridden Close / Minimize button) I’ve elaborated on. Then, I’ll recommend it heartily, without conditions. Now, in the present state, I do recommend it too – but conditionally.
First, the bad. It does have compatibility issues. If it does work on your PDA model, it won’t likely to support all the features of the Today plug-in (PowerPlugin) and has no for example storage meters. Also, the task management functionalities / program shutdown capabilities of Smartbar are certainly inferior to most similar apps like iLauncher, Magic Button or Spb Pocket Plus. I find this the biggest stumbling block of the application.
Second, the good. It’s, as an all-in-one application, is really good. That is, if you don’t want to struggle with installing many applications (say, WAD + Magic Button + some advanced (!) screenshot app + vxUtil) to achieve the same (or even better! See for example the screenshot utility) functionality (without keyboard macros, of course), give it a go. Also, if you need keyboard macroing (again, it won’t work with on-screen keyboards, only hardware ones!), this is the application to go.
The same stands for taking screenshots: this application clearly excels in this area (except for the too frequent screenshot taking in repetitive mode – hope the developer fixes this too), particularly when it comes to making screenshots of anything (most importantly, games) that inhibits hardware button access and, therefore, renders hotkey-based screen grabbing impossible. Then, Ultra Keyboard’s excellent keyboard-based shortcuts will prove highly useful.
All in all, if you still don’t have any application to implement the above-listed functionalities or, for example, losing the excellent task management functionalities of other task managers isn’t a problem, definitely give it a go. Remember, however, that
do NOT get it if you are a VGA user; wait for the soon-to-be-released VGA-specific / compliant version
do backup your device before installing or, at least, make sure you have an active Safe Mode application

The Button Enhancer Bible & great button config tips for Opera Mobile / Mini users

The Button Enhancer Bible & great button config tips for Opera Mobile / Mini users
Back in early 1997, when the first Microsoft WindowsCE 1.0-based devices hit the selves, they already contained shortcuts to built-in programs. Back then, as the 1.0-series of WindowsCE exclusively ran under clamshell Handheld PC’s with a built-in keyboard, it was pretty easy to find place for these quick start keys. For example, in the Philips Velo 1, the entire number row is overridden with them, providing access to almost all major applications (Pocket Word, Excel, Calendar, Contacts, Tasks, WWW, Inbox, Database, Calculator, Voice Memo) delivered with the device.
When, in 1998, the Palm-size PC’s and, in 2000, Pocket PC’s arrived, the lack of a built-in real keyboard meant it was no longer possible to crunch as many buttons in the radically reduced front and side surface of the device. Therefore, the number of shortcut keys were substantially reduced; most devices only sported five of them. There were differences in both directions: for example, the HP iPAQ 2210 only had four, while the Fujitsu-Siemens Pocket Loox 720 had six and, what is more, these buttons were all bifunctional: press and hold them instead of just quickly pressing it, and another functionality starts. (Some models, for example, the h2210, also supports something like this – holding the buttons results in, in general, creating new records. However, unlike with the Pocket Loox, you can’t redefine the functionality if you want to access something different.)
Unfortunately, very few models support bifunctional (short-press and long-press) buttons. While some device manufacturers (like HP with their WM5 upgrade for the HP iPAQ hx4700, introducing full support for press-and-hold front buttons) did realize the ability to double the functionality one can quickly access with a single button press(-and-hold), not even the latest mainstream models offer this. For example, HTC’s Pocket PC Phone Edition (Windows Mobile Professional) models, in general, only offer one application (app for short) button with double functionality (for example, Button 4 on the Universal and the Wizard); all the others are single-function and, therefore, greatly reduce their usefulness and the flexibility, should you want to greatly speed up invoking applications or greatly simplifying tasks (for example, by a hardware button-initiated macro playing back several pre-recorded stylus taps to, for example, greatly speed up mail checking).
Some of the current models even more reduced the number of (redefinable) buttons. For example, the HTC Elf / Touch only allows for redefining the Camera button and nothing else (also see THIS). Yeah, only ONE button. Nice, eh?
The hardware manufacturers’ neglecting the need of people wanting for more functionality assigned to the few hardware buttons of their Pocket PC’s (and, due to the, in general, far fewer application buttons they have, to a lesser degree, MS Smartphones) has resulted in a plethora of third-party solutions that do allow for this. In this roundup, I explain and thoroughly compare these all.
This kind of a Button Enhancer Bible has long been awaited. Except for some not very recent (pre-WM5) and, now, completely outdated quick reviews & comparisons, there has never been a really decent and thorough comparison of the major button enhancers, let alone ones that cover even the latest (2007), kick-butt, freeware titles developed by some highly skilled XDA-Developers folks.
1.1 What can you expect of button enhancers?
(Sometimes heavily) extending the number of applications you can start / tasks you can do with a hardware button by adding at least press-and-hold mode to the already-existing “short press” one. The vast majority of the enhancers add three additional states and there is one (HButton), which goes even further and lets for adding an unlimited number of different invocation capabilities to a button.
They, in general, contain widely asked-for goodies missing from the Windows Mobile operating system like a task manager (to quickly switch between running tasks), a task killer (to completely get rid of it to make sure it doesn’t take up any memory or other system resources), sometimes fancy, full-screen clocks (as opposed to the tiny one in the upper right corner) etc.
Note that you can freely download utilities like these. The most important repository of these free, but highly useful, single-purpose, small utilities is that of PHM PowerToys. The single-purposedness of these small applications also means these tools can be directly assigned to a hardware button (this is exactly what PHM Keys does). This also means that, if the particular button extender you select doesn’t have built-in for example Reset functionality (which can be very useful when assigned to a button, should you need to soft reset your device several times a day; a well-known situation for users of Resco Audio Recorder, which, in many cases, (at least on the Pocket PC platform) requires a reset after resuming the device and/or reinserting the sotrage card it should record to), you can always make use of Reset.exe of PHM PowerToys.
Incidentally, still speaking of the built-in Reset support of the reviewed button enhancers, none of them does prompt the user before resetting the device. Therefore, to avoid resetting resulting from an unwanted button press (you, for example, press it three times instead of twice and this triggers an unconditional soft reset), you may still want to prefer PHM’s version of Reset to the ones built into these button enhancers.
The case is pretty much different with the built-in task managers. In general, they’re better than that of PHM because you will have the time to select the task you’d like to switch to and, with the best task manager implementations, you can fine-tune its parameters.
Some (currently, two; one of these, buttonMax, still not being WM5+-compliant, doesn’t run on current Windows Mobile devices) of them let for defining application-specific shortcuts. These can be VERY important and useful. Just one example of this (which, also, explains where thee kinds of shortcuts can prove really useful):
Opera Mini (OM4 for short), with the latest, 4-series, has become a serious contender to all the other Web browsing solutions on out platform. Many even consider OM4 to be THE best Windows Mobile (WM for short) Web browser, particularly with a decent MIDlet manager (the environment to run MIDlets like OM4) like Esmertec’s Jbed.
OM4 (along with the still active 3-series) had, before the just-released beta 2, a very important problem: it doesn’t let for switching between full screen and non-full screen mode unless you have a built-in hardware dialpad or keyboard on your phone or, depending on the MIDlet manager you use (some, like Jblend, don’t support switching between the two screen modes using the on-screen keyboard; others like the, for running OM4, most recommended Jbed, can), can be bothered to bring up the on-screen keyboard to make the switch. If nothing works (you don’t have any kind of dialpad or keyboard and the on-screen keyboard isn’t supported by the particular MIDlet manager, you’ll need to find external ways of sending the “*” (or, in cases, the “**”) character(s) to OM4 to do the switching. It’s here that scripting solutions like MortScript come into picture: you just create a MortScript file containing a Sendkeys() function call, and just assign this script to one of your hardware buttons. After this, upon pressing the button, a *(*) will be inserted into the active program; if it’s OM4, then, it’ll force it to switch between the two screen modes. (Which, unfortunately, won’t work under the above-mentioned Jblend either, for reasons I’ll elaborate on in my forthcoming MIDlet Bible). Fortunately, with the latest beta, you can already get rid of the problem by going to Settings and make the changes yourself; but, again, this won’t help with the previous, 3.x-series still widely in use for the time being, that is, before the 4-series of Opera Mini leaves the beta status.
In addition to the full screen mode switching, OM4 has a lot of dialpad (numeric) key goodies like quick (page) up/down scrolling (as opposed to the default, line-by-line scrolling) when you use the 2/8 hardware buttons / keys. If you don’t have a handheld with these buttons / keys and you don’t want to open / slide out the keyboard (if it exists at all) to press 2 / 8 (the vast majority of Pocket PC’s, except for Asus’ phone models having a hardware dialpad, belong to this category), you’ll certainly welcome a solution that does the trick for you. That is, either an external program, tied to a hardware button, which you can invoke to send a 2 or 8 character to OM4, or a button handler, which itself can send your OM4 these shortcuts (for example, PQzII).
Yes, that’s at least two numeric key simulation functionality worth binding to a hardware key. And, if you would like to also bind the other, very useful numeric key-only shortcuts (see the complete list of them HERE, in the Opera Mini column) to hardware buttons, even more buttons would be needed.
If you bind these buttons to be active system-wise, then, you will quickly use up the really meager number of button configuration capabilities and you won’t really be able to make use of these configurations in any else program, where you won’t really need to enter, for example, 2 or 8 through a hardware button. This is (one example of) where application-specific button assignment can really pay off. You just use a button enhancer that is able to handle separate apps and only use button assignments with the defined one.
Note that, currently, not all applications can be treated this way. For example, as far as MIDlet managers are concerned (still sticking to the Opera Mini example), only those of Esmertes (Jeodek, Jbed) and TAO (Intent) will work. IBM’s J9 won’t work in app-specific mode (if at all: half of the devices I’ve tested it on keypress emulation wouldn’t work at all) and Aplix’s Jblend is the worst: it immediately pauses when you try to send something (for example, an emulated button press) to it. As VITO ButtonMapper, currently, doesn’t support sending out emulated keypresses (as has already been mentioned, it’s only PQzII that is capable of this feat), it must use an external tool (for example, MortScript) to generate keypresses, this means you in no way can send them to Jblend. Your only choice is PQzII, but the latter doesn’t allow for application-based, separate button assignment.
Another example of a program that cannot be used in separate, filtered mode is Opera Mobile 8.65, where using the numeric keys also greatly enhances the usability. This means you won’t
Many other WM programs, however, can be used in this “sandbox” model; therefore, VITO ButtonMapper still remains the number one button enhancer app to test when you want to have app-specific button assignments.
Please note that I’ll also elaborate on these issues in the “Hands-on experience: Passing keypresses to Opera Mini / Mobile” section. In there, you’ll get an even more thorough explanation of these questions and will also be presented some ready-made scripts.
Some add keyboard shortcut emulation. The most common of this is adding copy / cut / paste / select all emulation (for clipboard operation) and Tab, Enter, ESC, Cancel, Page up/down for cursor movement emulation. The, in this respect, best utility, PQzII, even supports defining any of the available alphabetic characters to be input. The latter, as has already been stated, can prove VERY useful with applications like Opera Mini and Mobile.
The most advanced ones (for example, again, PQzII) allow for assigning functionality like quick dialing a number or selecting a pharse to be inserted in the text (which is, otherwise, only supported by commercial tools like Resco Keyboard Pro in its “Frequently used phrases” mode)
Also, advanced apps also allow for stylus (but, currently, not button) macros; this is currently supported by two button enhancer applications. There are a lot of advantages of the support for this; see for example the “Scenarios for using with ButtonMapper” section in the VITO ButtonMapper manual.
1.2 How do I use them?
It’s pretty easy. If you already know (if you don’t, read THIS Smartphone & Pocket PC Magazine tip – in here, I don’t explain this basic stuff) how you can assign any external program to a button, you can rejoice: most third-party button assignment applications use a pretty similar Graphical User Interface (GUI) to assign your buttons. In some cases (most importantly, with the, if you need selective app and/or macro support, highly recommended VITO ButtonMapper), these apps use the system-level Buttons setter applet with some additional tools. (For example, with the VITO app, an additional drop-down menu to set the app you’d like to define assignments to and two buttons to save / retrieve the configuration.) In these cases, all you need to do is invoking the familiar (with the above-mentioned additions) Buttons applet.
Unfortunately, not all applications are so similar to the original, well-known Buttons applet. The, in this regard, worst PQzII, for example, has a very hard-to-understand GUI. The almost complete lack of documentation makes the situation even worse. This is why, in the main chart of this Bible, I’ve tried to provide as many screenshots as possible to show all the individual steps of, for example, assigning a given functionality to a button. I, however, haven’t written much text to accompany these screenshots. The order they are presented should be sufficient for most readers. Should you still having problems configuring PQzII, let me know (just post a public(!) question) and I’ll give you a definite answer.
As a rule of thumb, you assign buttons in these applications in exactly the same way as in the standard, operating system-default Buttons applet. You select the application button (or, in some other cases, other - phone (see the “Phone button redefine” row in the chart), keyboard, WM5 softkeys (“WM5 Softkey redefine” in the chart) or even D-pad arrows (“D-Pad functionality redefine” in the chart) - you’d like to assign an application or some functionality to and, then, select it from a list. You can do this to all the possible states of the button: single-press, double-press, triple-press, press-and-hold etc. (when available in the given application).
In many programs, you can also quickly remove this assignment so that the original (one-press only) setting set in the system-level Buttons applet takes place over the one set in the button enhancer application. In the chart, I’ve also elaborated on this issue with all the tested programs.
1.3 Issues; problems when using button enhancers
Some of these applications aren’t without problems.
First, as some of them are always running (because it adds significant functionality not possible to handle via the standard button assignment functionality, which only executes the given program when the button is pressed), there is a remote possibility they will take up a lot of system resources; most importantly, CPU time and memory. Fortunately, this isn’t the case: all the apps that do have a resident, always-active module have little system resource usage. There was only one app that had enormous (over 800 kbytes) memory usage: the original PQz, of which PQzII is the greatly enhanced version with dramatically reduced memory usage (see THIS for more info on the differences if interested).
Second, as they might be too selfish, they may mess up the local (or, default) button assignments made in for example multimedia applications. Almost all media players and remote media controllers offer the capabilities of locally assigned buttons (for example, TCPMP in Options / Settings / Select page / Hot Keys; Resco Audio Recorder 4 in Action / Options / General / Buttons etc.) For example, if you assign a button to, say, fast forward, stop or switch off the screen, this setting may collide with that of button enhancer applications, which might result in funny and/or unwanted consequences.
While there are no such problems with the built-in button assignments or any application that solely uses the infrastructure already available in Windows Mobile (that is, applications that don’t have a resident memory module), the vast majority of apps do interfere in at least some of these applications. Actually, it’s only the two non-resident apps (namely, DoubleLauncher and HButton) that have absolutely no problems working together with these kinds of applications.
I’ve made several tests to find out the most problematic programs. To represent a standard multimedia player application, I’ve used the hugely popular TCPMP. This application has a, by default, disabled option of “unhooking” buttons so that global, system-level button settings don’t interfere in the program (because they can’t be used). In addition, I’ve used the latest Resco Audio Recorder series, which is known to have even more serious problems with almost all the programs running in resident mode: either the buttons that are redefined / reassigned in the button enhancer stop working, or the globally defined functionality is executed half of the times and the local one in the other half. Finally, three apps (buttonMax, BtnPlus and Vito ButtonMapper) even require to be completely restarted after exiting Resco because they just stop working. In the Chart, it’s in the “Overrides local keyboard assignments?” section that I’ve elaborated on these issues and the problems. As can be seen, PQzII is clearly the worst application in this respect because it even messes up TCPMP – even when you do enable button unhooking in the latter.
Other problems arise from models and / or buttons already supporting press-and-hold (that is, double) functionality; for example, the above-mentioned Pocket Loox 720 or the WM5-upgraded HP iPAQ hx4700. If you try to use a button enhancer app with hold mode, the two hold modes (that of the operating system and the enhancer app) can clash, as was the case with the TCPMP / Resco case outlined above. In order to find out how the applications behaved under these situations, I’ve also made some serious tests on my WM5-upgraded HP iPAQ hx4700. In general, it can be stated if the given enhancer application supports press-and-hold functionality, this functionality won’t work with buttons also having native support for this. As button enhancer apps relying solely on press-and-holding (HButton) can ONLY work when assigned to a button not having native Hold support, you will only be able to assign HButton to Button 5 on the hx4700.
This all means press-and-hold functionality will not work if the OEM's button driver already implements multiple keypresses or press-n-hold.
In addition, press-and-hold usually doesn’t work for red/green phone buttons, WM5 softkeys and the Ok button (when available) because the system returns both the "key was pressed" and the "key was released" events simultaneously right after the button was actually released so enhancer apps that, otherwise, support these buttons (for example, AEBPlus) are not able to decide if it was a long (press-and-hold) button press or not.
It’s on purpose that I’ve emphasized I’m speaking of individual buttons and not devices themselves. For example, on the hx4700, the Record (fifth, side) button doesn’t have a Hold mode; therefore, with external button enhancers, you can also use their Hold functionality, unlike with the other four app buttons. That is, you can use the hold functionality on devices that do have buttons without at least one non-hold key.
2. The reviewed button enhancer apps
2.1 PQzII (Keyboard Helper) 0.0.7b 20070725
This is a very-very advanced, free utility, mainly for users of handheld devices with a real keyboard built-in, but, as it also supports traditional application buttons, other Pocket PC users can also make use of it.
There are several versions of it: a generic WM2003 and WM5 (which is tailored for the HTC Universal, but can be run on any other WM5+ Pocket PC (phone)), one for the HTC Wizard and the HTC Hermes. While, currently, there are no specific versions for other / newer devices, once you learn how the configuration files are built up, you’ll easily make one.
It allows for redefining / overriding any buttons (even the two phone buttons, the D-pad arrows and the two WM5+ softkeys). Note that, on the Universal, the pretty useless Internet Explorer key (the one in the lower left corner of the keyboard) can’t be redefined (see THIS); the same stands for the Messaging shortcut (close to the IE key).
The main discussion thread of PQzII is HERE and the (pretty simple and hard-to understand) official documentation HERE.
What I recommend is that you don’t let the very bad set-up interface and the substandard docs of PQzII chase away. Once you learn how it can be configured, you’ll love it and find it one of the most powerful utilities, particularly if you also have a built-in keyboard (it supports a lot of, on desktop PC’s, well-known keyboard shortcuts like copy/paste, CTRL+LEFT = HOME, CTRL+RIGHT = END, CTRL+UP = PAGE UP, CTRL+DOWN = PAGE DOWN etc. – all a god-send for everyone editing / typing a lot of texts on his or her handset). Let me, again, recommend the mini-tutorials in the chart, which will give you immense help in discovering the capabilities.
Note that you can even enter ANY Unicode char with ALT keys; a related post is HERE showing other solutions & consequences.
Note that there is a similar product, AE Keyboard Mapper (also known as AEKMap), which I do not review here for several reasons:
it doesn’t support application buttons, unlike PQzII, and, after all, the subject of this Bible is application button redefining, not that of built-in keyboards.
you need to activate (=pay for) it to get, with button enhancers, basic functionality like assigning applications to an alphanumeric key. With PQzII, you get the same functionality for free.
the same developer, Alexander Eltsyn, also offers a product, AEBPlus, solely meant for application button enhancement and is far more powerful in this regard that AEKMap. I will review it in this Bible.
2.2 HButton 1.9.1
This is a revolutionary, outstanding application in that, unlike all the other reviewed tools, it lets you assign any number (!) or applications to a single hardware button. Before you ask what the point in all this is, and whether it’s indeed easy to remember that, for example, the particular app you would like to start is at the eighth or the ninth postion, the answer is really reassuring. When you keep the selector (hot) button depressed, it scrolls through the titles of the apps you’ve assigned to that particular button. Whenever you see the program you would like to execute, you simply release the button and it’s started. (There are variations of this theme. For example, you can solely rely on the very quick and discreet vibrations or beeps; if you keep counting them, you’l know when to release the button to start the particular app.
It has other goodies too. As its “virtual” buttons need to be manually assigned to the hardware buttons of your handheld in the system-level Buttons applet, there is no in-memory resident code taking up resources / CPU time all the time and/or interfering with some apps having local button assignments (see the discussion of TCPMP and Resco Audio Recorder). However, the need for an additional, manual step to assign these virtual keys certainly make the configuration lengthier and, at first, a bit harder to understand. Nevertheless, once you get a picture how this all work, you’ll just love it.
All in all, an excellent application, well worth using, particularly on Pocket PC’s with a severely limited number of available, configurable buttons (for example, the HTC Elf / Touch).
2.3 AE Button Plus 2.6
This utility, having come from the same author than the already-mentioned and famous AEKMap, is alos very strong. In addition to its strengths on the Pocket PC platform, it is unique in that it’s the one and only tool to support the MS Smartphone (Windows Mobile Standard) support. Note that the well-known SmartToolkit (of which a new beta has just been released) also offers some button reassining capabilities, but only lets for simple press operations, as opposed to AE Button Plus. As it still has some quirks and, no matter how nicely it redefines the start menu, you won’t necessarily want to use it (for example, I uninstalled it after a while because of the speed problems in accessing the Start menu – I’ve just found the traditional of selecting my (current) apps way considerably faster), I don’t discuss it separately in here. I will do this as soon as it receives better button support and/or a stable, non-beta version is released.
This is without doubt THE most powerful button enhancer application when it comes the built-in goodies like switching on the built-in camera LED to work as a torch (not compatible with current MS Smartphones, unfortunately), connection starting/stopping etc. (See their almost complete list in the “Additional utilities” row of the “Compared to Settings / Buttons…” group of the chart). Granted, most of these hacks are invented by XDA-Developers hackers and programmers (for example, well-known vijay555) but you will need to install several additional apps to achieve the same. With AE Button Plus, you get all this built-in, without the need for installing and configuring several tools onto your Windows Mobile device. This itself – and the very low price tag – also makes this tool really appealing.
This application sits resident in the memory (with the definite disadvantages coming from this fact; for example, it certainly clashes with both TCPMP and Resco Audio Recorder but, fortunately, not so bad as PQzII).
Finally, a BIG request to all software developers and hackers: as with HButton and PQzII, I didn’t know of this application before embarking on writing this Bible either. With PQzII and HButton, this is pretty understandable as HButton is a brand new project started late Spring and PQzII was almost only discussed in a single HTC Universal thread (in a device-specific forum). Needless to say, none of the three apps were entered into the Software Encyclopedia of Smartphone & Pocket PC Magazine by the developers. This, and the fact that they have been only discussed in not widely known subforums is why I haven’t nominated them for this year’s Best Software Awards (they ALL would have deserved the nomination.) Therefore, my humble request to ANY Windows Mobile developer & hacker out there is the following: if you feel you’ve written a tool worth mentioning / paying attention to, don’t hesitate to contact me via a private message on any Windows Mobile forum. I’m using the nickname “Menneisyys” on all of them and you definitely will find me as I’m a top poster on all Windows Mobile forums. DO send me a message when you have something up your sleeves – you’ll get a lot of promotion for free and your app may even get nominated for the Awards, generating even more promotion, if I find your app is worthy enough. And it’s all free for you, with little effort – just a private message, with a link to the thread of your product and a sentence like “Please check out my latest tool, you might find it useful”. This particularly applies to hobbyist developers like the one of all these three apps. It’s almost impossible to run into their apps unless you excplicitly read thorugh hundreds of related threads because they don’t register their stuff in on-line software directories like the PPCMag Encyclopedia (and, in there, in the Utilities / Button Enhancers category. )
2.4 Vito ButtonMapper 4.0
This is one of the very few apps that have a really decent and easy-to-grasp manual. Its particular strength lies in its stylus macroing abilities and, what is even more important, the application-specific button assigning capabilities, in which, currently, is unique. (The other button enhancer app to do offer the same capabilities, buttonMax, currently (as of 10 / 16 / 2007) still isn’t compatible with WM5 and later operating systems, which means it’s useless on the vast majority of currently used handhelds.) Therefore, it’s highly recommended if you do need app-specific configurations – for example, number input for Opera Mini (more precisely, the MIDlet manager running Opera Mini) etc.
Don’t forget that, as has already been pointed out, the app-specific functionality doesn’t work with some programs; most importantly, Opera Mobile (as opposed to Opera Mini, which works just great together with Vito ButtonMapper when running under a compatible MIDlet manager – all MIDlet managers of Esmertec, TAO and, on some Windows Mobile models, IBM J9 – but not with Jblend). This, as has already been pointed out, is very bad news for all Opera Mobile users. If you plan to use Opera Mobile and want app-specific button assignments only active when running Opera in the background, you simply won’t be able to do this with the current, final version of Opera Mobile 8.65. Sorry. This is definitely not a bug in Vito ButtonMapper as the other, app-specific-capable app, buttonMax, can’t run Opera either (I’ve thoroughly tested this under WM2003).
As has also been mentioned, stylus tap emulation macros can also prove really useful. As has already been pointed out, you will want to read the “Scenarios for using with ButtonMapper” section in the VITO ButtonMapper manual for some examples of how this can be utilized.
All in all, I highly recommend Vito ButtonMapper, particularly if you need either app-specific settings or stylus macros (or both). If you don’t need these functionalities at all, you may also want to check out the free PQzII, HButton or AEBPlus – they have different capabilities and may turn out to be better suited for your needs.
2.5 DoubleLauncher
This app, in addition to HButton, is the only app NOT to have an in-memory module but uses the default button handler, which is advantageous in some cases (see for example the cases of applications with local keypresses – for example, Resco or TCPMP). Otherwise, it is clearly inferior to the best, most recommended, and, what is more, free apps: PQzII, HButton or AEBPlus. As it doesn’t support app-specific settings either, it is inferior to VITO’s app, which costs the same.
Therefore, I only recommend this app if you MUST use an app that, as with HButton, uses the built-in Button handler infrastructure because of the incompatibility of other button enhancers with your specific apps having local button assignments. Otherwise, you should go for something better and/or free.
2.6 BtnPlus 0.21
(direct LZH link)
This is a long-abandoned project not really working on any WM5+ devices I’ve tested it on. Therefore, you may only want to bother with using it if you have an SH3 Pocket PC 2000 device (a HP Jornada 525/54x). It has an English language tutorial for example HERE.
2.7 buttonMax 2.10
This app, as of the (current) 2.10 version, doesn’t have support for WM5, which is a pity because, otherwise, it’s a real capable button enhancer with the same unique capabilities as VITO’s app.
2.8 Verdict – which one to choose?
The answer is pretty simple: one of the PQzII, HButton, AEBPlus (which are all free; you can, of course, activate AEBPlus but the vast majority of the functionality is available even without doing so) or the commercial VITO ButtonMapper. As these four apps have distinct feature sets, you must yourself decide what features you need and what you don’t. For example, if you only have one configurable button (and don’t want to override for example your phone / softkey buttons with AEBPlus) but want to assign at least 4-5 programs (or, in a broader sense, any functionality) to it, your best choice is HButton. If you need either stylus macros or app-specific button assignment capabilities, your only choice is VITO ButtonMapper (unless, of course, if you have a pre-WM5 device. Then, buttonMax may also be a nice choice.) If your handheld also has a built-in keyboard, you might find PQzII the best. Finally, in addition to its being one of the best Pocket PC button enhancers, MS Smartphone users will want to use AEBPlus as there’re no other button enhancers compatible with the platform.
3. Hands-on experience: Passing keypresses to Opera Mini / Mobile
Now, some advanced tools for all of you that wan to pass keycodes (that is, want to emulate the usage of any keyboard) to the running applications. This is, as has already been emphasized, VERY important for every Opera Mini and Mobile users not having access to a hardware dialpad or keyboard with easily accessible numeric keys.
As has been stated in almost all my previous, Web browsing-related articles (also) concerning Opera Mini and Opera Mobile, two top-notch Web browser applications (also) available for Windows Mobile devices, these browsers are best used on a touchscreen-less Smartphone (because they all have a numeric dialpad) or a Pocket PC with a numeric dialpad built-in. Examples are the latter are most ASUS models including the forthcoming, “HTC Kaiser-killer” P750 (see THIS and THIS) or the forthcoming HTC Touch Dual. Unfortunately, the vast majority of Pocket PC phones still lack a numeric keypad. While they, mostly, do incorporate (except for some rare and/or now-outdated cases like the P3300, P3600, P6300, the first Touch and the forthcoming P6500) a slide-out keyboard, using it to control the two browsers is far from optimal (you need to slide them out, adding considerable bulk to your phone and/or making one-handed operation impossible).
Just an example of how cool these shortcuts are. Assume you want to quickly make Opera Mini full screen (or vice versa). You only need to press the * button twice in quick succession. No long, tiring menu traversing. The same stands for Opera Mobile: it also has some very useful features (quick switching between opened tabs, switching off/on pictures with a keypress; quick switching between the default and the desktop view etc) directly accessible from a dialpad button.
Unfortunately, neither Opera Mobile nor MIDlet managers (programs that run Opera Mini) can make use of the, during using these browsers, unused Pocket PC application keys. (I’ve long been telling the Opera Mobile folks to implement this functionality but, so far, they have had better things to do. Not that the competing browsers would all support configurable application buttons: the lack of support for this is still one of the biggest problems with even the latest previews of NetFront 3.4). It’s here that I come into the picture and explain exactly what you need to do.
Again, this tutorial only applies to you if you do NOT own a touchscreen-less MS Smartphone or a Pocket PC with a dialpad (or, if using the numeric keys on your full keyboard is OK with you – again, it wouldn’t be with me because of the awkwardness of slide-out keyboards, particularly when you browse the Web in Portrait mode).
In order to be able to assign at least the most important functionalities (for example, page up/down, quick selection list of active tabs, full screen vs. non-full screen mode etc) to the 4…7 (which can be doubled or even tripled with the tools I’ll also introduce) application buttons a typical Pocket PC has, do the following.
First and foremost, decide what they need to control. Do you need to control Opera Mobile or Mini?
3.1 Controlling Opera Mini
If you want to control the latter, do you have a MIDlet manager that CAN be controlled from the outside? (All can be, except for Jblend and, on many devices, IBM J9, which can only receive keypresses from PQzII, as is also explained in the “Can you use an external tool (MortScript's SendKeys, VJKeyPress or PQzII) to "inject" keypresses into the emulator?” row in the MIDlet Bible chart) If you need to stick to PQzII (because you have to use Jblend or IBM J9 on a device which doesn’t support MortScript), can you live with the lack of the “*” character? Can you switch to an in this regard (too) better MIDlet manager; most importantly, Esmertec Jeodek or Jbed? If you can, you won’t have problems with running MortScript, which allows for sending * characters.
Let’s take a quick glance on the different configurations and its capabilities:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
As you can see, there are the following possible configurations:
Any (including the default, system-level Button applet without any third-party button extender) button extender along with either MortScript or VJKeyPress to send any chars (with MortScript) or numeric chars (with both MortScript and VJKeyPress) to the MIDlet
PQzII to send numeric chars to the MIDlet: the only choice when you use Jblend or, in some cases, IBM J9
Also note that, should you want to prefer application-specific button assignment with VITO ButtonMapper (where, in what other Windows Mobile app could you use for example your 2/8/*-injector button shortcuts?), you must be aware of the fact that only the Esmertec and the TAO MIDlet Managers allow for this; IBM J9 has never worked for me. This is also explained in the “Selective (app-specific) button assignment for input with VITO ButtonMapper” row in the MIDlet Bible chart.
3.2 Controlling Opera Mobile
As Opera Mobile doesn’t require an additional MIDlet Manager (all with different compatibility issues) AND you can freely reconfigure input.ini so that you can get rid of the need to use * / #, your choices are far better than with Mini. The only exception is that Opera Mobile doesn't support selective button assignment.
3.3 Writing and deploying external scripts
Assuming you don’t want / don’t need to use PQzII (where just follow the mini-tutorial in the last, bullet starting with “Code conversion” in the “Other niceties worth mentioning” row), let’s see how you can pass any numeric characters (with VJKeyPress) or, even better (but decidedly slower), any char (including, for Opera Mini users, the very important * and # characters) with MortScript. Let’s start with the latter.
First, get the free (!) MortScript. In the ZIP file, just install \setup\MortScript-4.0-PPC.exe. After this, you can just copy your MortScript script files (on which I’ll promptly elaborate on) to anywhere under \Windows\Start Menu\Programs; I recommend a subdirectory so that they don’t cause a chaos because of their high number.
Now, let’s take a look at what MortScript files need to be used and how. First and foremost, all these scripts do is sending a (virtual) keypress to the currently focused application when they are invoked. If you execute them through an application button press, the given key code will be sent to the browser, which will, consequently, think it has arrived from a real dialpad (or keyboard) button.
Assigning a script to a hardware application button is easier than you think. If you don’t use any button enhancer application, you just copy the MortScript script files to somewhere under \Windows\Start Menu\Programs, go to Settings / Buttons, select the application button you’d like to assign the given functionality to and, finally, select the script file. This is exactly the same as associating any functionality with any hardware button. You only need to make sure you select the right script file. For example, if you want to send double asterisks (to quickly switch between full-screen and non-full-screen Opera Mini modes), you’ll need to assign SendDoubleAsterisk.mscr to a button. If you want to send the button press “2” (“Show window list” in Opera Mobile and “Page up” in Opera Mini), you’ll need to assign Send2.mscr to a button and so on.
The names of these files speak for themselves – you won’t misunderstand them. If you do, just take a look at the argument of SendKeys in it. There will be just one (or, with double asterisk sender scripts, two) characters in the argument of SendKeys like in SendKeys(“**”) or SendKeys(“2”). These instruct MortScript to emulate a double asterisk and a single “2” keypress respectively.
Now, let’s see how the same is done with the decidedly faster (it doesn’t have a full script parser and is only a “lightweight” app with the sole aim of emulating virtual keypresses) VJKeyPress (also see the related thread if interested; not obligatory). As it’s only able to pass Virtual Key codes, which means it in no way can pass for example asterisks or any non-alphanumeric characters (VK_MULTIPLY doesn’t equal to “*” and, therefore, won’t work), unlike MortScript.
Of course, you can do a lot more with MortScript (just some REALLY useful examples HERE and HERE) but, in cases, you just won’t need them. In addition, you can use the two keypress simulator utilities at the same time: just assign “real” alphanumeric buttons to VJKeyPress (so that you have speed) and non- alphanumeric buttons to (the slower, but more capable) MortScript.
Invoking VJKeyPress is very simple: you just create a .lnk file with the contents 250#"\Program Files\vijay555\VJKeyPress\VJKeyPress.exe" <keycode> (where you’ll find the numeric keycodes for all the passable parameters HERE; as can be seen, for example, if you want to simulate the button press of 2, you must pass VK_2, that is, 50 to VJKeyPress) and just assign it to a hardware button. As it’s a link file, you won’t have problems with third-party button enhancers not capable of doing so with MortScript’s native .mscr (no-link) files. Unfortunately, all button enhancers are like so, except for the excellent, highly recommended, free PQzII.
3.4 Creating direct MortScript .lnk files
To create an additional link file for your .mscr (MortScript script source) files (again, unless you use the built-in Buttons applet to assign your scripts), you’ll need to create a lnk file with the content like 240#"\Program Files\MortScript\MortScript.exe" "\Windows\Start Menu\Programs\MortScript\Send2.mscr" , where the second string contains the filename and the full path of the original .mscr script file.
For your convenience, I’ve created an archive of all these example files for both MortScript and VJKeyPress. The archive file is HERE. Just assign the scripts or the LNK files to a hardware app button and see how immensely they help users of Windows Mobile devices not having a dialpad at the front!
3.5 Some Opera Mobile / Mini Button Shortcuts
Finally, let me present the list of what functionalities you might want to assign to a hardware button.
Opera Mobile:
1 = Open url
2 = Show window list
3 = home (full up)
5 = Toggle images (needs reload / open new window / URL)
6 = page down
8 = Cycle to next window
0 = help
* = Enter fullscreen | Leave fullscreen
# = Enable mediumscreen mode | Disable mediumscreen mode
Again, note that these are the default shortcuts; you can override them by editing input.ini, as has been explained in some of my past articles.
Opera Mini:
See THIS (incidentally, this chart is highly recommended for Opera Mobile users as well!). Note that it contains info on the first beta of Opera Mini 4; the current OM4 beta 2 also added the shortcut button 1, which brings up a submenu, where you can quickly change between fit to width and full layout modes, reload the page and get page information. It also offers a Link context menu, which allows for opening a given link (you can force it to do this without images) and getting information.
4. Not real (and, therefore, not reviewed) button enhancers (menu apps)
4.1 HotButton Plus 3.0
This is not a button launcher, “only” a commercial ($9.90 with a 14-day unrestricted trial) menu app with quick switching between apps. In this regard, it’s a bit similar to HButton. It also supports quick dialing. Note that it’s PPC Phone Edition (WM Professional) only; with PPC’s, the hacked SMS/Phone DLL’s (see the “Platform compatibility: non-phone PPC” row in the MIDlet Bible chart) don’t work.
5. The chart
It’s HERE. Make sure you check it out – again, don’t forget that a chart like this is worth a hundred thousand words. Make sure you spend some hours on digesting the immense amount of information in the chart, should you want to learn a lot of nice tricks you may have never thought of before – it certainly pays off. Also, don’t forget the chart links in several screenshots (which I haven’t done in this review to, visually, “reduce” the already huge size of it) – you might want to check them out.
6. Related (old, outdated) articles, threads
Review of four button launchers (note that there is another version, but it lacks for example the Passthrough screenshots)
Button Mapping Program for WM2003?
Vito Technology's ButtonMapper Reviewed by PocketNow (original, linked article)
UPDATE (10/21/2007): After publishing the Bible, Spb Pocket Plus 4.0 was released. It has received a brand new and pretty cool button enhancer module as well, along with tons of very nice, other enhancements; for example, a greatly enhanced Internet Explorer plug-in (see THIS for more info). It supports hold mode but no other modes and uses the system-level Button applet; however, it also allows for redefining the OK button (but no softkeys / phone buttons / volume buttons or slider). It offers no goodies like app-specific settings, additional input chars etc. It sports several additional system goodies and provides access to all system settings applets. All in all, while it's certainly not the most feature-packed button enhancer, taking the indeed high-quality and very useful (albeit a bit buggy, but these bugs will surely be ironed out shortly) other modules and features of the suite, I highly recommend it. Again, unless you want advanced button enhancement features only other apps offer.
Note that I’ve added a new column on the app in the chart.
Other news / additions
As opposed to what I've stated, it’s possible to override the Internet Explorer button on the keyboard of the HTC Universal; see THIS. However, it’s not known whether it’s possible to do the same with the also hard-wired Messaging button.
There are some very nice and useful uses of the more advanced button enhancers; for example, passing Page Up / Down. If you’ve ever used water’s SmartSkey (one of my favourite tools), you know it has redefined (in addition to the WM5 softkeys) the volume slider of the Wizard / Universal on the non-Today / non-Phone screen to send Page Up / Down events to the active program. This can be overly useful in programs like Web browsers. To find out whether the tested apps are able to do so, check out the “(Additional) keyboard / D-pad emulation?” and the “Volume buttons / slider redefinable?” rows. The latter show whether the slider / volume buttons can be redefined. Of course, if they can’t be, you can still send PgUp/PgDn events to your apps – just assign them to another (supported and existing) hardware button. Also see THIS for more user reports / opinions on this feature.
I’ve added a new row, “Does it override (ignore to take into account) the global lock setting?” on the behavior when locked. As the vast majority of the button enhancers use their own code to access the buttons, some of them (for example, PQZ) doesn’t adhere to the locked state and will, therefore, execute the assigned app even in locked state, which isn’t necessarily what you want. See for example THIS for more user posts / opinions on this matter.
hey there, i am trying to assign the Left and Right Softkey to an HButton.
But there is no thing like left or right softkey in Hbutton.. can someone say me if it has a alternativ name in Hbutton?
btw im using a htc touch.
thanks. very helpful post. I read a few of your other posts and they all helped me.
thank you for the informative post and keep up the good work!

The Button Enhancer Bible & great button config tips for Opera Mobile / Mini users

The Button Enhancer Bible & great button config tips for Opera Mobile / Mini users
Back in early 1997, when the first Microsoft WindowsCE 1.0-based devices hit the selves, they already contained shortcuts to built-in programs. Back then, as the 1.0-series of WindowsCE exclusively ran under clamshell Handheld PC’s with a built-in keyboard, it was pretty easy to find place for these quick start keys. For example, in the Philips Velo 1, the entire number row is overridden with them, providing access to almost all major applications (Pocket Word, Excel, Calendar, Contacts, Tasks, WWW, Inbox, Database, Calculator, Voice Memo) delivered with the device.
When, in 1998, the Palm-size PC’s and, in 2000, Pocket PC’s arrived, the lack of a built-in real keyboard meant it was no longer possible to crunch as many buttons in the radically reduced front and side surface of the device. Therefore, the number of shortcut keys were substantially reduced; most devices only sported five of them. There were differences in both directions: for example, the HP iPAQ 2210 only had four, while the Fujitsu-Siemens Pocket Loox 720 had six and, what is more, these buttons were all bifunctional: press and hold them instead of just quickly pressing it, and another functionality starts. (Some models, for example, the h2210, also supports something like this – holding the buttons results in, in general, creating new records. However, unlike with the Pocket Loox, you can’t redefine the functionality if you want to access something different.)
Unfortunately, very few models support bifunctional (short-press and long-press) buttons. While some device manufacturers (like HP with their WM5 upgrade for the HP iPAQ hx4700, introducing full support for press-and-hold front buttons) did realize the ability to double the functionality one can quickly access with a single button press(-and-hold), not even the latest mainstream models offer this. For example, HTC’s Pocket PC Phone Edition (Windows Mobile Professional) models, in general, only offer one application (app for short) button with double functionality (for example, Button 4 on the Universal and the Wizard); all the others are single-function and, therefore, greatly reduce their usefulness and the flexibility, should you want to greatly speed up invoking applications or greatly simplifying tasks (for example, by a hardware button-initiated macro playing back several pre-recorded stylus taps to, for example, greatly speed up mail checking).
Some of the current models even more reduced the number of (redefinable) buttons. For example, the HTC Elf / Touch only allows for redefining the Camera button and nothing else (also see THIS). Yeah, only ONE button. Nice, eh?
The hardware manufacturers’ neglecting the need of people wanting for more functionality assigned to the few hardware buttons of their Pocket PC’s (and, due to the, in general, far fewer application buttons they have, to a lesser degree, MS Smartphones) has resulted in a plethora of third-party solutions that do allow for this. In this roundup, I explain and thoroughly compare these all.
This kind of a Button Enhancer Bible has long been awaited. Except for some not very recent (pre-WM5) and, now, completely outdated quick reviews & comparisons, there has never been a really decent and thorough comparison of the major button enhancers, let alone ones that cover even the latest (2007), kick-butt, freeware titles developed by some highly skilled XDA-Developers folks.
1.1 What can you expect of button enhancers?
(Sometimes heavily) extending the number of applications you can start / tasks you can do with a hardware button by adding at least press-and-hold mode to the already-existing “short press” one. The vast majority of the enhancers add three additional states and there is one (HButton), which goes even further and lets for adding an unlimited number of different invocation capabilities to a button.
They, in general, contain widely asked-for goodies missing from the Windows Mobile operating system like a task manager (to quickly switch between running tasks), a task killer (to completely get rid of it to make sure it doesn’t take up any memory or other system resources), sometimes fancy, full-screen clocks (as opposed to the tiny one in the upper right corner) etc.
Note that you can freely download utilities like these. The most important repository of these free, but highly useful, single-purpose, small utilities is that of PHM PowerToys. The single-purposedness of these small applications also means these tools can be directly assigned to a hardware button (this is exactly what PHM Keys does). This also means that, if the particular button extender you select doesn’t have built-in for example Reset functionality (which can be very useful when assigned to a button, should you need to soft reset your device several times a day; a well-known situation for users of Resco Audio Recorder, which, in many cases, (at least on the Pocket PC platform) requires a reset after resuming the device and/or reinserting the sotrage card it should record to), you can always make use of Reset.exe of PHM PowerToys.
Incidentally, still speaking of the built-in Reset support of the reviewed button enhancers, none of them does prompt the user before resetting the device. Therefore, to avoid resetting resulting from an unwanted button press (you, for example, press it three times instead of twice and this triggers an unconditional soft reset), you may still want to prefer PHM’s version of Reset to the ones built into these button enhancers.
The case is pretty much different with the built-in task managers. In general, they’re better than that of PHM because you will have the time to select the task you’d like to switch to and, with the best task manager implementations, you can fine-tune its parameters.
Some (currently, two; one of these, buttonMax, still not being WM5+-compliant, doesn’t run on current Windows Mobile devices) of them let for defining application-specific shortcuts. These can be VERY important and useful. Just one example of this (which, also, explains where thee kinds of shortcuts can prove really useful):
Opera Mini (OM4 for short), with the latest, 4-series, has become a serious contender to all the other Web browsing solutions on out platform. Many even consider OM4 to be THE best Windows Mobile (WM for short) Web browser, particularly with a decent MIDlet manager (the environment to run MIDlets like OM4) like Esmertec’s Jbed.
OM4 (along with the still active 3-series) had, before the just-released beta 2, a very important problem: it doesn’t let for switching between full screen and non-full screen mode unless you have a built-in hardware dialpad or keyboard on your phone or, depending on the MIDlet manager you use (some, like Jblend, don’t support switching between the two screen modes using the on-screen keyboard; others like the, for running OM4, most recommended Jbed, can), can be bothered to bring up the on-screen keyboard to make the switch. If nothing works (you don’t have any kind of dialpad or keyboard and the on-screen keyboard isn’t supported by the particular MIDlet manager, you’ll need to find external ways of sending the “*” (or, in cases, the “**”) character(s) to OM4 to do the switching. It’s here that scripting solutions like MortScript come into picture: you just create a MortScript file containing a Sendkeys() function call, and just assign this script to one of your hardware buttons. After this, upon pressing the button, a *(*) will be inserted into the active program; if it’s OM4, then, it’ll force it to switch between the two screen modes. (Which, unfortunately, won’t work under the above-mentioned Jblend either, for reasons I’ll elaborate on in my forthcoming MIDlet Bible). Fortunately, with the latest beta, you can already get rid of the problem by going to Settings and make the changes yourself; but, again, this won’t help with the previous, 3.x-series still widely in use for the time being, that is, before the 4-series of Opera Mini leaves the beta status.
In addition to the full screen mode switching, OM4 has a lot of dialpad (numeric) key goodies like quick (page) up/down scrolling (as opposed to the default, line-by-line scrolling) when you use the 2/8 hardware buttons / keys. If you don’t have a handheld with these buttons / keys and you don’t want to open / slide out the keyboard (if it exists at all) to press 2 / 8 (the vast majority of Pocket PC’s, except for Asus’ phone models having a hardware dialpad, belong to this category), you’ll certainly welcome a solution that does the trick for you. That is, either an external program, tied to a hardware button, which you can invoke to send a 2 or 8 character to OM4, or a button handler, which itself can send your OM4 these shortcuts (for example, PQzII).
Yes, that’s at least two numeric key simulation functionality worth binding to a hardware key. And, if you would like to also bind the other, very useful numeric key-only shortcuts (see the complete list of them HERE, in the Opera Mini column) to hardware buttons, even more buttons would be needed.
If you bind these buttons to be active system-wise, then, you will quickly use up the really meager number of button configuration capabilities and you won’t really be able to make use of these configurations in any else program, where you won’t really need to enter, for example, 2 or 8 through a hardware button. This is (one example of) where application-specific button assignment can really pay off. You just use a button enhancer that is able to handle separate apps and only use button assignments with the defined one.
Note that, currently, not all applications can be treated this way. For example, as far as MIDlet managers are concerned (still sticking to the Opera Mini example), only those of Esmertes (Jeodek, Jbed) and TAO (Intent) will work. IBM’s J9 won’t work in app-specific mode (if at all: half of the devices I’ve tested it on keypress emulation wouldn’t work at all) and Aplix’s Jblend is the worst: it immediately pauses when you try to send something (for example, an emulated button press) to it. As VITO ButtonMapper, currently, doesn’t support sending out emulated keypresses (as has already been mentioned, it’s only PQzII that is capable of this feat), it must use an external tool (for example, MortScript) to generate keypresses, this means you in no way can send them to Jblend. Your only choice is PQzII, but the latter doesn’t allow for application-based, separate button assignment.
Another example of a program that cannot be used in separate, filtered mode is Opera Mobile 8.65, where using the numeric keys also greatly enhances the usability. This means you won’t
Many other WM programs, however, can be used in this “sandbox” model; therefore, VITO ButtonMapper still remains the number one button enhancer app to test when you want to have app-specific button assignments.
Please note that I’ll also elaborate on these issues in the “Hands-on experience: Passing keypresses to Opera Mini / Mobile” section. In there, you’ll get an even more thorough explanation of these questions and will also be presented some ready-made scripts.
Some add keyboard shortcut emulation. The most common of this is adding copy / cut / paste / select all emulation (for clipboard operation) and Tab, Enter, ESC, Cancel, Page up/down for cursor movement emulation. The, in this respect, best utility, PQzII, even supports defining any of the available alphabetic characters to be input. The latter, as has already been stated, can prove VERY useful with applications like Opera Mini and Mobile.
The most advanced ones (for example, again, PQzII) allow for assigning functionality like quick dialing a number or selecting a pharse to be inserted in the text (which is, otherwise, only supported by commercial tools like Resco Keyboard Pro in its “Frequently used phrases” mode)
Also, advanced apps also allow for stylus (but, currently, not button) macros; this is currently supported by two button enhancer applications. There are a lot of advantages of the support for this; see for example the “Scenarios for using with ButtonMapper” section in the VITO ButtonMapper manual.
1.2 How do I use them?
It’s pretty easy. If you already know (if you don’t, read THIS Smartphone & Pocket PC Magazine tip – in here, I don’t explain this basic stuff) how you can assign any external program to a button, you can rejoice: most third-party button assignment applications use a pretty similar Graphical User Interface (GUI) to assign your buttons. In some cases (most importantly, with the, if you need selective app and/or macro support, highly recommended VITO ButtonMapper), these apps use the system-level Buttons setter applet with some additional tools. (For example, with the VITO app, an additional drop-down menu to set the app you’d like to define assignments to and two buttons to save / retrieve the configuration.) In these cases, all you need to do is invoking the familiar (with the above-mentioned additions) Buttons applet.
Unfortunately, not all applications are so similar to the original, well-known Buttons applet. The, in this regard, worst PQzII, for example, has a very hard-to-understand GUI. The almost complete lack of documentation makes the situation even worse. This is why, in the main chart of this Bible, I’ve tried to provide as many screenshots as possible to show all the individual steps of, for example, assigning a given functionality to a button. I, however, haven’t written much text to accompany these screenshots. The order they are presented should be sufficient for most readers. Should you still having problems configuring PQzII, let me know (just post a public(!) question) and I’ll give you a definite answer.
As a rule of thumb, you assign buttons in these applications in exactly the same way as in the standard, operating system-default Buttons applet. You select the application button (or, in some other cases, other - phone (see the “Phone button redefine” row in the chart), keyboard, WM5 softkeys (“WM5 Softkey redefine” in the chart) or even D-pad arrows (“D-Pad functionality redefine” in the chart) - you’d like to assign an application or some functionality to and, then, select it from a list. You can do this to all the possible states of the button: single-press, double-press, triple-press, press-and-hold etc. (when available in the given application).
In many programs, you can also quickly remove this assignment so that the original (one-press only) setting set in the system-level Buttons applet takes place over the one set in the button enhancer application. In the chart, I’ve also elaborated on this issue with all the tested programs.
1.3 Issues; problems when using button enhancers
Some of these applications aren’t without problems.
First, as some of them are always running (because it adds significant functionality not possible to handle via the standard button assignment functionality, which only executes the given program when the button is pressed), there is a remote possibility they will take up a lot of system resources; most importantly, CPU time and memory. Fortunately, this isn’t the case: all the apps that do have a resident, always-active module have little system resource usage. There was only one app that had enormous (over 800 kbytes) memory usage: the original PQz, of which PQzII is the greatly enhanced version with dramatically reduced memory usage (see THIS for more info on the differences if interested).
Second, as they might be too selfish, they may mess up the local (or, default) button assignments made in for example multimedia applications. Almost all media players and remote media controllers offer the capabilities of locally assigned buttons (for example, TCPMP in Options / Settings / Select page / Hot Keys; Resco Audio Recorder 4 in Action / Options / General / Buttons etc.) For example, if you assign a button to, say, fast forward, stop or switch off the screen, this setting may collide with that of button enhancer applications, which might result in funny and/or unwanted consequences.
While there are no such problems with the built-in button assignments or any application that solely uses the infrastructure already available in Windows Mobile (that is, applications that don’t have a resident memory module), the vast majority of apps do interfere in at least some of these applications. Actually, it’s only the two non-resident apps (namely, DoubleLauncher and HButton) that have absolutely no problems working together with these kinds of applications.
I’ve made several tests to find out the most problematic programs. To represent a standard multimedia player application, I’ve used the hugely popular TCPMP. This application has a, by default, disabled option of “unhooking” buttons so that global, system-level button settings don’t interfere in the program (because they can’t be used). In addition, I’ve used the latest Resco Audio Recorder series, which is known to have even more serious problems with almost all the programs running in resident mode: either the buttons that are redefined / reassigned in the button enhancer stop working, or the globally defined functionality is executed half of the times and the local one in the other half. Finally, three apps (buttonMax, BtnPlus and Vito ButtonMapper) even require to be completely restarted after exiting Resco because they just stop working. In the Chart, it’s in the “Overrides local keyboard assignments?” section that I’ve elaborated on these issues and the problems. As can be seen, PQzII is clearly the worst application in this respect because it even messes up TCPMP – even when you do enable button unhooking in the latter.
Other problems arise from models and / or buttons already supporting press-and-hold (that is, double) functionality; for example, the above-mentioned Pocket Loox 720 or the WM5-upgraded HP iPAQ hx4700. If you try to use a button enhancer app with hold mode, the two hold modes (that of the operating system and the enhancer app) can clash, as was the case with the TCPMP / Resco case outlined above. In order to find out how the applications behaved under these situations, I’ve also made some serious tests on my WM5-upgraded HP iPAQ hx4700. In general, it can be stated if the given enhancer application supports press-and-hold functionality, this functionality won’t work with buttons also having native support for this. As button enhancer apps relying solely on press-and-holding (HButton) can ONLY work when assigned to a button not having native Hold support, you will only be able to assign HButton to Button 5 on the hx4700.
This all means press-and-hold functionality will not work if the OEM's button driver already implements multiple keypresses or press-n-hold.
In addition, press-and-hold usually doesn’t work for red/green phone buttons, WM5 softkeys and the Ok button (when available) because the system returns both the "key was pressed" and the "key was released" events simultaneously right after the button was actually released so enhancer apps that, otherwise, support these buttons (for example, AEBPlus) are not able to decide if it was a long (press-and-hold) button press or not.
It’s on purpose that I’ve emphasized I’m speaking of individual buttons and not devices themselves. For example, on the hx4700, the Record (fifth, side) button doesn’t have a Hold mode; therefore, with external button enhancers, you can also use their Hold functionality, unlike with the other four app buttons. That is, you can use the hold functionality on devices that do have buttons without at least one non-hold key.
2. The reviewed button enhancer apps
2.1 PQzII (Keyboard Helper) 0.0.7b 20070725
This is a very-very advanced, free utility, mainly for users of handheld devices with a real keyboard built-in, but, as it also supports traditional application buttons, other Pocket PC users can also make use of it.
There are several versions of it: a generic WM2003 and WM5 (which is tailored for the HTC Universal, but can be run on any other WM5+ Pocket PC (phone)), one for the HTC Wizard and the HTC Hermes. While, currently, there are no specific versions for other / newer devices, once you learn how the configuration files are built up, you’ll easily make one.
It allows for redefining / overriding any buttons (even the two phone buttons, the D-pad arrows and the two WM5+ softkeys). Note that, on the Universal, the pretty useless Internet Explorer key (the one in the lower left corner of the keyboard) can’t be redefined (see THIS); the same stands for the Messaging shortcut (close to the IE key).
The main discussion thread of PQzII is HERE and the (pretty simple and hard-to understand) official documentation HERE.
What I recommend is that you don’t let the very bad set-up interface and the substandard docs of PQzII chase away. Once you learn how it can be configured, you’ll love it and find it one of the most powerful utilities, particularly if you also have a built-in keyboard (it supports a lot of, on desktop PC’s, well-known keyboard shortcuts like copy/paste, CTRL+LEFT = HOME, CTRL+RIGHT = END, CTRL+UP = PAGE UP, CTRL+DOWN = PAGE DOWN etc. – all a god-send for everyone editing / typing a lot of texts on his or her handset). Let me, again, recommend the mini-tutorials in the chart, which will give you immense help in discovering the capabilities.
Note that you can even enter ANY Unicode char with ALT keys; a related post is HERE showing other solutions & consequences.
Note that there is a similar product, AE Keyboard Mapper (also known as AEKMap), which I do not review here for several reasons:
it doesn’t support application buttons, unlike PQzII, and, after all, the subject of this Bible is application button redefining, not that of built-in keyboards.
you need to activate (=pay for) it to get, with button enhancers, basic functionality like assigning applications to an alphanumeric key. With PQzII, you get the same functionality for free.
the same developer, Alexander Eltsyn, also offers a product, AEBPlus, solely meant for application button enhancement and is far more powerful in this regard that AEKMap. I will review it in this Bible.
2.2 HButton 1.9.1
This is a revolutionary, outstanding application in that, unlike all the other reviewed tools, it lets you assign any number (!) or applications to a single hardware button. Before you ask what the point in all this is, and whether it’s indeed easy to remember that, for example, the particular app you would like to start is at the eighth or the ninth postion, the answer is really reassuring. When you keep the selector (hot) button depressed, it scrolls through the titles of the apps you’ve assigned to that particular button. Whenever you see the program you would like to execute, you simply release the button and it’s started. (There are variations of this theme. For example, you can solely rely on the very quick and discreet vibrations or beeps; if you keep counting them, you’l know when to release the button to start the particular app.
It has other goodies too. As its “virtual” buttons need to be manually assigned to the hardware buttons of your handheld in the system-level Buttons applet, there is no in-memory resident code taking up resources / CPU time all the time and/or interfering with some apps having local button assignments (see the discussion of TCPMP and Resco Audio Recorder). However, the need for an additional, manual step to assign these virtual keys certainly make the configuration lengthier and, at first, a bit harder to understand. Nevertheless, once you get a picture how this all work, you’ll just love it.
All in all, an excellent application, well worth using, particularly on Pocket PC’s with a severely limited number of available, configurable buttons (for example, the HTC Elf / Touch).
2.3 AE Button Plus 2.6
This utility, having come from the same author than the already-mentioned and famous AEKMap, is alos very strong. In addition to its strengths on the Pocket PC platform, it is unique in that it’s the one and only tool to support the MS Smartphone (Windows Mobile Standard) support. Note that the well-known SmartToolkit (of which a new beta has just been released) also offers some button reassining capabilities, but only lets for simple press operations, as opposed to AE Button Plus. As it still has some quirks and, no matter how nicely it redefines the start menu, you won’t necessarily want to use it (for example, I uninstalled it after a while because of the speed problems in accessing the Start menu – I’ve just found the traditional of selecting my (current) apps way considerably faster), I don’t discuss it separately in here. I will do this as soon as it receives better button support and/or a stable, non-beta version is released.
This is without doubt THE most powerful button enhancer application when it comes the built-in goodies like switching on the built-in camera LED to work as a torch (not compatible with current MS Smartphones, unfortunately), connection starting/stopping etc. (See their almost complete list in the “Additional utilities” row of the “Compared to Settings / Buttons…” group of the chart). Granted, most of these hacks are invented by XDA-Developers hackers and programmers (for example, well-known vijay555) but you will need to install several additional apps to achieve the same. With AE Button Plus, you get all this built-in, without the need for installing and configuring several tools onto your Windows Mobile device. This itself – and the very low price tag – also makes this tool really appealing.
This application sits resident in the memory (with the definite disadvantages coming from this fact; for example, it certainly clashes with both TCPMP and Resco Audio Recorder but, fortunately, not so bad as PQzII).
Finally, a BIG request to all software developers and hackers: as with HButton and PQzII, I didn’t know of this application before embarking on writing this Bible either. With PQzII and HButton, this is pretty understandable as HButton is a brand new project started late Spring and PQzII was almost only discussed in a single HTC Universal thread (in a device-specific forum). Needless to say, none of the three apps were entered into the Software Encyclopedia of Smartphone & Pocket PC Magazine by the developers. This, and the fact that they have been only discussed in not widely known subforums is why I haven’t nominated them for this year’s Best Software Awards (they ALL would have deserved the nomination.) Therefore, my humble request to ANY Windows Mobile developer & hacker out there is the following: if you feel you’ve written a tool worth mentioning / paying attention to, don’t hesitate to contact me via a private message on any Windows Mobile forum. I’m using the nickname “Menneisyys” on all of them and you definitely will find me as I’m a top poster on all Windows Mobile forums. DO send me a message when you have something up your sleeves – you’ll get a lot of promotion for free and your app may even get nominated for the Awards, generating even more promotion, if I find your app is worthy enough. And it’s all free for you, with little effort – just a private message, with a link to the thread of your product and a sentence like “Please check out my latest tool, you might find it useful”. This particularly applies to hobbyist developers like the one of all these three apps. It’s almost impossible to run into their apps unless you excplicitly read thorugh hundreds of related threads because they don’t register their stuff in on-line software directories like the PPCMag Encyclopedia (and, in there, in the Utilities / Button Enhancers category. )
2.4 Vito ButtonMapper 4.0
This is one of the very few apps that have a really decent and easy-to-grasp manual. Its particular strength lies in its stylus macroing abilities and, what is even more important, the application-specific button assigning capabilities, in which, currently, is unique. (The other button enhancer app to do offer the same capabilities, buttonMax, currently (as of 10 / 16 / 2007) still isn’t compatible with WM5 and later operating systems, which means it’s useless on the vast majority of currently used handhelds.) Therefore, it’s highly recommended if you do need app-specific configurations – for example, number input for Opera Mini (more precisely, the MIDlet manager running Opera Mini) etc.
Don’t forget that, as has already been pointed out, the app-specific functionality doesn’t work with some programs; most importantly, Opera Mobile (as opposed to Opera Mini, which works just great together with Vito ButtonMapper when running under a compatible MIDlet manager – all MIDlet managers of Esmertec, TAO and, on some Windows Mobile models, IBM J9 – but not with Jblend). This, as has already been pointed out, is very bad news for all Opera Mobile users. If you plan to use Opera Mobile and want app-specific button assignments only active when running Opera in the background, you simply won’t be able to do this with the current, final version of Opera Mobile 8.65. Sorry. This is definitely not a bug in Vito ButtonMapper as the other, app-specific-capable app, buttonMax, can’t run Opera either (I’ve thoroughly tested this under WM2003).
As has also been mentioned, stylus tap emulation macros can also prove really useful. As has already been pointed out, you will want to read the “Scenarios for using with ButtonMapper” section in the VITO ButtonMapper manual for some examples of how this can be utilized.
All in all, I highly recommend Vito ButtonMapper, particularly if you need either app-specific settings or stylus macros (or both). If you don’t need these functionalities at all, you may also want to check out the free PQzII, HButton or AEBPlus – they have different capabilities and may turn out to be better suited for your needs.
2.5 DoubleLauncher
This app, in addition to HButton, is the only app NOT to have an in-memory module but uses the default button handler, which is advantageous in some cases (see for example the cases of applications with local keypresses – for example, Resco or TCPMP). Otherwise, it is clearly inferior to the best, most recommended, and, what is more, free apps: PQzII, HButton or AEBPlus. As it doesn’t support app-specific settings either, it is inferior to VITO’s app, which costs the same.
Therefore, I only recommend this app if you MUST use an app that, as with HButton, uses the built-in Button handler infrastructure because of the incompatibility of other button enhancers with your specific apps having local button assignments. Otherwise, you should go for something better and/or free.
2.6 BtnPlus 0.21
(direct LZH link)
This is a long-abandoned project not really working on any WM5+ devices I’ve tested it on. Therefore, you may only want to bother with using it if you have an SH3 Pocket PC 2000 device (a HP Jornada 525/54x). It has an English language tutorial for example HERE.
2.7 buttonMax 2.10
This app, as of the (current) 2.10 version, doesn’t have support for WM5, which is a pity because, otherwise, it’s a real capable button enhancer with the same unique capabilities as VITO’s app.
2.8 Verdict – which one to choose?
The answer is pretty simple: one of the PQzII, HButton, AEBPlus (which are all free; you can, of course, activate AEBPlus but the vast majority of the functionality is available even without doing so) or the commercial VITO ButtonMapper. As these four apps have distinct feature sets, you must yourself decide what features you need and what you don’t. For example, if you only have one configurable button (and don’t want to override for example your phone / softkey buttons with AEBPlus) but want to assign at least 4-5 programs (or, in a broader sense, any functionality) to it, your best choice is HButton. If you need either stylus macros or app-specific button assignment capabilities, your only choice is VITO ButtonMapper (unless, of course, if you have a pre-WM5 device. Then, buttonMax may also be a nice choice.) If your handheld also has a built-in keyboard, you might find PQzII the best. Finally, in addition to its being one of the best Pocket PC button enhancers, MS Smartphone users will want to use AEBPlus as there’re no other button enhancers compatible with the platform.
3. Hands-on experience: Passing keypresses to Opera Mini / Mobile
Now, some advanced tools for all of you that wan to pass keycodes (that is, want to emulate the usage of any keyboard) to the running applications. This is, as has already been emphasized, VERY important for every Opera Mini and Mobile users not having access to a hardware dialpad or keyboard with easily accessible numeric keys.
As has been stated in almost all my previous, Web browsing-related articles (also) concerning Opera Mini and Opera Mobile, two top-notch Web browser applications (also) available for Windows Mobile devices, these browsers are best used on a touchscreen-less Smartphone (because they all have a numeric dialpad) or a Pocket PC with a numeric dialpad built-in. Examples are the latter are most ASUS models including the forthcoming, “HTC Kaiser-killer” P750 (see THIS and THIS) or the forthcoming HTC Touch Dual. Unfortunately, the vast majority of Pocket PC phones still lack a numeric keypad. While they, mostly, do incorporate (except for some rare and/or now-outdated cases like the P3300, P3600, P6300, the first Touch and the forthcoming P6500) a slide-out keyboard, using it to control the two browsers is far from optimal (you need to slide them out, adding considerable bulk to your phone and/or making one-handed operation impossible).
Just an example of how cool these shortcuts are. Assume you want to quickly make Opera Mini full screen (or vice versa). You only need to press the * button twice in quick succession. No long, tiring menu traversing. The same stands for Opera Mobile: it also has some very useful features (quick switching between opened tabs, switching off/on pictures with a keypress; quick switching between the default and the desktop view etc) directly accessible from a dialpad button.
Unfortunately, neither Opera Mobile nor MIDlet managers (programs that run Opera Mini) can make use of the, during using these browsers, unused Pocket PC application keys. (I’ve long been telling the Opera Mobile folks to implement this functionality but, so far, they have had better things to do. Not that the competing browsers would all support configurable application buttons: the lack of support for this is still one of the biggest problems with even the latest previews of NetFront 3.4). It’s here that I come into the picture and explain exactly what you need to do.
Again, this tutorial only applies to you if you do NOT own a touchscreen-less MS Smartphone or a Pocket PC with a dialpad (or, if using the numeric keys on your full keyboard is OK with you – again, it wouldn’t be with me because of the awkwardness of slide-out keyboards, particularly when you browse the Web in Portrait mode).
In order to be able to assign at least the most important functionalities (for example, page up/down, quick selection list of active tabs, full screen vs. non-full screen mode etc) to the 4…7 (which can be doubled or even tripled with the tools I’ll also introduce) application buttons a typical Pocket PC has, do the following.
First and foremost, decide what they need to control. Do you need to control Opera Mobile or Mini?
3.1 Controlling Opera Mini
If you want to control the latter, do you have a MIDlet manager that CAN be controlled from the outside? (All can be, except for Jblend and, on many devices, IBM J9, which can only receive keypresses from PQzII, as is also explained in the “Can you use an external tool (MortScript's SendKeys, VJKeyPress or PQzII) to "inject" keypresses into the emulator?” row in the MIDlet Bible chart) If you need to stick to PQzII (because you have to use Jblend or IBM J9 on a device which doesn’t support MortScript), can you live with the lack of the “*” character? Can you switch to an in this regard (too) better MIDlet manager; most importantly, Esmertec Jeodek or Jbed? If you can, you won’t have problems with running MortScript, which allows for sending * characters.
Let’s take a quick glance on the different configurations and its capabilities:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
As you can see, there are the following possible configurations:
Any (including the default, system-level Button applet without any third-party button extender) button extender along with either MortScript or VJKeyPress to send any chars (with MortScript) or numeric chars (with both MortScript and VJKeyPress) to the MIDlet
PQzII to send numeric chars to the MIDlet: the only choice when you use Jblend or, in some cases, IBM J9
Also note that, should you want to prefer application-specific button assignment with VITO ButtonMapper (where, in what other Windows Mobile app could you use for example your 2/8/*-injector button shortcuts?), you must be aware of the fact that only the Esmertec and the TAO MIDlet Managers allow for this; IBM J9 has never worked for me. This is also explained in the “Selective (app-specific) button assignment for input with VITO ButtonMapper” row in the MIDlet Bible chart.
3.2 Controlling Opera Mobile
As Opera Mobile doesn’t require an additional MIDlet Manager (all with different compatibility issues) AND you can freely reconfigure input.ini so that you can get rid of the need to use * / #, your choices are far better than with Mini. The only exception is that Opera Mobile doesn't support selective button assignment.
3.3 Writing and deploying external scripts
Assuming you don’t want / don’t need to use PQzII (where just follow the mini-tutorial in the last, bullet starting with “Code conversion” in the “Other niceties worth mentioning” row), let’s see how you can pass any numeric characters (with VJKeyPress) or, even better (but decidedly slower), any char (including, for Opera Mini users, the very important * and # characters) with MortScript. Let’s start with the latter.
First, get the free (!) MortScript. In the ZIP file, just install \setup\MortScript-4.0-PPC.exe. After this, you can just copy your MortScript script files (on which I’ll promptly elaborate on) to anywhere under \Windows\Start Menu\Programs; I recommend a subdirectory so that they don’t cause a chaos because of their high number.
Now, let’s take a look at what MortScript files need to be used and how. First and foremost, all these scripts do is sending a (virtual) keypress to the currently focused application when they are invoked. If you execute them through an application button press, the given key code will be sent to the browser, which will, consequently, think it has arrived from a real dialpad (or keyboard) button.
Assigning a script to a hardware application button is easier than you think. If you don’t use any button enhancer application, you just copy the MortScript script files to somewhere under \Windows\Start Menu\Programs, go to Settings / Buttons, select the application button you’d like to assign the given functionality to and, finally, select the script file. This is exactly the same as associating any functionality with any hardware button. You only need to make sure you select the right script file. For example, if you want to send double asterisks (to quickly switch between full-screen and non-full-screen Opera Mini modes), you’ll need to assign SendDoubleAsterisk.mscr to a button. If you want to send the button press “2” (“Show window list” in Opera Mobile and “Page up” in Opera Mini), you’ll need to assign Send2.mscr to a button and so on.
The names of these files speak for themselves – you won’t misunderstand them. If you do, just take a look at the argument of SendKeys in it. There will be just one (or, with double asterisk sender scripts, two) characters in the argument of SendKeys like in SendKeys(“**”) or SendKeys(“2”). These instruct MortScript to emulate a double asterisk and a single “2” keypress respectively.
Now, let’s see how the same is done with the decidedly faster (it doesn’t have a full script parser and is only a “lightweight” app with the sole aim of emulating virtual keypresses) VJKeyPress (also see the related thread if interested; not obligatory). As it’s only able to pass Virtual Key codes, which means it in no way can pass for example asterisks or any non-alphanumeric characters (VK_MULTIPLY doesn’t equal to “*” and, therefore, won’t work), unlike MortScript.
Of course, you can do a lot more with MortScript (just some REALLY useful examples HERE and HERE) but, in cases, you just won’t need them. In addition, you can use the two keypress simulator utilities at the same time: just assign “real” alphanumeric buttons to VJKeyPress (so that you have speed) and non- alphanumeric buttons to (the slower, but more capable) MortScript.
Invoking VJKeyPress is very simple: you just create a .lnk file with the contents 250#"\Program Files\vijay555\VJKeyPress\VJKeyPress.exe" <keycode> (where you’ll find the numeric keycodes for all the passable parameters HERE; as can be seen, for example, if you want to simulate the button press of 2, you must pass VK_2, that is, 50 to VJKeyPress) and just assign it to a hardware button. As it’s a link file, you won’t have problems with third-party button enhancers not capable of doing so with MortScript’s native .mscr (no-link) files. Unfortunately, all button enhancers are like so, except for the excellent, highly recommended, free PQzII.
3.4 Creating direct MortScript .lnk files
To create an additional link file for your .mscr (MortScript script source) files (again, unless you use the built-in Buttons applet to assign your scripts), you’ll need to create a lnk file with the content like 240#"\Program Files\MortScript\MortScript.exe" "\Windows\Start Menu\Programs\MortScript\Send2.mscr" , where the second string contains the filename and the full path of the original .mscr script file.
For your convenience, I’ve created an archive of all these example files for both MortScript and VJKeyPress. The archive file is HERE. Just assign the scripts or the LNK files to a hardware app button and see how immensely they help users of Windows Mobile devices not having a dialpad at the front!
3.5 Some Opera Mobile / Mini Button Shortcuts
Finally, let me present the list of what functionalities you might want to assign to a hardware button.
Opera Mobile:
1 = Open url
2 = Show window list
3 = home (full up)
5 = Toggle images (needs reload / open new window / URL)
6 = page down
8 = Cycle to next window
0 = help
* = Enter fullscreen | Leave fullscreen
# = Enable mediumscreen mode | Disable mediumscreen mode
Again, note that these are the default shortcuts; you can override them by editing input.ini, as has been explained in some of my past articles.
Opera Mini:
See THIS (incidentally, this chart is highly recommended for Opera Mobile users as well!). Note that it contains info on the first beta of Opera Mini 4; the current OM4 beta 2 also added the shortcut button 1, which brings up a submenu, where you can quickly change between fit to width and full layout modes, reload the page and get page information. It also offers a Link context menu, which allows for opening a given link (you can force it to do this without images) and getting information.
4. Not real (and, therefore, not reviewed) button enhancers (menu apps)
4.1 HotButton Plus 3.0
This is not a button launcher, “only” a commercial ($9.90 with a 14-day unrestricted trial) menu app with quick switching between apps. In this regard, it’s a bit similar to HButton. It also supports quick dialing. Note that it’s PPC Phone Edition (WM Professional) only; with PPC’s, the hacked SMS/Phone DLL’s (see the “Platform compatibility: non-phone PPC” row in the MIDlet Bible chart) don’t work.
5. The chart
It’s HERE. Make sure you check it out – again, don’t forget that a chart like this is worth a hundred thousand words. Make sure you spend some hours on digesting the immense amount of information in the chart, should you want to learn a lot of nice tricks you may have never thought of before – it certainly pays off. Also, don’t forget the chart links in several screenshots (which I haven’t done in this review to, visually, “reduce” the already huge size of it) – you might want to check them out.
6. Related (old, outdated) articles, threads
Review of four button launchers (note that there is another version, but it lacks for example the Passthrough screenshots)
Button Mapping Program for WM2003?
Vito Technology's ButtonMapper Reviewed by PocketNow (original, linked article)
UPDATE (10/21/2007): After publishing the Bible, Spb Pocket Plus 4.0 was released. It has received a brand new and pretty cool button enhancer module as well, along with tons of very nice, other enhancements; for example, a greatly enhanced Internet Explorer plug-in (see THIS for more info). It supports hold mode but no other modes and uses the system-level Button applet; however, it also allows for redefining the OK button (but no softkeys / phone buttons / volume buttons or slider). It offers no goodies like app-specific settings, additional input chars etc. It sports several additional system goodies and provides access to all system settings applets. All in all, while it's certainly not the most feature-packed button enhancer, taking the indeed high-quality and very useful (albeit a bit buggy, but these bugs will surely be ironed out shortly) other modules and features of the suite, I highly recommend it. Again, unless you want advanced button enhancement features only other apps offer.
Note that I’ve added a new column on the app in the chart.
Other news / additions
As opposed to what I've stated, it’s possible to override the Internet Explorer button on the keyboard of the HTC Universal; see THIS. However, it’s not known whether it’s possible to do the same with the also hard-wired Messaging button.
There are some very nice and useful uses of the more advanced button enhancers; for example, passing Page Up / Down. If you’ve ever used water’s SmartSkey (one of my favourite tools), you know it has redefined (in addition to the WM5 softkeys) the volume slider of the Wizard / Universal on the non-Today / non-Phone screen to send Page Up / Down events to the active program. This can be overly useful in programs like Web browsers. To find out whether the tested apps are able to do so, check out the “(Additional) keyboard / D-pad emulation?” and the “Volume buttons / slider redefinable?” rows. The latter show whether the slider / volume buttons can be redefined. Of course, if they can’t be, you can still send PgUp/PgDn events to your apps – just assign them to another (supported and existing) hardware button. Also see THIS for more user reports / opinions on this feature.
I’ve added a new row, “Does it override (ignore to take into account) the global lock setting?” on the behavior when locked. As the vast majority of the button enhancers use their own code to access the buttons, some of them (for example, PQZ) doesn’t adhere to the locked state and will, therefore, execute the assigned app even in locked state, which isn’t necessarily what you want. See for example THIS for more user posts / opinions on this matter.

TUTORIAL: Mass-deleting PIM (calendar / contact / task) data

Now that I’ve published my quick tutorial on mass-deleting / marking (un)read mail items in all mobile operating systems I’ve just been asked by my blog reader natestera on how the same can be done under WM5+ to PIM ("Personal Information Manager") data like calendar (appointment) info, contacts and tasks.
I’ve already elaborated on this subject in some forum posts and articles some two or three years ago. As, in the meantime,
WM5 has changed the way contacts can be mass-deleted in its built-in Contacts client (read: it no longer offers mass-selection/deletion capabilities; note that it didn’t change the way tasks and appointments are handled, though. That is, it didn’t introduce mass-selection / deletion capabilities to appointments and it didn’t take away the mass (incl. Ctl + A) /block selection capabilities of Tasks);
SKTools, the, in my opinion, best all-in-one system tool, received mass deletion capabilities; so did the brand new and, what is more, free PIM Backup;
some third-party PIM handler applications also received (some) mass-deletion capabilities and
my previous tutorials didn’t elaborate on the touchscreen-less MS Smartphone platform, only Pocket PC’s,
I found it necessary to publish a brand new, all-in-one tutorial on all these questions.
Note that this tutorial both elaborates on Pocket PC’s (with a touchscreen) and touchscreen-less MS Smartphones. Section 1.1, 1.2 and 1.3 all apply to both operating systems. It’s only Chapter 2 (see Section 2.1 and 2.2) that separately discusses third-party PIM replacement applications for the two platforms.
1.1 Built-in Windows Mobile PIM apps
First, let's take a look at how the built-in Windows Mobile applications show PIM data and whether they allow for mass selection:
1.1.1 Pocket PC’s
Appointments:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(Tools / Options doesn’t have anything like this either: 1 2)
Contacts:
As can clearly be seen, starting with WM5, the contact list is not a simple, textual list any more; this may be one of the reasons why, for example, Ctl+A (on the on-screen keyboard or with external apps like AEButtonPlus capable of generating "Select all" events) or traditional block-selection keyboard shortcuts (usable from external keyboards or built-in thumbboards) don’t work any more – unlike with apps (still) based on the usual list view (like, for example, File Explorer Mobile.)
(No mass-deletion in the contact options either.)
On the touchscreen-based Pocket PC’s (but NOT on Smartphones – with the latter, not even hacks like that of AEButtonPlus work), it’s only with Tasks that mass selection (with either the stylus or Ctl-A on the on-screen keyboard) is possible:
Of course, answer Yes to the question:
1.1.2 MS Smartphones
As far as the MS Smartphone platform is concerned, the situation is equally bad with Contacts and Calendar:
and definitely worse with Tasks: unlike with Pocket PC’s, you can’t mass-delete your tasks in there. Yes, not even with "Select all" button hacks like AEButtonPlus.
1.2 Third-party tools for mass-deletion
If you do need mass deletion capabilities and you don’t want to go for a complete, PIM deletion-capable PIM replacement (or, desktop-based deletion), your best choice will be either the very capable and nice, but commercial SKTools and/or the free, but still very capable and useful PIM Backup.
Also note that, for example, MemMaid (another, excellent generic maintenance utility) also offers PIM database emptying features. As I consider MemMaid less featureful than SKTools and generally prefer the latter to the former, I don’t elaborate on it in this tutorial – I only stick to SKTools and the free PIM Backup.
1.2.1 SKTools
S-K-Tools is an all-in-one system cleaner application with quick PIM deletion capabilities. It’s available for both Pocket PC (equipped with a touchscreen) and touchscreen-less MS Smartphones. Note that it’s a commercial application; if you "only" need PIM data deletion and you are absolutely sure you won’t ever need the other (excellent) features of SKTools, you will want to prefer PIM Backup (see section 1.2.2) instead. Not that SKTools would be that expensive: actually, it’s very cheap, well worth the money.
First, go to View / PIM:
(note that I only show you MS Smartphone screenshots in here; in general, you need to do the same on touschscreen-enabled Pocket PC’s.)
Go to "Delete PIM information":
Check the PIM category you want to clean up; in the following screenshot, it’s Appointments:
Select Action/ Delete:
Answer Yes to the question coming up:
And, then, No (!!!) to the next one (NOT Yes!):
Note that you can delete more categories at once:
1. If you want to delete everything, just select Action / Delete All
2. If you want to delete the contents of several categories at once (but not all of them), tick their checkbox like in here:
3. and select Action/ Delete Marked.
1.2.2 PIM Backup
I’ve elaborated on PIM Backup’s cross-device PIM transfer capabilities HERE, along with those of SKTools. Fortunately, (as of version 2.8), it already supports emptying these databases too. As PIM Backup is free, it’s an excellent choice for mass deletion operations like this.
After downloading the app, transferring the single EXE file to your handset, running it and it firing up (the latter can take a while), you’ll be presented all the PIM databases. Go to Options / Delete All:
and select the category you’d like to empty. Answer Yes to the question:
After the deletion has successfully completed, you’ll be presented a success message:
PIM Backup, of course, also works on the MS Smartphone platform as well; an example result of the above Appointments deletion is as follows:
1.2.3 What about Pocket dbExplorer 3.0 ?
Pocket dbExplorer was one of my favorite system hacker tools back in the pre-WM5 days. Let’s take a look at the brand new, 3.0 version, which is already compatible with WM5+.
Unfortunately, it still isn’t able to empty databases, "only" view / modify / export / backup / delete these databases. However, as you may need the latter functionality (it can prove pretty useful in other cases), I still elaborate on it. (AGAIN, you can NOT use it for deleting PIM info – "only" manipulating / exporting / transferring it! This section is only for hackers and geeks!)
First, in order to be able to access these system databases, you must click the "Object Store" drop-down list in the upper left corner and select "Open External Volume...":
Now, double-tap pim.vol:
You’ll be taken to its internal database list:
Unfortunately, you can, NOT empty them:
Deletion gets rid of it completely as can also be seen in THIS screenshot.
Note that you don’t need to check in the "Show system databases" checkbox in Tools / Options.
1.3 Mass-deleting PIM info on the desktop
You can also delete your PIM data on the desktop – if you do synchronize your PIM stuff to your, say, Outlook on your desktop, you can easily mass delete your stuff in there. Fortunately, Outlook allows for mass PIM deletion – also including appointments.
After you delete your useless PIM info on the desktop, the next ActiveSync / (on Windows Vista,) Mobile Device Center synchronization will make sure these records will also be deleted on your handset.
2. Mass deletion capabilities of third-party PIM applications
Several Windows Mobile users use third-party PIM applications like Pocket Informant / Agenda Fusion on the Pocket PC and Pocket Informant / Agenda One / Papyrus on the MS Smartphone, let’s take a look at how these apps handle mass deletion. Note that you will NOT want to use these, in most cases, pretty bloated (albeit VERY useful and capable) apps if you "only" want to delete your PIM stuff – SKTools or, even better, PIM Backup is far better suited for "simple" PIM data cleanup.
2.1 Pocket PC
2.1.1 Pocket Informant 8.02
Contacts (and tasks - but, again, you can do the same in the default Tasks application of Windows Mobile Pocket PC!) can be easily mass-deleted after selecting them all (or a block of them) with the stylus:
While, in the default calendar view, it can’t delete more than one appointment at a time, you can easily do this in the powerful Search View. (Also see page 54 (Search View (SV)) in the PDF manual HERE). It’s really powerful and customizable; note that you can search for an empty string (or, an asterisk (*)) if you want to list everything:
Note that the above screenshot shows all kinds of PIM data, not only Calendar. Should you want to stick to Calendar data only, make sure you untick the Tasks etc. icons in the upper toolbar before (re-)running the wildcard search; then, only the Calendar items will be listed, ready for mass-selection with the stylus (or, if you want to quickly select everything, Ctl-A on the on-screen keyboard):
2.1.2 Agenda Fusion 8.60
In Agenda Fusion, you can mass-select Contacts and delete them in one step:
You can’t, however, do the same to appointments or tasks; they need to be deleted one-by-one:
(Of course, as the operating system supports mass-deleting Tasks, the latter isn't really a problem - always use the built-in Tasks in Windows Mobile to delete these tasks.)
2.2 MS Smartphone
Unfortunately, the situation (compared to that of the Pocket PC) is much worse with the MS Smartphone platform: the three leading PIM suites, Pocket Informant, Agenda One and Papyrus, don’t offer mass selection / deletion capabilities at all or don’t really support mass-selection using built-in dialpads / keyboards. The "Select All" hack of AEBPlus, explained in my previous, mail deletion article doesn’t work with any of them, either.
2.2.1 Pocket Informant 8.02
As with the PPC version, you’ll need to go to the Search View so that you can mass-select any kind of PIM info:
Unfortunately, I couldn’t find a way on my HTC Vox (s710) to highlight more than one element in the list when only using the built-in dialpad or the QWERTY thumbboard (again, Shift did not work as expected – this, however, doesn’t necessarily mean it won’t work with Motorola / Samsung Smartphones, though). However, with an external keyboard (tested with Pocket Controller; should also work with BT keyboards like the iGo StowAway one), it does work as can be seen in here:
(in here, I’ve mass-selected four items)
Unfortunately, my (multiple – deleting both tasks and appointments) deletion attempts resulted in a crash:
I'm pretty sure the developer will fix the latter bug and adds mass selection capabilities using the numeric dialpad - together with, say, #, as is the case with Symbian S60 smart phones without a dedicated Pencil key.
2.2.2 Agenda One 8309
The (pretty extensive) Options doesn’t offer this either:
(The situation is the same with the Tasks / Calendar view.)
Shift + cursor doesn’t work with external keyboards, unlike in Pocket Informant.
2.2.3 Papyrus 1.3.17
I didn’t find a way to mass-delete appointments or tasks (the app doesn’t handle contacts at all). You can only delete them one by one by selecting it and, then, selecting Delete. Shift + cursor mass selection doesn’t work (unlike in Pocket Informant) with an external keyboard either.
UPDATE (later the same day): there’s another, brand new utility to clean up the PIM data on WM5+ devices, PocketOutlook Eraser. As of current, 1.1 version, it requires Compact Framework 2 (CF2) to run. CF2 is integrated into WM6 devices – but not into WM5 ones. You’ll find the CF2 installer CAB file HERE. Also note that, as opposed to the initial version, it already creates a link to the main executable.
(WM6 Smartphone screenshot)
(WM6 VGA PPC screenshot)
(Thanks to my blog reader John for the heads-up!)
Note that DotFred's PPCContactsMgr (see http://www.freewarepocketpc.net/get-ppccontactsmgr-v1-6.html for download and http://forum.xda-developers.com/showthread.php?t=283413 for more info and the original thread) also allows for (mass) contact deletion.
i also have this
http://oldsap.blogspot.com/2008/06/os-clean-calendar.html
although it's only for Tasks and Appointments sir
very good post! thanks for taking the time to write such a thorough text.
oldsap said:
i also have this
http://oldsap.blogspot.com/2008/06/os-clean-calendar.html
although it's only for Tasks and Appointments sir
Click to expand...
Click to collapse
Thanks, will also mention this in the following update.
thanks for the info...
btw those are some mighty big screenshots
absorber786 said:
btw those are some mighty big screenshots
Click to expand...
Click to collapse
Yup, generally I take large, nice VGA screenshots
Menneisyys said:
Yup, generally I take large, nice VGA screenshots
Click to expand...
Click to collapse
Just wait until the Touch HD screen shots start popping up, now those will be big
Dave

REVIEW: TSMobiles: Terminal Service Client for Mobiles

I’ve long been promising a review of a multiplatform (Java-based) RDP client, TSMobiles (as of version 2.3.14) for quite a long time. Now that I’ve tested its brother, Remote Desktop for Mobiles (RDM+), I’ve decided to give a try to this app as well.
Note that this is a terse, technical, comparative quick review requiring you to understand the contents of my Windows Mobile Remote Desktop Controller Bible. Therefore, I won’t elaborate on, say, the RDP protocol itself, its advantages and disadvantages when compared to other protocols etc.
I’ve tested it on both QVGA and VGA Pocket PC’s and MS Smartphones. It should, essentially, work on Symbian S60 devices exactly like on the MS Smartphone platform; therefore, I didn’t separately test it on my Nokia N95. I haven’t run tests on my Blackberry either – essentially, the BB client must be far less different from its generic (non-BB-specific) Java brother than in the case with RDM+.
As it’s strictly Java-based, you’ll need a MIDlet manager to run it. See my MIDlet Bible for more info. I’ve tested it under the latest, most recommended Jbed version, JRebeiro_EsmertecJbed_20071119.3.1, reviewed HERE.
First, some benchmarks.
Benchmarks
As opposed to the official TSC (pre-WM6) RDM (WM6) client developed by Microsoft, it’s quite sensitive to smooth scrolling and other types of animations. Benchmark results:
Smooth scrolling (1sec): 2.8k/5.6M (!!!)
No smooth scroll (0.5 sec): 2.8k/1.1M
It’s still way better than NetOp Remote Control 9.0 by Danware and the RDP4-only Mocha Remote Client 1.2 by MochaSoft in this respect, though.
As opposed to RDM+:
Here, the mouse pointer does hover
It uses the entire screen estate (no visible menu / operating system bars)
There’s no context menu by click-and-holding the screen. However, you can bring it up any time by clicking the (relocatable) menu icon; it’s in the center right area in THIS screenshot (the shot also displays the menu)
As can also be seen in the above shot of the menu, only the usual keyboard shortcuts are available in the menu. Their list is HERE
you can send over function keys and the like by enabling Direct input. Then, thumbboard character (but NOT special character, including Enter and delete! Cursor keys and Space do work) input will be handled as textual, direct input. Clicking the screen brings up a quick selector band at the bottom, which lets for sending special keys
No configuration capabilities – for example, you can’t configure it not to use 8-bit color depth. In this respect, it’s different from the RDM client too.
There are (numeric) dialpad shortcuts, making work (for example, left/ double left / right clicks, zooming in/out, bringing up menu etc.) much easier. It works just great!
No file transfer capabilities
Also see the advantages (no need to install another server on the desktop) and disadvantages (resized desktop, locking the user out, pretty much limited usability in a corporate environment because of the lack of HTTPS encapsulation compatible with mobile clients etc.) of the RDP protocol itself
Compared to the built-in RDP client (Remote Desktop Mobile (RDM) – not to be mistaken with SHAPE’s own, commercial RDM+ controller!) of (most) WM6 touchscreen-enabled phones,
Cons
impossible to use higher color depths than 8 bit (unlike with RDM)
much worse keyboard support (should you need to enter a lot of text, this can be an issue – then, stick with RDM). With RDM, all thumbboard keys work as expected (Enter, Del etc.); in TSMobiles, they don’t. Tested on both the HTC Universal and the HTC Wizard (Pocket PC’s) and the HTC Vox / s710 (MS Smartphone). Incidentally, on the latter, you can’t use the multifunction keys (for both alphabetic and numeric input) - a very common problem with Smartphone apps running on the Vox.
no sound support (RDM screenshot)
very sensitive to smooth scrolling and animations (huge bandwidth usage & major slowdown)– make sure you disable them all
no copy/paste (automatic clipboard synchronization) between the remote desktop and the mobile client
Pros
it has a built-in traffic meter
has a dedicated console mode. In this respect, in theory, it’s WAY better than RDM (let alone TSC). In order to make it work, make sure you tick in “console section” in the account setup dialog as can be seen in HERE
Note that you need at least Windows Server 2003 (Version 5.2 of the underlying RDP protocol) or Vista (6.0) for this to work; regular Windows XP doesn’t support this. If you need console mode on XP, go for, for example, RDM+, which does offer it. Also note that, with Vista, console mode didn’t work for me for some reason.
Able to send over any special keys (including function keys), unlike RDM
QVGA compliance
(The above screenshots are all VGA; therefore, let’s see how TSMobiles behaves on QVGA devices):
On QVGA devices (as opposed to VGA ones, where, due to the remote desktop’s also being VGA, there’s no need at all for zooming in), the menu also contains a “Zoom in” item:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
In the zoomed-in state, you can both use the on-screen arrows (as with the PPC / touchscreen Symbian / Palm / iPhone(?) version of RDM+) and the D-pad for quick scrolling.
Also, as with the non-Pocket PC clients of RDM+, you can redefine the D-pad-based scrolling by switching to the “Scroll mode”:
As you can see, the touchscreen is utilized by default by the program.
(QVGA) MS Smartphone compliance
Works OK on MS Smartphones. You’ll need to use the “5” key to bring up the menu:
The other keypad shortcuts are as follows (note that they’re usable even on a Pocket PC – if it has a dialpad or a full QWERTY keyboard; tested this on the HTC Universal and worked OK):
[1] - Left mouse click
[2] - Left double click
[3] - Right click
[6] - Left click and hold
[4] - Selecting and sending keyboard shortcut from list
[8] - Zoom In
[9] - Zoom Out
[*] - Turning on scroll mode
[0] - Selecting and sending keys sequence (entering text string)
[#] - Opening/Closing Control keys menu
All in all, it works OK and pretty fast on the MS Smartphone platform as well.
Note that, on the MS Smartphone platform, it isn’t affected by the screen bug of all Jbed versions – unlike, say, the Gmail MIDlet. That is, you won’t need to try to use the full screen Jbed 3D hack explained HERE.
Important Vista note: you MUST log off before logging in with TSMobiles!
At first, I had severe problems with connecting to Vista and the FAQ of TSMobiles didn’t help either (other than starting it has become Vista-compliant as of version 2.3.11). After trying to connect, it just announced it can’t: it displayed a “Received disconnect” error message. (Incidentally, I’ve also tested the heavily outdated and in no way recommended Mocha RDP client (version 1.2); it didn’t work either – but, of course, I didn’t even expect it to work, it being based on RDP4 only (dunno if RDP4 is phased out in Vista – I think it already is).
Of course, RDM worked (just like XP’s / Vista’s built-in RD client) just great with exactly the same remote Vista desktops. So did TSC in WM5. I’ve tested this on two different remote Vista desktops, one of them running Vista Business, the other running Vista Ultimate, with both firewalls and virus protection apps enabled and disabled – no success, while, again, the RDM client worked just great.
Fortunately, finally, I found out what the problem was: you MUST log off your Vista account so that TSMobiles can log in. Then, it works just great:
This is, in my opinion, a major problem with TSMobiles, which should be addressed promptly.
Note that the console mode didn’t seem to work with Vista.
Verdict
While it’s certainly way better than the pre-WM6 TSC’s (unless you use the well-known vijay555 full screen hack to fix one of its major problems: the lack of a full screen mode), it has little advantage over the built-in WM6 client, RDM, in the new version. If you already have RDM, you might want to stick to it unless you really need the special features of it (console mode – if it does work, that is -, special characters, ability to send more sophisticated mouse actions etc.). In generic use, I’d stick with the default RDM, particularly if you count in the VERY high price ($35) of TSMobiles.
On touchscreen-less phones (including MS Smartphones, Symbian and BlackBerry phones), the situation is pretty much different: on them, it’s already a decent alternative if and only if you MUST use RDP to access a remote desktop. If sticking to RDP isn’t a must, I’d go for RDM+ instead because of the vastly superior feature set (file transfer, less data usage, usable through firewalls, not that restrictive a protocol etc.)

Categories

Resources