Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,771,042 Members 45,793 Now Online
XDA Developers Android and Mobile Development Forum

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

Tip us?
 
tarkim
Old
(Last edited by tarkim; 8th October 2010 at 05:26 PM.)
#1  
Senior Member - OP
Thanks Meter 3
Posts: 136
Join Date: Mar 2008
Default [APP+DRV] [Keys remapper] Rhodium Keyboard Controller GSM/CDMA v1.4

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.
Attached Files
File Type: zip RhodiumKbdControl_GSM_1.4.zip - [Click for QR Code] (148.0 KB, 10238 views)
File Type: zip RhodiumKbdControl_CDMA_1.4.zip - [Click for QR Code] (153.3 KB, 5467 views)
The Following User Says Thank You to tarkim For This Useful Post: [ Click to Expand ]
 
tarkim
Old
(Last edited by tarkim; 15th November 2009 at 02:53 AM.)
#2  
Senior Member - OP
Thanks Meter 3
Posts: 136
Join Date: Mar 2008
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.
 
tarkim
Old
(Last edited by tarkim; 15th November 2009 at 04:32 PM.)
#3  
Senior Member - OP
Thanks Meter 3
Posts: 136
Join Date: Mar 2008
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.
Attached Files
File Type: zip kbdconfig.ui.lng.sample.zip - [Click for QR Code] (2.3 KB, 745 views)
File Type: zip KbdControlRussianUI.zip - [Click for QR Code] (3.3 KB, 241 views)
File Type: zip KbdControlGermanUI.zip - [Click for QR Code] (3.0 KB, 380 views)
The Following User Says Thank You to tarkim For This Useful Post: [ Click to Expand ]
 
tarkim
Old
#4  
Senior Member - OP
Thanks Meter 3
Posts: 136
Join Date: Mar 2008
-- reserved 3 --
 
tarkim
Old
#5  
Senior Member - OP
Thanks Meter 3
Posts: 136
Join Date: Mar 2008
-- reserved 4 --
 
Mystictrust
Old
#6  
Junior Member
Thanks Meter 0
Posts: 3
Join Date: Jul 2009
Works beautifully, thanks!
 
xnifex
Old
#7  
xnifex's Avatar
Senior Member
Thanks Meter 165
Posts: 1,633
Join Date: Jul 2006
Location: Phoenix
damn i coudln't find an option to set the Messaging key to "Ok"

that sucks.
 
tarkim
Old
#8  
Senior Member - OP
Thanks Meter 3
Posts: 136
Join Date: Mar 2008
Quote:
Originally Posted by xnifex View Post
damn i coudln't find an option to set the Messaging key to "Ok"

that sucks.
you should search better:
- 'emulate key press' action with key code of F6 and RWin modifier checked
- 'close active window' action
 
Martinhdk
Old
(Last edited by Martinhdk; 31st August 2009 at 10:51 AM.) Reason: TESTED
#9  
Martinhdk's Avatar
Senior Member
Thanks Meter 29
Posts: 803
Join Date: Mar 2007
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
Best Regards - MartinH

SEARCH XDA-DEVELOPERS


| Present Phoney: Samsung Galaxy Note 3 | Network: Telmore - Denmark | OS: AOSB | Radio version: Donīt know | Still love my HD2 |
 
tarkim
Old
#10  
Senior Member - OP
Thanks Meter 3
Posts: 136
Join Date: Mar 2008
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

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Calc+ is a Smart and Beautiful Android Calculator

As we’ve said inthe past, there are quite a few calculators available on Android. … more

Get Better Debug Data with Crash Report SDK

Developing an application is a hard and often times ungratifying task. It also requires quite a … more

Navigate to Your Favorite Places with LocationDetector

If you’re enjoying an active way of life, you probablytravel a lot, go fishing, … more

LifeStats Automatic Journal Keeps Tabs of Your Day

Most of us live very active lives. This is after all why we’re fans of mobile … more