View Single Post
  #1 (permalink)  
Old 06-10-2009, 07:48 AM
Hypnotic2010's Avatar
Hypnotic2010
Virtually, I am a Ppc
Offline
Location: Ct
 
Join Date: May 2009
Posts: 1,329
Reputation: 9444
Hypnotic2010 is a trusted member of the communityHypnotic2010 is a trusted member of the communityHypnotic2010 is a trusted member of the communityHypnotic2010 is a trusted member of the communityHypnotic2010 is a trusted member of the communityHypnotic2010 is a trusted member of the communityHypnotic2010 is a trusted member of the communityHypnotic2010 is a trusted member of the communityHypnotic2010 is a trusted member of the communityHypnotic2010 is a trusted member of the communityHypnotic2010 is a trusted member of the community
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
APP+DRV] Raphael Keyboard Controller GSM/CDMA v1.4 *

Hey guys, found this over at XDA. Was looking for this cfor a while. Thanks tarkim!! Donation button below.

**NOW PORTED FOR CDMA DEVICES!!!!!! 6/16/09!!!
This is what many touch pro/fuze owners want to have - ability to get full control over their keyboards.

So, what is it ? It's a patched 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.

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.


History:

15-11-2009:
Version 1.4:
+ Shift/Caps modifier support
+ Triple click
+ Multiple actions for each event (in other words, each event has actions sequence now)
+ Repeatable actions on press & hold for long press, double click and triple click
+ Configurator user interface localization support
+ Default key action can now emulate other key
+ Direct key mapping got modifiers
* Fixed problems with default key action, added option "Extended emulation" - it should be used only when emulation of selected key doesn't work
* Fixed FN modifier behaviour on remapped key
* Key emulation now allows to specify key code manually (e.g. if you can't find needed key in list)
* Fixed some items in key code selection combobox, added "VK_ACTION" modifier

28-08-2009:
Version 1.3.2:
* fixed direct key mapping bug when keyboard "hangs up"

26-08-2009:
Version 1.3.1:
* fixed bug in configurator when application hangs after closing of file selection or window selection dialogs while editing key settings

25-08-2009:
Version 1.3:
+ implemented key combinations through FN modifier (its behaviour on remapped key is the same as for not remapped one)
+ added direct key mapping - in this mode remapper generates key down when hardware key is pressed and key up on its release (for those who want to have real CTRL key, for example)
+ key repeats on direct key mapping
+ added action for default key behaviour - when you assign double click and long press actions but want to leave key's default behaviour on click, just select 'default key action' for it
+ added process name to key rule match criteries
+ added window text and process name exception lists
+ added setting for device lock checking - you can select whether to remap keys when device is locked
+ added right win key modifier to 'emulate key press' action
* fixed configuration loading from registry
* redesigned key edit dialog
* redesigned exceptions list dialog
* some other small fixes
* removed key names from all configs, them are taken directly from driver now, so you don't need to define them manually anymore
* key processing splitted into two modes: click/double click/long press or direct key mapping
* exceptions list in registry under Software\KeyboardConfig\WindowExceptions is splitted into three keys under this one: Class, Text, Process - if you are planning to use old .reg files, move all values to WindowExceptions\Class
* project renamed to Raphael Keyboard Controller

23-06-2009:
Version 1.2:
+ configuration export to/import from xml file (Menu -> Config -> Save/Load)
+ window exceptions list (Menu -> Window exceptions list) - driver will not remap particular key in case foreground window class is in this list
+ added Ctrl, Alt, Shift, Win key modifiers to emulate key press action
+ added APP1-APP6 key codes to list in emulate key press action - see above how to use them and how to add new button to list in Buttons applet
+ press & hold - long press action is performed after specified interval, no more need to release a key (the same is for double click too)
+ power management action (screen on/off, suspend device, reset device)
+ screen rotation action
+ BT on/off action
+ Wi-Fi on/off action
+ terminate data connection action
+ added 'vibrate on action' setting - device will vibrate at the moment when action is performed
* improved window selection dialog, now it has a Catch button for those whose stylus sensor is broken
* close window action works as ok/close now
* rewrote send text action - now it has two methods of text send (via paste and via key emulation) and supports control characters; if one method doesn't work for you use another
* fixed issue described in this post - now if some key has double click action and you actually perform single click, then immediately press another key, single click action of first one will be performed before the last pressed key action - thus both events will be performed in the correct sequence
* some dialogs fixes
* probably fixed bug when keyboard stops working in rare cases, at least i did all to avoid this
* optimized performance, works better than 1.1

16-06-2009:
+ version for Raphael CDMA devices

09-06-2009:
Version 1.1:
+ double clicks
+ different key behaviours depending on active window class/text
+ several actions: run program, emulate key press, send text to active window, close active window, switch to window by class/text
* run program action supports arguments now
* redesigned key setup dialog
* new program selection dialog

02-06-2009:
First version.

XDA thread: http://forum.xda-developers.com/showthread.php?t=521786

GSM and CDMA cabs here:
Attached Files
File Type: cab sdkcerts.cab (4.6 KB, 385 views) Click for barcode!
File Type: zip AltTabCollection.zip (37.2 KB, 185 views) Click for barcode!
File Type: zip RaphKbdControl_CDMA_1.4.zip (151.5 KB, 164 views) Click for barcode!
File Type: zip RaphKbdControl_GSM_1.4.zip (150.5 KB, 95 views) Click for barcode!
__________________
*For easy searching of both PPCGEEKS and XDA, bookmark my new tool below!!!
Hypnotic2010 Custom PPCGEEKS and XDA Developers search tool

**Got Lasers?? Check out our site for shows and equipment:
http://www.ctlasers.com/

-A quick thanks always helps!

Last edited by Hypnotic2010; 02-21-2010 at 04:16 PM. Reason: Updated to 1.4
Reply With Quote
This post has been thanked 19 times.