[APP+DRV] [Keys remapper] Rhodium Keyboard Controller GSM/CDMA v1.4

Search This thread

tarkim

Senior Member
Mar 12, 2008
136
3
This is for Rhodium 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 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.

Some Raphael owners is familiar with this remapper. And if you are one of them then you can skip all the text below and just download attached archive.

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 in post #2 here.
Configurator UI localization support information is located in post #3 here.

Requirements:
- .NET CF 2.0 (for configurator app)

Installing:
- Install SdkCerts.cab
- Install RhodiumKbdControl_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 (PM me if you still want this to work on your device)
- 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)

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.


Raphael's version thread here and Topaz's one here.
 

Attachments

  • RhodiumKbdControl_GSM_1.4.zip
    148 KB · Views: 10,412
  • RhodiumKbdControl_CDMA_1.4.zip
    153.3 KB · Views: 5,581
Last edited:
  • Like
Reactions: ibm_chandan

tarkim

Senior Member
Mar 12, 2008
136
3
Changelog:

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.
 
Last edited:

tarkim

Senior Member
Mar 12, 2008
136
3
Configurator UI localization:

Since version 1.4 configurator supports localization.
On start it reads file "kbdconfig.ui.lng" from directory where is located itself.
Localization file is a simple text UNICODE file formatted in a following manner:
Key=Value
Key=First string\r\nSecond string\r\nAnd so forth

If you want to translate UI - download attached sample english file and use it as source.
After translation you will need to put it to \Windows\ folder to use on your device.
Or you can make a cab and send it to me, so i can attach it in this post.

German file provided by S-Line.
 

Attachments

  • kbdconfig.ui.lng.sample.zip
    2.3 KB · Views: 777
  • KbdControlRussianUI.zip
    3.3 KB · Views: 272
  • KbdControlGermanUI.zip
    3 KB · Views: 410
Last edited:
  • Like
Reactions: ibm_chandan

Martinhdk

Senior Member
Mar 7, 2007
862
34
50
NICE - have a TOPAZ and really needs a tool to remap the keys, so I will dare and test this one for the BACK and WIN key. Could be rather cool if it works on a TOPAZ too..

EDIT:--> Does not work - damn. Locks device...so beware
 
Last edited:

tarkim

Senior Member
Mar 12, 2008
136
3
Martinhdk
several people already asked me for Topaz version of remapper
will analyze its keypad driver and see what i can do
maybe in near future this thing will be released for Topaz
btw, i need keypad.dll from this device, PM me it please
 

tarkim

Senior Member
Mar 12, 2008
136
3
i was thinking the "close active window" may do it. What does the F6 & RWin part do?
it's a standard windows mobile vkey combination for ok/close
by default WM closes windows which have OK button and minimizes windows with X
'Close active window' action is my own implementation of this feature - it closes all windows, not just ones with OK button
 

Martinhdk

Senior Member
Mar 7, 2007
862
34
50
Keypad.dll - TOPAZ

Martinhdk
several people already asked me for Topaz version of remapper
will analyze its keypad driver and see what i can do
maybe in near future this thing will be released for Topaz
btw, i need keypad.dll from this device, PM me it please

Hi man - here is as you requested for TOPAZ

:)
 

Attachments

  • keypad.zip
    34.9 KB · Views: 100

kevinofborg

Member
Nov 8, 2008
18
0
Dallas
Question about keyboards

Tarkim,

You seem to know your way around HTC Rhodium keyboards. Twice now I have lost my Touch Pal Keyboard being replaced by a Phone keyboard. The first time I had loaded a cab file that changed the snooze options and I had to restore from backup. The second time I was minding my own business and changed the keyboard to "keyboard" the old full QWERTY key with small keys and then I tried to change back to Full QWERTY but all I got was the phone keyboard. I had to restore again. Hold the phone....after the last restore I tried to recreate but what I thought was the phone keyboard was not. I looked at the phone keyboard and it was what you would think with three letters per number key. This "other" keyboard that shows up has a number pad the letters p and w and some arrow keys this a return key as well. if this "other" keyboard shows up again is there a reg setting that I can go and change back to get my Touch Pal keyboard back?

I have a T-Mobile TP2

TIA
 

hecksk

Member
Aug 4, 2009
44
0
Tomsk
I've tried to fix localization issue by your great remapping driver.
But there is a problem because unlike build-in driver it does not support language mode. Or am I wrong? How can I make for an example such config: English mode let's leave as is, but in my native laungage (Russian) mode to assign double-clock or long-press to enter Russian symbols without FN button?
Please help????? HTC make a real bad localization and 7 letters need to be pressed by FN+some, damn...
Also the Config Application has broken UI elements in mode where controls more than screen is able to fit...this is not major issue, just let you know.
thanks for such great software!:)
 
Last edited:

tarkim

Senior Member
Mar 12, 2008
136
3
updated first post, CDMA version is there now
you can download it and start remapping your keys :)

thanks to all who PMed me to get CDMA version for testing
i already gave it to first who requested and it's enough since there is no need to perform full testing
sorry, i forgot to remove advertisement about testing and got more testers than i need as a result
i won't reply to all you folks, who asked me to get a test version, because the text will be the same, so i will reply here: sorry again and thanks :)
 

tarkim

Senior Member
Mar 12, 2008
136
3
Works on CDMA Telus TP2.:)
are you using GSM version ? i assume that yes, because you posted earlier than i released it for CDMA
it would be better to use CDMA version since i can't guarantee that GSM version will work without problems on Telus TP2

gsm one works fine on my cdma telus tp2 with the exception that it's moved my FN key to the mail one (one right of fn).
this is because of different key tables in keypad driver for GSM and CDMA devices - use CDMA version
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    This is for Rhodium 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 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.

    Some Raphael owners is familiar with this remapper. And if you are one of them then you can skip all the text below and just download attached archive.

    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 in post #2 here.
    Configurator UI localization support information is located in post #3 here.

    Requirements:
    - .NET CF 2.0 (for configurator app)

    Installing:
    - Install SdkCerts.cab
    - Install RhodiumKbdControl_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 (PM me if you still want this to work on your device)
    - 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)

    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.


    Raphael's version thread here and Topaz's one here.
    1
    Configurator UI localization:

    Since version 1.4 configurator supports localization.
    On start it reads file "kbdconfig.ui.lng" from directory where is located itself.
    Localization file is a simple text UNICODE file formatted in a following manner:
    Key=Value
    Key=First string\r\nSecond string\r\nAnd so forth

    If you want to translate UI - download attached sample english file and use it as source.
    After translation you will need to put it to \Windows\ folder to use on your device.
    Or you can make a cab and send it to me, so i can attach it in this post.

    German file provided by S-Line.
    1
    Thanks for the tip, this gets me close to what I want, but I actually would like to get to the actual "Start/Launch" screen and this takes me to the last TF3D tab as you indicated. I'm thinking there should be an HTC executable that would take you there, but I can't find it.

    OH MAN!!! I totally figured it out!! :D

    Action: Run program
    Program: \Windows\manila.exe
    Arguments: --switchtopage Manila://home.page


    Now you will be sent to the home screen from ANYWHERE!! :D
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone