[Touch Pro, Fuze Themes and Apps] tarkim:
This is what many touch pro/fuze owners want to have - ability to get full control over their keyboards.

This is for Raphael only! Do not try to install this on other devices!

Do not ask me to make a version for other device since my remappers are driver dependent and this can be very and very complicated without real device (if possible at all).

So, what is it ? It's a modified keyboard driver with configurator application for keys setup. Any key (yeah, i mean ANY, including Home and Back keys) can be reassigned to perform desired actions. Keys on a QWERTY keyboard are not an exception, they might be remapped too.

If any key has an action configured and is defined to be processed by my driver extension, it wouldn't go into the system. That is to say no one program even like AEButton will see key events processed by my driver.

Driver extension also can vibrate on any key press.

Modified drivers were tested on many ROMs based on different OEMs, so they would work in most cases.

Thanks dcd1182 for CDMA version testing.

Features:

Different event types supported: single, double and triple clicks, long presses

Two modes of key mapping: three actions per key or direct key mapping

Key repeats in direct key mapping mode

Actions sequence repeats in actions mode

Key combinations using FN modifier

Default key behaviour action - you won't loose key's default behaviour if you just want to add double click or long press to it

Different key behaviour depending on foreground process/window class/window text

Multiple rules for each key to provide different behaviour for each application you want

Multiple actions for each event

Different predefined actions:

Run program

Key press emulation

Send symbol/text to active window

Close active window

Switch to window by class/text

Terminate data connection

Wi-Fi toggle

BT toggle

Screen rotation

Power management (screen power toggle, suspend, reset)

Exceptions lists which are used to deny key remapping depending on foreground process/window class/window text

Configurable long press and double click duration

Configuration import/export in configurator

Changelog is located here.

Configurator UI localization support information is located here.

Requirements:

- .NET CF 2.0 (for configurator app)

- WM 6.1/6.5 compatible

Usage:

- Install SdkCerts.cab

- Install RaphKbdControl_XXX.cab

- Soft reset

- Check if keyboard works by pressing hardware buttons and seeing if they do their work, if not - uninstall cab, this wouldn't work on your current ROM

- If it works - go to the control panel and find "Keyboard Config" on a System page

How to define key processing:

- Run configurator (Control Panel -> System -> Keyboard Config)

- Press Menu -> Add key

- When dialog asking you to press key appears press and release desired key

- Set up needed options in key setup dialog and press OK (left softkey)

- In configurator's main window press left softkey "Update settings" to let new configuration take place (reboot is not needed, coz new settings will work immediately after saving)

What to do if keyboard doesn't work after uninstallation of this software:

- in any way stop device "KBD1:"

- for example, you can use Dotfred's TaskManager - navigate to Devices tab and find the KBD1: string, then press Stop

- delete files \Windows\keypad.dll and \Windows\kbdcntrl.dll

- soft reset

How to add new button to Buttons applet and get it working:

- add or copy existing key [HKLM\Software\Microsoft\Shell\Keys\40CX], where X is 1-6

- under this key add next values:

* Name - display name of the button in list (doesn't matter what you write here, it's only for you)

* Icon - path to icon for this button

- goto configurator and define an 'emulate key press' action for any button you want and set these values here: key code - 'App X' and check 'Win' checkbox - only in this case button will work

- save settings and enjoy newly created button

TODO:

- optimization

- Shift+?? key combinations support (if there would be requests on this)

- more actions

- other useful things

- your suggestions ?

Backup before installing of modified driver is strongly recommended.

Be careful when downloading the cab, make sure you choose the correct version suitable for your device.

Also, here is small collection of AltTab programs attached.

You can use any of them assigned as 'run program' action to desired key to switch between running programs.