Floating context menu in WM6 Standard (smartphone)? - Non-Touchscreen Windows Mobile Other

Hi - I have searched and searched, but can't find the answer: how do you bring up the context menu (ie. right-click menu on the desktop; tap&hold action on Pocket PC) on a smartphone?
I have a T-Mobile Shadow (HTC Juno), but every button I try to "hold" just activates its "single press" function. I might have assumed that the Smartphone OS does not include support for a context menu, except I read somewhere that it was assigned to one of the hardware buttons on the HTC Tornado, and when using MyMobiler (remote keyboard/mouse app, kind of like VNC for the smartphone) I am able to right-click on screen items to bring up context menus. Obviously these menus exist, especially because WM6 has a (mostly) unified application platform, and many otherwise PPC apps make heavy use of the tap&hold menu function.
Digging around in the registry, I found the following key:
HKLM\Software\Microsoft\Shell\Extensions\ContextMenu\{CCCB31A5-8BA0-11d2-8C2F-00C04F72E246}
As well as a "ContextMenus" (plural) key in the same area that contains sub-keys for ActiveSync, AppView, Calendar, Contacts, Inbox, Notes, Phone, PicturePicker, Pictures...
...so clearly even many of the built-in smartphone apps include support for context menus.
I'd like to assign the context-menu functionality to my Shadow's hardware key, which probably means I need to create a shortcut file (.lnk) that activates this extension. Does anybody know how to do this? The PPC hardware button architecture is different; it uses a DWORD "Flags" value of "0B" for the context menu.
Anybody? Being able to bring up the context menu makes applications like Total Commander much easier to use. Please don't reply and tell me that there's no such thing as a floating context menu on the Smartphone OS, because I've disproven that.
(cross-posted at MoDaCo here: http://www.modaco.com/content/HTC-J...ting-context-menu-in-WM6-Standard-smartphone/)

there aren't context menus on smartphones

That's a funny one. Seriously, install MyMobiler and try right-clicking in on the Smartphone interface with your mouse. You'll get context menus.

Related

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.

Handling context menu

Hi again, sorry but I've got another silly questions that refrain me from sleeping and I haven't found better place to put it.
Namely, could someone explain how the wince system handles context menu and what is needed (components and registry entries) to display it ? I mean the context menu when you double-click desktop / hold stylus or for example on a file.
Thank You very much Your answers and sorry if the post is in wrong place.
each program handle their own contex menu
if they manage it by reg's or hardcoded or an xml file
depend on the programmer
Yeah, U right, that I know, but I am looking for the mechanism in windows core / mobile - these standard context menu like for desktop and files (that's probably explorer context menu). I am trying to figure out having an "opened" gps device with windows core, some are stripped so much that are lacking the context menu - u hold the stylus, dots are appearing and nothing happens. I am looking for a way to restore the abilty to call / display the context menu (the standard one given us by BIll) So far I guess it must be regulated by explorer, am I right ?
I am not quite sure what you are trying to do, but if you are trying to add some stripped functionality to a PNA (navigation only device) via registry you are wasting your time.
If it is not there you ether need to find and install an app that will replace it or you are out of luck.

Question for WiMo Standard developers -- Intercepting keystrokes

This question is for WiMo Standard developers. I am a Windows .NET developer willing to learn more of this platform if you guys think this is doable and relatively simple.
Do you think it's possible and would you say it's relatively easy to implement a "dormant" application (in the Windows desktop world, this would be a service or any other type of TSR application) that intercepts keystrokes (interrupts?) and sends to the OS another keystroke defined in some sort of mapping configuration?
What I'd like to have (or be able to build) is an application that will intercept a keystroke like Fn+A while typing text and type á (or Á, depending on whether I'm writing in lower or uppercases). If I don't release Fn, but press A again within a second or so, then replace that previous letter by à (or À) and then by â (or Â), etc. Just toggle through all the foreign characters that resemble the letter A (configurable through a GUI or even a configuration file) until the Fn key (or Ctrl, etc., depending on the device) is released. Most QWERTY WiMo phones do this, but not all and the Samsung BlackJack II (i617) is an example. That is really my biggest complain with this phone and I'd love to overcome it.
Keep in mind that, although this may seem like an easy task at first, there are many things to take into consideration. For example:
- The application should only work when the device is accepting text input, not when it's in the home screen, a menu, etc.
- The application should be able to handle more than one mapping per key combination.
- The application should be able to delete the previously written character if Fn was not released and the second key was pressed again and a new mapping was found (á, backspace, à, backspace, â, release Fn, done!).
- The application should be able to determine whether the next letter was supposed to be lower or uppercase and return the correct character.
- The application should become friendly with T9 if enabled (or disable itself if T9 is enabled; I personally wouldn't care, since I always disable T9).
TIA for your feedback!

GUIDES [WM]: How to Increase Battery Charge Life (On Android - Pre"Android Guides")

GUIDES [WM]: How to Increase Battery Charge Life (On Android - Pre"Android Guides")
DO NOT POST IN THIS THREAD BEFORE READING THE WHOLE POST
PLEASE ADD GUIDES TO COMMON ISSUES YOURSELVES
I decided to open this thread as i saw a lot of people having the same problems. this might help with the "search" issue.
I will try to be as precise as possible while writing the guides so that when you search for something you will find it.
I will dedicate 1 post per guide as to keep everything as neat as possible (if you have comments about any of the guides.. or want to add something, please pm me).
the thread will not be closed but i urge you to post only if you have a guide to post.
also, if you decide to post a guide, please keep the guide as neat as possible, with a title containing the common searched words so that people who look for it can find it easily. (if you can, use the same color (dark orange) and same size (4) and Bold.. for the main title.. tho that's not a must )
I volunteer in a community which helps deserted/hurt animals.
i ask you to open your hearts and donate if you find any of these guides useful. I will work hard on these guides and supply as many as i can to draw as many donations as i can. whoever donates will be listed in this very post.
all donations go to that service.. as my paypal is shared with them. THANK YOU
this donation link will be presented with each guide for your convenience:
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
Hope this helps a lot of you.
cheers
post #2. Restoring Data/Recovering Data from Devices and Storage Cards (even pcs)
post #3. Automatically Syncing Through Bluetooth (ActiveSync) [UPDATED 8.6.09]
post #4. A Definitive Guide to Bluetooth Services + Bluetooth Stacks
post #5. Setting Specific File Associations
post #6. Drive Mapping or "how the hell can i see my PC drives on my PDA?"
post #7. Storage card as a Removable Device instead of ActiveSyncing or "USBtoPC"
post #8. "How to backup your contacts/messages/email/notes/data/system...etc."
post #9. "How to Toggle Bluetooth/Wifi using Hardware buttons"
post #10. "How to control my PC through my PDA?" or "Remote Controls" (Media and more) [UPDATED 8.6.09]
post #11. "How to show Network Info/Network Info using a Today Plug-in
post #12. "How to control my PDA through my PC?"
post #13. "How to make the grey lines between the today screen plugins disppear?"
post #14. "How to stop activesync from turning itself on all the time?"
post #15. "Which shell is the best shell?"
post #16. "Which shell is the best shell?" - continued
post #17. "How to enhance Messaging?" or SMS Applications
post #18. "How to install M2D and change M2D skins?"
post #19. "How to remap hardware buttons?"
Post #20. "How to upgrade my device?" or "How to flash a rom?" (Referances)
Post #21. "How to 'safely' remove applications?" or "Remove Programs"
Post #22. "How to remove unwanted SIP's (Input Methods/Virtual Keyboards)?"
Post #23. "How to retrieve CAB Files from PC Installation Files" or "Retrieve CABs"
Post #25. "Registry Tweaks for Volume" by Aegishua
Post #26. "Flashing ROMS from SD card/Internal Storage/Bootloader"
Post #27. an addition to "Setting URL Associations" by selyb
Post #28. an addition to "How to retrieve CAB Files from PC Installation Files" or "Retrieve CABs" by Farmer Ted
Post #29. "How to add your City to both manila 2d and 3d" by timmymarsh
Posts #30-33. "How to: Edit the registry" by wg5566
Restoring Data/Recovering Data from Devices and Storage Cards (even pcs)
A lot of people have had this problem lately.. where they were losing important information to defects and malfunctions.
Restoring from Storage Card:
1. first and most important thing is, after losing your data DO NOT COPY ANYTHING to your storage card or it will overwrite the current data (yes, the data still exists but the pointers were deleted)
2. download Active Recovery: http://www.file-recovery.net/
3. use a card reader to read the card through your computer. DO NOT FORMAT IT!
4. use active recovery to recover from Removable Device
Recovering from My Storage (internal storage)
1. first and most important thing is, after losing your data DO NOT COPY ANYTHING to your device or it will overwrite the current data (yes, the data still exists but the pointers were deleted)
2. download Active Recovery: http://www.file-recovery.net/
3. download nueMassStorage (or any other USBtoPC app. you can find a guide for it in this thread so you can choose the most compatible software for you if nueMassStorage doesn't work): http://www.nuerom.com/BlogEngine/page/nueMassStorage.aspx
4. go to start/settings/connections/USB to PC and mark Mass Storage (USB Drive) instead of Activesync
5. Soft Reset
6. connect your device to your comp. the device will be read as a storage card.
7. use active recovery to recover from Removable Disk
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
Automatically Syncing Through Bluetooth (ActiveSync)
I've noticed that many people are looking for a solution to automatically sync their devices using ActiveSync bluetooth sync.
Setting up automated Bluetooth ActiveSync
[Update 6.8.09]
Solved! This new tools provides you with the ability to autosync to a specific computer through bluetooth, allowing you to set intervals, enable or disable the autosync and select which computer you'd like to connect to.
Auto Activesync via BT (when in range) by user dmkpoznan
http://forum.xda-developers.com/showthread.php?t=530327
THIS IS FREEWARE
[/Update]
for this... you will need 2 tools and one script
1. MortScript - http://www.sto-helit.de/downloads/mortscript/MortScript-4.1.zip
2. BlueStarter - http://smartmobiletools.freehostia.com/drupal2/system/files/BlueStarterCab.CAB
3. BTSync script (written by le_cactus) - included in this post (downstairs)
these are the steps you need to follow:
1. install mortscript
2. install bluestarter
3. put the script file in a dir of your choice
4. launch bluestarter
5. set the bluetooth device you want to sync with (all should appear in a dropbox)
6. write the path of the script file (e.g. \\storage card\\BTSync.mscr)
7. go to menu/interval config and choose the way you want to sync..
8. (DONT FORGET THIS STEP) open the script file and change all NIR36-PC to the name of your bluetooth connection, that is to your comp's name.
A few clarifications.
- if you set the interval to "On Power Button Pressed" a BTSync connection will occur EVERY time you wake your device up
- if you set the interval to "Time Interval" it will sync every set amount of time.. and even if you're sleeping and your comp is on it will sync and stay synced.. so it may drain your battery.
- in any case, if your comp is off, it will try to sync but nothing will happen.
if you're looking for a normal BTSync without an interval you can just set one of the hardware buttons to run the .mscr
cheers
If you found this guide helpful please Donate.. (all donations go to TZABACH Wounded Animal Service)
BTSync File
A Definitive Guide to Bluetooth Services + Bluetooth Stacks
This is an old guide i wrote about 10 months ago. might help you out.
After a lot of strugle with using Wireless Headsets, Serial Ports, Activesync over BT and Sideshow... i managed to have them all work.. on VISTA and XP.
So i decided to write a fully detailed tutorial for whoever needs it.
Bluetooth Services Guide (including repairing commom bluetooth sync problem)
1. Know your Stack.
if your stack is the toshiba one, when you right click on the bt trayicon you should see OPTIONS..
if your stack is the microsoft one, ... well.. you will not see OPTIONS
2. before starting to deal with services i suggest you download one of the stacks below, according to your demand, and install them. also install Windows Mobile Device Center (from now on WMDC).
This is WMDC6.1 x86...
http://rapidshare.com/files/120340376/MobileDeviceCenter6.1-x86.exe.html
These are both the LATEST versions of both stacks: (up until the day of posting this message of course )
TOSHIBA STACK:
http://rapidshare.com/files/120186967/TOSHIBA_BTSTACK.zip
MS STACK:
http://rapidshare.com/files/120187911/MS_BTSTACK.exe
i strongly suggest you keep both files on your comp as a cover for any services one might provide while the other doesn't.
to save you the trouble. (after a correction from Jadel):
MS Stack works with both Activesync AND sideshow.
TOSHIBA Stack is problematic although more userfriendly AND provides some different options which might come handy. i had to go thru a ****load of trouble to sync it with Vista... and syncing it with XP isn't a teaparty either.
3. after finding out which one you have we can begin.
AS - ActiveSync.
this will probably be the most problematic service to have working since a lot of times it DOESNT APPEAR AS A SERVICE. when you try to sync with the comp it tells you you have to pair it.. even tho the device is already paired with the comp.
XP might be more flexible with this but the solution is for both XP and VISTA.
To Async using TOSHIBA Stack do the following:
a. open Control Panel and open the BT Ports editor..
b. add a port and choose it as a Server.. (usually it rounds up to ports 6 or 7 but you may have to try others..)
c. go to WMDC/Connection Settings and mark "Allow connections to one of the following.." and choose the port you created.
d. on your device go to Bluetooth Settings and add a new device... put the desired passkey... and you should see a list of the services the computer provides the PDA.
e. now this is a bit tricky to deal with. sometimes ActiveSync might not appear there. if it doesn't, go to COM Ports (in bluetooth settings on your device) and add the COM port you added on your comp..
go back to Devices and choose your comp and click Refresh. if ActiveSync appears there, mark it. if it doesn't, you should delete your comp from your device and this time add the port BEFORE finding your comp. it that doesn't work, you should follow the links i will provide soon.
f. on your device, open ActiveSync and under Menu choose Connect Via Bluetooth.
To Async using MICROSOFT Stack do the following:
a. open Control Panel and open Bluetooth Devices
b. click Add and add your device. go to Options and mark "Allow Bluetooth devices to find this computer" and "Allow Bluetooth Devices to connec to this computer". you can also mark other options as desired.
c. go to COM ports and add an INCOMING port. it will choose a port for you automatically.
d. go to WMDC/Connection Settings and mark "Allow connections to one of the following.." and choose the port you created.
e. go back to Devices and choose your PDA. choose Properties and go to Services. there you should see all services your PDA provides. one of them should be Active Sync Bluetooth Service. mark it and click OK. your comp and PDA should connect and disconnect a few secs later.
f. on your device, open ActiveSync and under Menu choose Connect Via Bluetooth.
(if these methods don't work you should follow the reference links in the below post).
SP - Serial Port.
some services demand a serial port. for instance, if you're using the Desktop iGO8 and would like to connect a BT GPS receiver to your comp the serial port service must be enabled. i found TOSHIBA's stack to be much more flexible concerning port usage. in Control panel you have a BT Ports icon somewhere.. if you double click on it.. it will let you play with the ports and change them to help you adjust various devices as well as use the ports as Clients or as Servers. this is important for ActiveSync as well (depending on the device).
An example:
Ipaq's Desktop iGO8 supports a Bluetooth GPS receiver. to use it, you have to define a COM port (just as we did for activesync, depending on your stack)...
you will have to define a port for the receiver and make sure the Serial Port service is marked or the program will not identify the PDA. some programs might NOT need this service at all.
(of course, this is only for people who want to use their PDA's GPS receiver. people who have a seperate GPS receiver might get the port number automatically when pairing it with the computer or have to find the correct port themselves (in older receivers).
also, to use the Networking feature you have to use the Serial port service. (i will post links for this as well).
WH - I would prefer leaving this for later as i play with it a little further.
SS - Sideshow. (Vista Users)
i tried using sideshow on 3 different devices. Wizard, Polaris and Titan.
all 3 came out with nothing when i used the TOSHIBA stack. the devices didn't discover the SideShow service even tho it was installed on my comp and my device was paired with the comp.
now if you're using the MICROSOFT stack.. it's a whole different area.
Alright. so a little batch of detailed insturctions about using this:
(during the process make sure your device is DISCOVERABLE)
IMPORTANT! you should make sure the Sideshow software is active on your device while doing this. i tried syncing the service once with it on and once off and it sorta confused me. so we'll just agree on having it ON.
To use sideshow using TOSHIBA Stack do the following:
a. on your device, go to Bluetooth Settings
b. add your device.
c. look for the Sideshow service in the list. if it's there, Mark it, (on your comp) go to control panel, go to sideshow, and you should be able to mark V on the gadgets you'd like to use.
d. if it's not there, you should add a port on both your device and your computer. the ports should match.
e. go back to devices and refresh the Services list.
f. to my knowledge, if it doesn't work up to this point, give it up
To use sideshow using MICROSOFT Stack do the following:
a. open Control Panel and open Bluetooth Devices
b. click Add and add your device. go to Options and mark "Allow Bluetooth devices to find this computer" and "Allow Bluetooth Devices to connect to this computer". you can also mark other options as desired.
c. go to COM ports and add an INCOMING port. it will choose a port for you automatically.
d. go to Devices and choose your PDA. choose Properties and go to Services. there you should see all services your PDA provides. one of them should be Windows Sideshow. mark it and click OK. your comp and PDA should connect and disconnect a few secs later.
e. go to control panel, go to sideshow, and you should be able to mark V on the gadgets you'd like to use.
after syncing the service and choosing the gadgets you'd like to use from Control Panel/Windows Sideshow you can go back to your device and go back to the sideshow software and click Connect....... ................. ........
TP - Technical Port (this concerns only people who use ASUS's GXP Factory PDA so if you're not, just ignore this).
for the GXP to control Wireless devices such as ELTO's waterpipe controller and Applied Materials' connectors you HAVE to have a Technical port enabled as a service. other than Serial port this is the only service the GXP provides, so you won't have much trouble enabling it as it's part of the software.. it will always appear. MAKE SURE you DO NOT create another bluetooth port as it will use it instead of the default one and you will not be able to control ANY of the wireless devices around you.
If you found this guide helpful please Donate.. (all donations go to TZABACH Wounded Animal Service)
Setting Specific File Associations
there were a few queries about setting file/url associations.
Setting Specific File Associations
1. download Schaps' Advanced Configuration Tool from http://www.touchxperience.com/
1a. thank Schaps for creating this unbelievable tool.
2. install it and soft reset
3. open the config tool from start/prorams/advanced config
4. click menu/more settings/file associations
5. a list will load containing all file association information on your device.
6. you can choose a specific file type from the list and assign a direct path or choose the Select Program... option to assign an app to run the file. REMEMBER to click SAVE after EVERY association.
7. click close and soft reset.
Setting URL associations
This issue doesn't contain much info.
Every browser (at least to my knowledge), contains the option to choose it as the device's default browser.
when chosen, every URL ran will be loaded using that browser.
for instance, if you are using UltimateLaunch and you set an icon to run http://www.xda-developers.com, it wil be loaded using the default browser.
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
Drive Mapping or "how the hell can i see my PC drives on my PDA?"
Before i managed to map a drive to my ppc i lost my mind.
eventually, thanks to a user named feanor512 i managed to have it work.
This guide will provide what you need to
Map a PC drive for access through your PDA
in this guide we will use JUVS HTC Network plug-in (attached below)
1. Install the "JUVS HTC Network Plug-in" cab
(if you're having problems you can try Schap's version.. also provided below)
2. Soft Reset
3. share a drive on your comp and setup the permissions. (this is done by right clicking on the drive, going to the Sharing tab, applying a sharing name and adding permissions. you should also (if applicable) go to the Security tab and add permissions there).
(usually this is done by right clicking a folder on your comp, clicking "Share..."" choosing the user.. and approving the share.
(in vista you have to remember to go to start/control panel/network and sharing center" and "enable Network Discovery and File Sharing" and disable "Password protected sharing").
4. on your device, go to "start/settings/connection/network plugin".
5. mark "enable network folder" and click "New..."
6. ENABLE WIFI
7. write the remote path: \\IP\sharedfoldername or \\COMPNAME\\sharedfoldername (i.e. \\10.0.0.1\apps) and write the name you'd like to assign to it in Local Name.
MAKE SURE YOU WRITE THE EXACT NAME OF THE SHARED FOLDER
8. click Map Drive. a message approving the mapping should pop up.
now you should be able to access the shared folder through you PPC. it should appear in /root/Network/sharedfoldername (you can see it in your File Explorer)
TROUBLESHOOTING:
my problem.. and apparently, not only mine, was that an authentication progress was flawed and i always got a message saying i can't map the drive.
so here's a solution to this problem. (both in Vista and in XP)
written by feanor512:
1.Start.
2. Run.
3. Type "mmc".
4. Ok.
5. File.
6. Add/Remove Snap-in.
7. Group Policy Object Editor.
8. Add.
9. Finish.
10. Ok.
11. Local computer policy.
12. Computer configuration.
13. Windows settings.
14. Security settings
15. Local policies.
16. Security options.
17. Right click on "Network security: LAN Manager authentication level".
18. Choose "Properties".
19. From the drop-down box, choose one of the first three options (you'll have to experiment). (i chose the 2nd one and it works)
20. Ok.
You're invited to pm me with questions.. if something isn't clear or if you're having problems.
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
"storage card as a Removable Device instead of ActiveSyncing" or "USBtoPC"
USBtoPC let's you choose whether you'd like to connect your device using USB in ActiveSync mode (a slow connection but let's you sync with your PC) or Removable Device mode (a fast connection which doesn't allow syncing but allows you to see your storage card as a removable device on your PC).
there are a few solutions our there.. but not all work on all devices.
I will try to address as many devices as i can.
SOFTWARE for USBtoPC or MassStorage (and WM5torage)
1. Softick Card Export
http://www.softick.com/cardexport2/
To my knowledge, this software works on all HTC PDAs but isn't free.
It's very easy to use once installed... all you do is enable it and once connected to your PC you will see your storage card as a removable device.
2. WM5torage (current version is 1.8)
http://forum.xda-developers.com/showthread.php?t=349143
This is a freeware.. very easy to use as well. It doesn't work on all devices... for instance, on my Polaris. it shows as a removable device but doesn't allow me to open it.
3. Tweaked WM5torage
http://forum.xda-developers.com/showthread.php?p=2031817
this is a version tweaked by "lover" for Polaris and Kaiser.
4. nueMassStorage
http://www.nuerom.com/BlogEngine/page/nueMassStorage.aspx
This is a freeware...an app created by "nue2chem". it supports Titan and Vogue.
all you have to do is install it and go to start/settings/connections/USB to PC.. and check the desired option. if i'm not mistaken, no soft reset is required.
5. HTC USBtoPC (from diamond)
http://rapidshare.com/files/122045574/HTC_Diamond_USB2PC_1.0.18143432.1.cab
this acts exactly like nue2chem's app... and honestly, i don't exactly know which devices are supported... you'll have to experiment.
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
Backup your contacts/messages/email/notes/data/system...etc.
another common question presented in the early days of the Q&A section and is presented still is "how do i back my stuff up?"
well...
How do I backup my Contacts/Messages/Email and/or my System?
Personally, and at work, I use 3 tools to back everything up.
I will review all 3.
1. PIMBackup 2.8 - http://forum.xda-developers.com/showthread.php?t=299705 - the tool was created by dotfred
PIMBackup IS FREEWARE
PIMBackup is used to backup information only. that is:
- appointments
- call logs
- contacts
- messages (SMS, Mails, ...)
- speed dials
- tasks
No installation required.
To backup your info:
a. Load pimbackup
b. choose Backup from the dropbox
c. choose the info you'd like to backup, click next
d. click browse and choose where you'd like the backup file to be stored
e. you can choose other options from the list according to your preference, click next
f. a backup file will be created in the dir you chose.
To restore your info:
a. Load pimbackup
b. choose restore from the dropbox
c. click browse and look for your backup file.
d. choose the info you'd like to restore...
e. the rest is pretty clear.
2. SPB Backup - http://beta.spbsoftwarehouse.com/products/backup/
SPB Backup IS NOT FREEWARE
SPBBackup is used to backup all info and data. it can also create an image of your system. The image is DOES NOT act like a regular PC image but an image of multiple files sitting separately in one file. It DOES NOT contain your ROM data... but if you need to restore to a previous state it works great. it can also backup network storage and storage cards.
To backup your info/data:
a. choose custom backup
b. choose the info/data you'd like to backup
c. click Menu/options and choose whether you'd like to create a stand-alone restorer or not. (the stand-alone restorer creates an EXE file while you can run from your file manager. If you don't choose a stand-alone restorer you will have to load SPBBackup and choose Restore Backup and choose the backup file).
d. write the file name and location where you'd like to save your backup file, click next
e. choose whether you'd like to have the info/data compressed... and encrypted.. and maybe add a comment.. (i usually write to which rom the backup fits)
f. the rest is pretty clear...
You can also backup the entire storage card using SPBBackup..
You can also choose to create a full backup which skips some of the above steps.
You can create a scheduled backup as well.. very useful.
3. SPB Clone - http://beta.spbsoftwarehouse.com/products/clone/
SPB Clone IS NOT FREEWARE (putting it mildly)
UIwise, SPB Clone pretty much resembles SPB Backup in every aspect. it's straight forward and doesn't require instructions.
SPB Clone is more of an industrial tool. I use it at work to clone images of PPC's and restore them on different devices.
it seems that the differences between SPB Clone and SPB Backup are minor.. but there are a few relevant ones.
You can also backup the entire storage card using SPBClone..
-SPB Clone can be personalized to specific PPC IP's and owner names.
-SPB Backup doesn't depend on anything but the ROM and it less sensitive different rom versions.
-SPB Clone costs 299$
-SPB Backup costs 25$
-SPB Clone doesn't backup sync info meaning you can't backup your sync profile. this is usually how it's done in enterprises. This means that if you used SPB Backup you would be copying all sync info to another person in your company. something you probably wouldn't want to happen.
and the most important one.
-SPB Clone's restore period is MUCH faster. SPB Backup restores files individually while SPB Clone restores a complete image of the device.
I will probably update this guide with more backup tools in the future.
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
Toggling Bluetooth/Wifi using Hardware buttons
apparently, it is a very common question.
How do i toggle Bluetooth/Wifi using Hardware Buttons only?
well... i'll present the 3 solutions and add some flavors to spice it up.
Toggling Wifi
1. Extract Wifi_ON_OFF.exe to your windows directory. (file attached below)
2. Extract Wifi_ON_OFF.lnk to your windows/start menu/programs dir.
3. go to Start/Settings/Buttons
4. choose the hardware key you'd like to assign Wifi_ON_OFF to.
5. from the dropbox below, choose Wifi_ON_OFF (as shown in the screenshot below)
Toggling Bluetooth
1. Extract Bluetooth_ON_OFF.exe to your windows directory. (file attached below)
2. Extract Bluetooth_ON_OFF.lnk to your windows/start menu/programs dir.
3. go to Start/Settings/Buttons
4. choose the hardware key you'd like to assign BT_ON_OFF to.
5. from the dropbox below, choose Bluetooth_ON_OFF (same as in Wifi)
While you are at it, i would recommend using HButton as a keymapping software. It already has the options of wifi-toggling and bt-toggling built in, and many more options. you can also map more than one app to each button.
You can download HButton from here:
http://forum.xda-developers.com/showthread.php?t=306794
To map using HButton
1. go to Start/Programs/HButton
2. load HBSetup
3. Choose the delay between app switching (this is the delay which will be set between each app mapped to the same button)
4. choose whether you'd like to vibrate when an app is loaded
5. choose whether you'd like to beep when an app is loaded
6. choose whether you'd like to display the name of the app loaded.
7. choose the button you'd like to setup (there is no difference between HButton1 to HButton7... or 5.. or any other.
8. if you choose "cycle" keeping the hardware button pressed will endlessly cycle between the same apps mapped to the same button
9. if you choose not to cycle, pressing the hardware button will show the first app, and if you keep it pressed during the previous set delay, it will move to the 2nd app and load it directly.
10. from the dropbox below, choose the option/app you'd like to map and click add. you can do this to as many app as you'd like. you can also browse for any file/app desired.
11. up/down will set the loading sequence.
12. click ok.
that's it, you're set to go.
the below files were NOT made by me.
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
"how do i control my PC through my PDA?" or "Remote Controls" (Media and more)
"how do i control my PC through my PDA?" or "Remote Controls" (Media and more)
there are many applications created to control your PC using your PPC.
some contain features to control multimedia applications, some contain keyboard control, mouse control, system control.. volume and so forth.
[Update 8.6.09]
A new tool is presented in the following thread, allowing you to control an app or two and add normal keyboard and mouse support to your PDA which requires NO SERVERSIDE CLIENT!
MobileSrc MobileRemote
http://forum.xda-developers.com/showthread.php?t=504730
THIS IS NOT FREEWARE
[/Update]
let's present a few solutions.
1. Salling Clicker
http://www.salling.com/clicker/windows/
SALLING CLICKER IS NOT FREEWARE
Salling clicker is what I currently use. There's one reason for that and one only. Salling clicker let's you use scripts to control your PC. you can write them or download them. you can shut your screen off or turn it on, manage volume and system state, control your mouse, control Winamp, Windows Media Player, BSPlayer, M2VPlayer..powerpoint.. i can go on and on. the list is long.
Salling Clicker isn't as finger friendly and good looking like Gremote, but it does let you control your comp using both Bluetooth and Wifi and it also has the coolest feature between all remote controls - one of the scripts is an OSD which shows you callerid and stops any media player currently playing when you receive a call. this is very useful for me as I listen to Trance all day long and can't hear my phone ringing pretty often.
To use Salling Clicker
a. go to the website mentioned above and download salling clicker.
b. install the client both on your PC and PPC
c. go to http://www.salling.com/forums/ and find the scripts you would like to use.
d. copy the scripts to your PC to My Documents/My Clicker Scripts
e. load Salling Clicker on your PPC
f. Turn WIFI/Bluetooth on depending on which connection type you'd like to use
g. click Menu and connect using that same connection type. (if you choose wifi you will have to put in the right IP address, if you choose bluetooth you will have to choose the computer to connect to from the list of bluetooth devices)
h. after connecting you can start playing with the scripts. you will need to experiment in order to gain full potential out of this magnificent piece of software.
2. GRemote
http://gbmsoftware.com/index.php?option=com_content&view=article&id=6&Itemid=10|http://forum.xda-developers.com/showthread.php?t=427097
GREMOTE IS FREEWARE
Gremote was created (and is still being updated) by GBM software (user named marbalon in xda-devs). The GUI is unbelievably cool and besides the fact that it makes the whole experience much nicer than in Salling Clicker it also is VERY finger friendly.
You can control your keyboard, media player, mouse, use some system controls AND, if you have a Gsensor, you can use it to control your mouse like, and i quote, "Logitech MX Air (not the same)".
Gremote is certainly the way to go if it meets all your demands and if you want something as user friendly as it can get.
The PC client doesn't require installation, you can just run it, which is nice, but you'll have to install a client on your PPC.
The major setback in GRemote is that it only supports Wifi thus making it necessary to have a router around or to connect using Ad-Hoc.
To use GRemote
a. download from the link above.
b. Install the client according to your device's resolution.
c. Run the PC client.
d. Activate your Wifi (You have to activate it BEFORE running the ppc client)
e. run Salling Clicker on your PPC and go to Profiles
f. You can create a profile manually or choose Find to find a comp running the PC Client.
g. after configuring the profile click Add. from now on, this profile will be saved on your PPC and you can run it every time you run GRemote by default.
h. Click Save
i. Click Go !!!
j. now you can start having fun with it.
You can also check out the PC client for other options like enabling/disabling vibrate on soft click... and so forth.
A new feature has been added recently letting you use your PPC as a Joystick.. or whatever you call it nowadays
3. Jerome Leban's Bluetooth Remote Control
http://www.jaylee.org/remotecontrol/
Jerome Leban's Bluetooth Remote Control IS FREEWARE
This application is the first remote control i've used on my PDA. It is somewhat old and doesn't have all the features of the other 2 apps presented above.
You can control your mouse, Mediaplayer, Winamp.. your screen... control your keyboard and even change bindings so that you can fit any key to whatever command you wish to execute. you can control powerpoint, itunes, PowerDVD.. and a few more regularly used applications.
This tool uses Bluetooth ONLY.
The mouse is not as responsive as you'd like it to be, making this app less useful and it is certainly NOT fingerfriendly.
I will not specify how to use it. you can download it and give it a shot. it requires both a PC and PPC clients to be installed.
If you need a remote for something specific, you will find it either in Salling Clicker or in GRemote, making this app obsolete.
You're welcome to try it tho and see if it fits you.
4. z2Remote2PC
http://www.z2software.com/Remote2PC.htm
z2Remote2PC IS NOT FREEWARE
It is pointless to start detailing the features of z2Remote2PC. this software is one piece of krazieass cement breaker. you can do pretty much anything you want using it. It isn't as finger friendly as GRemote, but i'll stop/start here and tell you that it differs from the other 3 since it's supposed to be a "far-away" remote control. you should use it to control your comp from outside your home.. you can see your PPC's screen on your PPC and do pretty much everything you can do using your PPC. it support Vista and even supports hard graphics (that doesn't mean you'll be able to play Crysis on your PPC.. )
You should download this and experiment as configuration is endless. you will need to install both a PC and PPC clients for this to work.
notice you will have to open a specific port in your router and/or windows firewall for this to work. notice it supports Wifi/Cellular connections.
z2Remote2PC has a LO-HOT to offer and you can spend a day just going thru all the options/features.. both client and server side.
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
Showing Network Info/Network Info Today Plug-in
i've been asked about the possibility to show network information several times already
Showing Network Info/Network Info Today Plug-in
This is very straightforward. a today plugin called Connstate can show you details on ALL current connections.
You can see the Router's/Access Point's name, your IP Address, Type of connection (ActiveSync/Wifi/Cellular) and which network you are connected to.
Connstate was created by a user called dpduser and can be downloaded from this thread:
http://forum.xda-developers.com/showthread.php?t=322058
all you have to do is install it and connect somewhere. you will see something like this:
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
"how do i control my PDA though my PC?"
"how do i control my PDA through my PC?"
to take screenshots, create video tutorials, or just control your PDA from your PC just because it's faster... you can control your PDA from your PC using a few applications.
Generally, they are all the same. i will review 2 common ones.. the rest are pretty much the same.
1. SOTI Pocket Controller PRO - http://www.soti.net/
SOTI Pocket Controller PRO is NOT FREEWARE
This is what I'm currently using... it is nice and useful.. the GUI is cool and very easy to deal with.
As you can see in the screenshot below, there are many nice and useful features and you can even use a skin to see the screen inside an image of your device.
You can explore your device's storage card and app storage, copy and delete files.. get system information, see the tasks running, registry, sync your device... you can rotate the screen, draw on it... and create screenshots or videos of your device... and much more.
connection is done by either ActiveSync or Wifi and you will have to set properties for it to work properly using Wifi.
to use SOTI Pocket Controller Pro
a. download the application from the above link and install it. it will also install a client on your PDA
b. run the app on your PC
c. click the Play button on the upper left side of the app and create a new connection profile and choose activesync
d. connect your device to the PC USING ACTIVESYNC and you will be able to connect.
to use it using wifi you will have to
a. go and click the upper left round icon WHILE THE DEVICE IS CONNECTED in activesync and go to settings
b. click settings
c. create a new profile and choose TCP/IP and leave the IP field blank
d. click ok
e. in Security choose Configure and choose to accept inbound TCP/IP connections.
that's it. when you click the play button you will be given the choice of either connecting using ActiveSync or using Wi-fi. if you choose wifi you will have to write the correct IP of your device. (you can use the previous guide in this thread to see your IP).
there are many many many many other features and options which you should play with.. give it a shot.
2. MyMobiler - http://www.mtux.com/
MyMobiler IS FREEWARE
MyMobiler is much lighter and consists of basic features. a full guide to mymobiler is supplied by Menneisyys
in this thread:
http://forum.xda-developers.com/showthread.php?t=318425
there have been a few updates since he wrote the guide but it's generally the same.
you can download it and experiment. if you don't need much, mymobiler is the way to go as it's light and doesn't require a serverside NOR clientside installation. Mymobiler supports ONLY activesync connection.
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
"how to make the grey lines between the today screen plugins disppear?"
saw a lot of users pissed of by the annoying grey lines in the today screen separating the today plugins.
a user named "nothin" created a cab to annihilate those annoying lines...
so
"how THE HELL do i make those annoying lines between the today screen plugins disappear?"
this is what "nothing" wrote:
Code:
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Today]
"HidePluginSeparators"=dword:1
it works on
21014
20954
20764
20757
19972
19965
19608
19588
and more..
question is, if it works on lower/other ones...
damn, it is so useful.
----
reg found in 6.5.
----
of course, soft reset is needed after reg import to see if it works...
btw, tweak has NO effect for HS++ dividers, so hs++ dividers may be still used between hs++ tabs, if needed.
upd: cab in attachment, need info, if it's properly made.
you need to make manual soft reset after installation.
Code:
attachment:
http://forum.xda-developers.com/attachment.php?attachmentid=150025&d=1232892977
I'd add a donation link for nothin but... he doesn't have one
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
"How to stop activesync from turning itself on all the time?"
"How to stop activesync from turning itself on all the time?"
This is a guide created by "markqld"...
(I've rewritten this for the HTC HD and I works Brilliantly well).
Active Sync can start again by itself via various scheduling routines. There is a way to prevent this known as the "Fake Server Trick":
This 'server trick' was discovered by an Aximsite forum member known as Invid
This post originally created by IamNotMe fourpages.co.uk (Adapted by me for HD)
"1. Turn on your Device
2. Go to Start > Programs > Activesync. This will open the Activesync program.
3. Tap Menu at the bottom right hand corner of the screen. This will bring up the Options Menu. Notice the option Schedule... is greyed out? This is the all-critical option we need to get access to. But as it's disabled we can't change Activesync's default synchronisation schedule.
Ok, so how do we enable the Schedule option? Easy!!! Fool Activesync into thinking there is an Exchange Server to sync with:
1. From Activesync's Menu tap on Add Server Source.
Enter any email and untick box then click next.
2. In the following screens you can enter any old garbage. It does not matter, but just in case your unsure, just type the following in the indicated boxes:
Server Address: fake
Leave box ticked and Tap Next
User name: fake
Password: fake
Domain: fake
Leave box ticked and Tap Next
Untick all of the 'Data you want to synchronise' options
Tap Finish
3. Ok, we're done creating the server. You should now see in Activesync's main screen your normal Activesync connection(s), and a new connection called Exchange Server.
4. Go back into the Menu, and lo and behold the Schedule option is now enabled! Go ahead and tap it!
5. You will see that both options in the Schedule screen may be set to Every 5 Minutes
6. Using the drop downs, change both the Peak times and Off-peak times boxes to Manually.
7. Press the OK button at the top right of the screen.
Congratulations! Activesync is now gagged from opening on it's own and ruining your life! Your work is not done just yet though – time to clean up and get rid of the now unwanted fake Exchange Server.
1. Go back into Activesync's Menu, then Tap Options.
2. Highlight Microsoft Exchange, then tap Delete. A warning message will appear about removing files etc, but as you have no files associated with the fake Microsoft Exchange, it's nothing to worry about – just tap Ok.
3. The list will now only show your remaining PC Sync connection(s). Obviously do not delete these!"
Note: some users say it works better if you leave the fake server there (undeleted). Not the case for me, however, it does no harm to leave it undeleted as it is totally inactive and has no effect.
PS. If you connect your HD to your PC with USB cable, ActiveSync will start automatically and everything will sync up as usual (I tried it). But after you disconnect, click the Task Manager button at top right corner of HD Flo home screen and tap the X next to ActiveSync to close active sync.
My Results: Processor & working memory usage is significantly decreased, battery lasts longer and ActiveSync is not trying to sync all the time.
another solution by bradipo.xda
I found that many of the latest ROM cooks of WM6.1 have the annoying issue of Activesync always starting itself every minute... i searched a lot and found the best common solution is the fake account with manual settings...
After playing around with the registry i managed to find a better way.
Just open your favourite registry editor and set the value:
HKCU\Software\Microsoft\ActiveSync\KeepAlive
to 0
"which shell is the best shell?"
people tend to ask a lot of questions about different WM shells while the most popular one is "which is the best shell?"
honestly, it is very hard to answer this question if not impossible. customizing your today screen depends solely on your individual preference.
of course, there's the issue of usability. some shells are heavy on weak devices... some shells are more into the looks rather than being as usable as one wishes.. and so forth.
so in favor of redepmtion...ing you from this constant dilemma, let's elaborate on this issue.
I obviously forgot about a few shells.. i will edit this guide until I get the majority of them
"Which shell is the best shell?" (this is written mainly for search purposes)
I will specify the most popular shells, some created by users from xda-devs..
downstairs you will find a link to a file containing some photos of the shells.. just so you can get a feel of them.
1. Ultimate Launch AKA UL
xda-devs thread: http://forum.xda-developers.com/showthread.php?t=389019
official website: http://www.ultimatelaunch.de/
UL IS NOT FREEWARE
resolution support: not resolution depedent
The reason for which i'm starting this list with Ultimate Launch is single and pure. Ultimate Launch is a "naked" and endlessly configurable shell. People who want to be 100% specific about their today screen looks, should use it.
Ultimate Launch consists of different tabs (or one only, if needed) while each tab can contain either icons, separators, or - yes, OTHER TODAY PLUGINS in it. This makes ultimate launch immensly usable as you can pretty much put whatever you want in any of the tabs.
You can move between tabs either by sliding the screen or by clicking the tab icons - that is, if you want to save screen space, you can have the tab icons at invisible and switch tabs only by sliding - this simulates a regular today screen .. doubled.. tripled.. quadrupled.... you get the drift.
To create a fitting today screen you will have to do some work, that's where my advice comes: if you want something work-ready, don't use UL.
In the picture below you will see only 3 tabs of the tabs in my UL setup.. just as a demonstration. The first tab contains FEWidgets, the 2nd contains contains contact icons, the 3rd tab contains app shortcut icons..
2. SPB Mobile Shell AKA SPBMS
xda-devs thread: http://forum.xda-developers.com/showthread.php?t=389106
official website: http://www.spbsoftwarehouse.com/products/mobileshell/
SPBMS IS NOT FREEWARE
resolution support: theme dependent
SPB Mobile shell is definately one of the most popular shells as it is nicely customizable, fast, responsive and very nice looking.
Unlike UltimateLaunch, SPB Mobile shell is not directly customizable. you can change some of the options directly, but to completely customize the today screen you will have to download and install a skin (a lot of themes can be found in the xda-devs thread URL above). SPBMS works differently than UL. It doesn't allow different plugins and icons. SPBMS is independent and although it provides tabs for different information, it doesn't allow the same customizing power UL does.
What SPBMS does tho, is allow you to have an extremely sleek, fast and easy to use today screen, and since it is so popular, you will find endless amounts of skins for it.
3. rlToday
xda-devs thread: http://forum.xda-developers.com/showthread.php?p=1601960
official website: http://rotlaus-software.de/projects/rltoday/
rlToday IS FREEWARE
resolution support: theme dependent
rlToday is much simpler than the previous shells. It consists of one screen, no tabs. Thing is, that rlToday is good for different purposes as well. the skin files are read from an XML file, which makes things megaeasy. you can write an XML file to view images, read registry data.. pretty much do everything you can do in an XML file.
Think of it this way, you can put rlToday as a today plugin inside UltimateLaunch if you want a tab to read information from a specific xml file.
4. FEWidgets AKA FEW - by nicodega
xda-devs app thread: http://forum.xda-developers.com/showthread.php?t=430190
xda-devs widgets thread: http://forum.xda-developers.com/showthread.php?t=450668
FEWidgets IS FREEWARE
resolution support: QVGA/VGA/WVGA/WQVGA/WWVGA/WWPGAPGA.. lol.. you get the point
FEWidgets is wonderful. I'm sorry that i can't hide my personal opinion of it.. but FEWidgets is... wonderful It uses flash widgets (just like the omnia.. and better) which can be moved across the today screen. you can create your own widgets using FECommands in flash (instructions supplied in a doc file in the app thread).. AND, AGAIN, you can integrate it into Ultimate Launch if you want it to be contained in one of your tabs (that's what i did).
currently the built in widgets are.. a flipping diamond clock (looks even better than the TF3D one.. and is good for people who want to get the feeling of TF3D's digital clock without actually having TF3D).. there are shortcut buttons, analog clock, weather check, tasks widget, appointments widget, calendar widget, wallpaper changer, automatic SMS popup, unread messages and calls indicator, battery and signal indicator... and many many more. You need to have flash 7 installed for it..
here is the cab for flash 7 for mobile:
http://download.macromedia.com/pub/flash/devices/pocket_pc/installers/fp7_ppc_en.cab
5. ThrottleLauncher AKA TL - by APBilbo
xda-devs thread: not needed
official website: http://www.throttlelauncher.com/portal/
TL IS FREEWARE
resolution support: theme dependent
Throttle Launcher is the closest shell you can use to get the TF3D feel.. without actually having TF3D. That's if you use the TF3D pack. there are other packs as well. you can remove tabs, use a flash clock instead of a regular one, use flash widgets (a bit less customizable than FEWidgets.. and slower), use Rumball's weather pack (you can find it here) to get the exact feeling of TF3D's animated weather effects and more, you can use different contact interfaces, like the TF3D's contact swaper.. you've got a music tab, pictures tab, a new stocks tab (created by Rumball as well), a settings tab.. and more. You even have the scrolling feature in the home tab just like in TF3D. Even if you end up using something else, I suggest you at least try TL. it's definately worth the 15 minutes it'll take you to install and look thru.. and you might not want to let it go.
6. Manila2D AKA M2D AKA TouchFLO2D - ported from HTC by herg and others.
xda-devs app thread: http://forum.xda-developers.com/showthread.php?t=398173
xda-devs VGA thread: http://forum.xda-developers.com/showthread.php?t=429224
xda-devs skins thread: http://forum.xda-developers.com/showthread.php?t=451702
M2D IS FREEWARE
resolution support: QVGA/VGA(partially)
Manila2D was created by HTC for the latest set of touch phones like the HTC Touch 3G and the HTC Touch. it consists of a specific number of tabs (now changable by a customizer created by mpenguin14 (found here), it has a Home tab with a clock, alarm status, missed calls status and next appointment status, a speed dialer tab, sms tab, email tab, internet tab, photos tab where you can slide thru your photos, music tab where you can play music and view album covers and an app shortcuts tab. In the last version, there's a Footprints tab. Footprints lets you take a picture of a place, and save it with its GPS position, a video, phone number, googlemaps shortcut.. and more.
M2D fits most HTC's devices today thanks to our lovely forum members who ported it. tabs can be removed and change a bit using the customizer.
7. TouchFLO3D AKA TF3D - ported by Chainfire
xda-devs app thread: http://forum.xda-developers.com/showpost.php?p=2758694&postcount=240
customization thread: http://forum.xda-developers.com/showthread.php?t=437777
TF3D IS FREEWARE
resolution support: QVGA/VGA
TF3D is different than all other shells as it requires a good gfx engine to run properly. most devices can't run TF3D.. so unless you have.. a Kaiser and up (Polaris, Touch3G, Diamond, Raphael...) don't try it. I won't give anymore details. whoever wants to use TF3D will have to dig in deeper into the forum and read about it.
Currently, the new Touch HD TF3D is being ported to fit HTC devices other than the Touch HD.
8. iFonz - by ssj5trunks
xda-devs thread: http://forum.xda-developers.com/showthread.php?t=436656
official website: http://thedogcorner.blogspot.com/
iFonz IS FREEWARE
resolution support: QVGA/VGA
iFonz is the best way to turn your device into an iPhone.. as much as possible.
nuf said
-------------------------------------------------------------------------------------------------------------------
SHELL PHOTOS:
http://rapidshare.com/files/192258550/Shell_Previews.zip.html\
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
"which shells is the best shell?" - continued
9. HTC Home AKA HHC - thank you SaltyDawg for reminding me
xda-devs thread: http://forum.xda-developers.com/showthread.php?t=319308
official website: http://www.pocketemu.com/e107_plugins/forum/forum_viewforum.php?16
HHC IS FREEWARE
resolution support: QVGA
HTC Home is setup for work. It is a tab adjustable plugin. when you install it.. no adjustments will have to be made in order for you to use it.. it's very straight forward.
of course, you will have to choose speed-dial contacts and apps.. but that's it.
you can use 6 tabs. Home,Apps,Speed-dial,Weather,Sound profiles and Media
the home tab has a clock and sms/mail/missed calls indicators
the apps tab has 9 buttons for 9 apps
the speed-dial tab has 9 speed-dial buttons
the whether button.. well..
the sound profiles button lets you choose different profile settings.. such as vibrate, mute and so forth
the media button controls either Media Player or Audio Manager.
you can also use the HTC Home Customizer (link provided above) to change some of the options and replace skins (you can also remove tabs).
HTC Home will take about half of your screen and leave the rest for other plugins. you can, of course, use it with ultimate launch for maximized usage.
10. Touch Commander - by mchapman007
xda-devs thread: http://forum.xda-developers.com/showthread.php?t=395150
official website: http://www.touch-commander.com/
Touch Commander IS NOT FREEWARE
resolution support: QVGA only (I think)
Key Components
•Touch Control - you can scroll list, open and minimize applications by finger sweeps
•Today Plugin shows clock, weather, launcher and more
•Cube-like Multipage Launcher starts applications and makes quick calls
•Touch Task-manager allows to close or activate running applications
•Finger-friendly Start Menu is a menu with big icons
•Touch Menu is finger-friendly popup menus
•Titlebar Battery Indicator
you can find screenshots of the shell in the official website.
generally, Touch Commander is sort of an HTC Home but more configurable and changes many other GUI elements as mentioned above.
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
SMS Applications or "How do i enhance messaging?"
well, the new threaded messaging feature introduced in WM6.1 was certainly a refreshing idea..
personally, i like it. it's simple, doesn't require much attention, and it compresses a long long list of messages i have from the age of 7 (?) to a nicely sorted list which i can work with so here is
SMS Applications or "How do i enhance messaging?"
then there's a but. that new threaded messaging feature is nice, but not nice enough..
so in my eyes, there are 2 options.
one is called:
1.SmileySMS - created by "roozbeh"
http://forum.xda-developers.com/showthread.php?t=328363
SMILEYSMS IS FREEWARE
There's a reason for why smileySMS is brought here first. the reason is, that i can't see why anyone would need more than what smileysms has to offer.
after installing it, you suddenly see your threads become alive, containing smilies (duh), speedclouds like on the iphone (yes, the quality depends on your screen, but it's really nice), every thread displays the photo of the person you're chatting with (assuming you have it of course), your sms notifications contain the photo as well and are a bit more interactive..
SmileySMS also supports skinning, animated smilies, disabling of the application, sounds, zoom, different sound notifications, vibration, disabling of the threaded sms option (which some people are looking for), links inside the messages (you can also click the senders name to see other options) and more.
now the catch is, that there is no catch. what's so great about SmileySMS.. and probably its best feature, is that it intergrates with poutlook. you go thru the regular sms routine for reading and writing.. no additional software.
moreover, SmileySMS is free, which makes it extrasupercool.
please make sure to thank roozbeh after downloading this cool piece of .. plugin?
the other is called:
2.VitoSMS
http://vitotechnology.com/
VITOSMS IS NOT FREEWARE
VitoSMS is nice. I used to use it once when i needed to send tons of SMS at work. VitoSMS is an application. Unlike smileysms, it has to load.. and if you have a massive amount of SMS it will take a few seconds for it to sync.
Thing is, that VitoSMS reads from poutlook.. so the database stays synchronized all the time.
VitoSMS is nice (did i say that before?). it looks better than smileySMS (at least in my opinion), it supports all sorts of links, you can send multiple SMS, see different options for the sender including deletion, addition and more.
go ahead. try both and see what you like best.
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
"How to install M2D and replace M2D skins?"
It seems that people are having a hard time installing Manila2D skins.
So i'll just start from the beginning.
"How to install M2D and replace M2D skins?"
1. Download M2D's latest edition from (thanks herg):
http://forum.xda-developers.com/showthread.php?t=398173
2. Download M2DC's latest edition from (thanks mpenguin):
http://forum.xda-developers.com/showthread.php?t=427392
3. Install M2D (you can also install any fixes you see fit from the package).
4. Install M2DC
5. By now, M2D is supposed to be running on your device (that is, any other today plugin, after the M2D installation, should be disabled and only TouchFLO2D (M2D) enabled.
6. either search for skins or go to (thanks albert and twolf):
http://forum.xda-developers.com/showthread.php?t=451702
7. download your favorite skin.
8. If the skin is in zip format:
a. launch M2DC.
b. click Add
c. search for your theme's zip file.
d. after adding it, click on it and choose apply theme.
e. after a while you will be asked if you want to switch weather icons and/or tab icons. choose whatever you want...
f.. that's it. you can also browse thru M2DC's tabs.. .it's full of options.
If the skin is in cab format:
a. install the cab
b. soft reset your device.
Thankfully, M2DC doesn't require soft resets.
There are loads on loads on loads of themes for M2D.. you can also change backgrounds, clock tabs, weather icons... and more.. depending on what you're downloading.
IMPORTANT (somewhat): if you want to combine different themes, you can apply one, and then only change the clock... and apply one and choose to NOT switch tabs.. and change backgrounds seperately..
If you found this guide useful please Donate.. (all donations go to TZABACH Wounded Animal Service)
How to remap hardware buttons?
Saw a few threads regarding this issue... so here we are
"How to remap hardware buttons?"
There are several applications for this purpose, and the default WM app (which is completely useless).
1. WM Builtin App
1. go to start/settings/buttons
2. You will see a list of your hardware buttons (some may not appear.. as not all are considered as remapable.
3. Choose the button you'd like to map
4. Assign a program to it from the dropdown menu below
This is as basic as it gets.
now for the real stuff.
2. HButton
Official Website - http://hbutton.dyndns.org/
HButton IS FREEWARE
HButton allows you to map all KNOWN MAPABLE hardware buttons on your device to run different applications or perform different event based actions.
One of the best features of HButton is that you can map an endless amount of actions for each buttonl. You can also set the delay between each action (that is, if you use a hardware button to "run iContact" and then "Close Active Application" you can set the delay until it moves from one to the other).
You can also have it cycle between the actions so that it's an endless loop.. or have it run only one cycle, you can have it beep, vibrate, display the action performed when performed..
to use HButton.
1. Download HButton
2. Install
3. go to start/programs/hbutton/
4. click on the setup icon (there are several icons there..)
5. choose your preferences
6. choose a button (i.e HButton 3)
7. from the dropdown menu, choose the action you'd like to perform
8. click add
9. choose the next option (if required)
10. setup the running order (you can move actions up and down on the list)
11. choose th button you'd like to map to using the upper arrow
12. click ok
13. move on the the next HW button
You can see that in the default WM App the mapping of the desired HW button will appear as "mapped to HButton #X"..
No reset needed.
3. AE Button Plus
Official Website - http://ae.inc.ru/aebplus.php
AE Button Plus IS NOT FREEWARE (altho there's an older version which IS freeware)
AE Button Plus will do more than map hardware buttons and the mapping option will map more than only the KNOWN MAPABLE hardware buttons. You can map the Red/Green buttons and the volume buttons as well.
AEB allows you to change the delay as well, change power off levels, screen orientation, backlight settings.. and lots more.
Of course, the main issue here is the mapping. You can map a hardware button for Single Click, Double Click, Triple Click and Long Press. You can also choose the "Unbind Only" option which will unbind a hardware button from it's existing action.
I will not go over all mapping options because it's korazie.. but i'll just let you know what you need to do to map a button and you can play with it (you SHOULD play with it).
To map an HW button using AEBP
1. Download AEBP
2. Install
3. Run AEBP
4. Choose a hardware key from the menu
5. Click the below screen (where it says "Do not touch button")
6. From the dropdown menu, choose "Handle by AEBPlus"
7. Choose your desired key press sequence
8. You can choose between many many, many... MANY.. many options. the first one is to run an application. you can also "press enter", "press esc", simulate the dpad buttons, activate wifi, bluetooth, phone, cut, paste, Alt-Tab... and much more.
9. Click File/Save and Exit
10. Soft reset (not always a must.. but recommended)
4. Dredsensor - created by Dredger97
XDA-Thread - http://forum.xda-developers.com/showthread.php?t=472280
Dredsensor IS FREEWARE
Dredsensor is meant for the Diamond and Touch Pro devices as it's purpose is mainly to let you remap the annoying Home and Arrow HW buttons which are COMPLETELY useless if not mapped.
You can use it to also map the Green/Red buttons.
Mapping options are not as broad as in AEBP but good enough.
You can choose which screen the mapping will be applied to (i.e if you want to map a hardware button to perform a specific action while the screen shows a specific application, that's what you should use). You can also create a general mapping profile to use the hardware buttons similarily in all windows.
You can map to Double Tab, Click and Long Click.
the default option is to vibrate when an HW is pressed. you can disable that option. You can also block the scrolling wheel's option.
There are many options here.. like running applications, events, simulating HW or Soft keys... and more.
to use Dredsensor
1. download and install
2. run dredsensorcfg
3. will continue later.. gotta go.
"How do I upgrade my device?" or "How to flash a rom?"
"How do I upgrade my device?" or "How to flash a rom?"
As this is an EXTREMELY long subject, I will post links to major threads/sections concerning this issue and leave it at that. You will need to dig in a bit to find exactly what you're looking for.. and read a bit, that is, to understand the risks and the necessary steps. There is no point in asking questions like "how do I flash a ROM?" in the Q&A thread as we will just return a link pointing to the Wiki.. or something of that sort.
You can also go to the XDA-Wiki and look for information (there is ****LOAD of information there about ROMs..)
To save you the trouble i will first tell you that flashing a rom consists of a few stages.
1. CID Unlocking
2. Hard/Soft SPLing
3. Flashing
This is very general. some devices need different things.. you will have to dig it out.
Wallaby - http://forum.xda-developers.com/forumdisplay.php?f=268
Blue Angel - http://forum.xda-developers.com/forumdisplay.php?f=386
Himalaya - http://forum.xda-developers.com/showthread.php?t=428469
Alpine - http://forum.xda-developers.com/forumdisplay.php?f=287
Magician - http://forum.xda-developers.com/showthread.php?t=231410
Wizard - http://wiki.xda-developers.com/index.php?pagename=Wizard Windows Mobile 6 for newbies
Universal - http://forum.xda-developers.com/forumdisplay.php?f=357
Prophet - http://forum.xda-developers.com/showthread.php?t=377545
Atom - http://forum.xda-developers.com/forumdisplay.php?f=388
Charmer - http://forum.xda-developers.com/showthread.php?t=363882
Hermes - http://forum.xda-developers.com/showthread.php?t=299462
Trinity - http://forum.xda-developers.com/forumdisplay.php?f=359
Artemis - http://forum.xda-developers.com/forumdisplay.php?f=362
Herald - http://forum.xda-developers.com/forumdisplay.php?f=361
Athena - http://forum.xda-developers.com/showthread.php?t=429013
Kaiser - http://forum.xda-developers.com/showthread.php?t=433835
Elf - http://forum.xda-developers.com/showthread.php?t=406721
Vogue - http://forum.xda-developers.com/forumdisplay.php?f=391
Nike - http://forum.xda-developers.com/showthread.php?t=367370
Diamond - http://forum.xda-developers.com/showthread.php?t=416211
Opal - http://forum.xda-developers.com/forumdisplay.php?f=444
Blackstone - http://forum.xda-developers.com/forumdisplay.php?f=453
Polaris - http://forum.xda-developers.com/forumdisplay.php?f=399
Titan - http://forum.xda-developers.com/forumdisplay.php?f=384
Gene - http://forum.xda-developers.com/showthread.php?t=472169
Pharos - http://forum.xda-developers.com/showthread.php?t=398726
Juno - http://forum.xda-developers.com/forumdisplay.php?f=426
Sedna - http://forum.xda-developers.com/forumdisplay.php?f=434
Shift - http://forum.xda-developers.com/forumdisplay.php?f=395
Raphael - http://forum.xda-developers.com/showthread.php?t=448008
Rose - http://forum.xda-developers.com/forumdisplay.php?f=459
Jade - http://forum.xda-developers.com/forumdisplay.php?f=463
X1 - http://forum.xda-developers.com/showthread.php?t=446070

Categories

Resources