Rewriting keypad service - Windows Mobile Software Development

I want to rewrite the keypad service for the Xperia X1 to modify the behavior of the X1. See my thread here:
http://forum.xda-developers.com/showthread.php?t=596663
I was wondering if anyone knew what exactly the keypad service must do to receive key interrupts from the keyboard. According to msdn the keyboard interrupt handler uses the keybd_event function to send key events to the system. Is the keypad service the interrupt handler?
http://msdn.microsoft.com/en-us/library/ms646304(VS.85).aspx
Does anyone know how I can grab those interrupts?
While I'm writing this for the X1, if successful my code can be used and modified by others for use with other devices to restore true button customizability. I want to do this at a higher level than hotkeys and key hooks to maintain application compatibility.

Related

D-Pad SIP coming! - No Cab Yet -- Need Suggestions

All... I will be staring development of a D-Pad SIP for free release on this board in the next week... I will release as soon as I have something that is functional. Here are the initial features... please use this space to suggest others...
Four (Top,bottom,right left) buttons plus optional center
Special zone button for switching to user defined standard keyboard
D-SIP Toggled via any assignable button sequence (will play well with apps like Mobile Magic)
user definable gestures support
I will add accepted features to this list above with a 'Phase' (e.g. planned for release 1,2 or eventually)
Blessings one and all -- My Christmas gift to you
abeery said:
All... I will be staring development of a D-Pad SIP for free release on this board in the next week... I will release as soon as I have something that is functional. Here are the initial features... please use this space to suggest others...
(...)
Blessings one and all -- My Christmas gift to you
Click to expand...
Click to collapse
That seems to be a very nice Christmas gift! You will make many users of Touch HD very happy. Thanks for your effort.
One suggestion:
If possible I would like to get continuous signal and user defined repeat rate as well as user defined delay until repetition begins (just like hardware dpad can be calibrated via settings).
Thanks in advance.
Hmm, it will be hard to enable it in applications wich doesnt support SIP's such as games
Maybe it is possible to run a application in a "640x480"px Frame and to use the 160pixel at the bottom for a D-Pad...
Would be nics to add in a rotation button, I don't like how gsen and gyrator mess up my screen when I don't want it to. Also Might come in handy a clear 4 way pad to be use ingame, left or right of the screen, maybe that is a little too much to ask for?
Koffein Schluck said:
Hmm, it will be hard to enable it in applications wich doesnt support SIP's such as games
Maybe it is possible to run a application in a "640x480"px Frame and to use the 160pixel at the bottom for a D-Pad...
Click to expand...
Click to collapse
My hope is to add a option to force a 640x480 resolution for "configured" applications and then use the freed 160px for the D-Pad... in non-configured apps it would function like any other SIP. Still researching my approach
consider adding the buttons for Cut Copy and Paste
sounds like a great idea! hope it works
The 2 hardware keys (left and right) for the selection of the soft menus are a must!
I am a bit confused maybe due to lack of my knowledge of exactly what configuration this new SIP will carry. My confusion is because if you happen to see the Cootek TouchPal it already has a tab which gives you navigation options such as top, bottom, left, Right, select, cut and copy.
How is your SIP going to be different from TouchPal.
Regards
srmz said:
I am a bit confused maybe due to lack of my knowledge of exactly what configuration this new SIP will carry. My confusion is because if you happen to see the Cootek TouchPal it already has a tab which gives you navigation options such as top, bottom, left, Right, select, cut and copy.
How is your SIP going to be different from TouchPal.
Regards
Click to expand...
Click to collapse
I guess the goal of this SIP is to be available in all applications (e.g. games) that usually depend on some hardware buttons to be playable and not just the ones that activate a SIP for input by default like SMS, Email etc.
One suggestion would be to have 8 directions on the virtual pad. On a real dpad you can press 2 directions simultaneously (useful in games) however the resistive screen means that there would only be one key press at a time.
Sorry for my ignorance...i am very new to WinMo phone.
Can anyone tell me what is SIP and how it is going to work?
By the way there is a software called AEBplus which can configured the hardware Vol up/down for HD, is it going to be similiar?
razorblader said:
I guess the goal of this SIP is to be available in all applications (e.g. games)
Click to expand...
Click to collapse
As the most games I know use their own keyboard implementation, a SIP won't work for them. SIP will just for most applications, rather the ones, where you see the "keyboard icon" in the bottom, where you can change the keyboard and make some settings.
Looking forward to it
I think a good starting point could be to create a full screen application (a sort of container) with a sidebar implementing the Dpad that emulates an hardware pad + some buttons and a 'window' 640x480px where other applications can run.
In this mode it should be possible to generate the standard Windows messages when a soft-key is hit so that the windowed application could be fooled thinking that the user is acting on a true Dpad/key.
Bye
So it will work with for example pocket gba emulator ?
Wolfenzi said:
So it will work with for example pocket gba emulator ?
Click to expand...
Click to collapse
Something like this allready exist, google MorphGear
it will work with PPC Games better than GBA
any news on this project?
Same question here. I am waiting for this as the most important thing for Touch HD on this forum. I want arrow keys in my age of empires to move map
By the way : If you can, you should do that virtual pad fully configurable, like morphgear has (text file with functions and color numbers and bmp picture with those colors on certain places + copy of that but in colors that will be displayed)
I'm still experimenting with various approaches... unfortunately it seems like the most viable approach will involve the four softkeys at the bottom of the device... everything else I try only works when I can force a SIP to be present and unfortunately it seems that the times I want a D-Pad SIP the most are the apps that make this difficult... BTW... if anyone has a code sample for reassigning the HomeKey send me a PM please. For now all I can say is please continue to have patience... I'm still working on making a solution available

\\\\\\\\\ F i n g e r K e y b o a r d 2 ///////// v2.1 - NOW ONLINE - all resolutions

{
"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"
}
For VGA and QVGA we recommend that you install Giannis86 versions, since they contain all language layouts. New Giannis QVGA fixed cabs are now available, as well as official WVGA / WQVGA with small updates in layouts for: Greek, Spanish and Hebrew languages.
>>> HOT! Giannis86 VGA with arrows cab / all languages included and some extra features!
>>> HOT! Giannis86 QVGA with arrows cab / all languages included and some extra features!
>>> HOT! Giannis86 QVGA without arrows cab / all languages included and some extra features!
>>> Available for download: Giannis86 VGA without arrows cab / all languages included and some extra features! You can read more about Giannis86 VGA version in a dedicated thread.
>>> Available for download: WVGA & WQVGA (all languages)
>>> Available for download: VGA & QVGA - utak3r editions
(not all languages included)
Check out FingerKeyboard video demonstration:
​
Please note that the speed of typing in
this video is intentionally slightly slowed
down - this was done so that it is easier
to see what buttons are being typed
during the demonstration.​
BEFORE INSTALLATION:
Before installing FingerKeyboard2, please make sure you find out what is the correct installation version for your device. You will see that we have attached several different versions - they're designed to work on specific device resolutions.
Do not download before you know exactly what you need for your specific device! Explanation of how to discover what resolution your device has is described in HELP AND FAQ document listed few posts below!
Speaking of which - READ the whole HELP AND FAQ text; it will help you understand how to configure and use this keyboard!
INSTALLATION:
- IF YOU HAVE OLDER VERSIONS OF FINGERKEYBOARD, PLEASE UNINSTALL THEM BEFORE INSTALLING V2.1! After removing old version, please restart the device and remove FingerKeyb folder before proceeding!
- Run the attached .cab file (recommend you install to device memory).
- The keyboard will install into /Program files/FingerKeyb. There is also a link to Configuration tool in the Start > Programs.
- After installation, a Configuration utility will open. Here you can customize the layouts, choose color schemes and configure various options of FingerKeyboard2.
- Click on OK and softreset the device.
- Open up your standard keyboard (in SMS for example), click on the small arrow next to the middle keyboard icon and go to "Other input options".
- FingerKeyb should be listed there, select it and you're good to go!
- If you wish to set FingerKeyb as default keyboard, even after restart of your device, use SIP change application. Remember to set the time-delay to 40-50 seconds! Some users reported that another app, with same functionality, called IMSelector works better on Samsung Omnia.
HOW TO UNINSTALL?
Go into Settings > System > Remove programs. It is listed as "Exidler's FingerKeyboard".
CREDITS:
Created and programmed by Exidler
Designed by Rozenthal
Main tester ChrisCross
Big thanks to people who helped us in creating this application (in no special order): Berkut_G, utak3r, GoldCoin, Cerato, Schreda, Panosha, JBouRas, SBS, BadCluster, Taiseer999, Borchert, Hanackin, Iligcons, Allbercik, Ombre.px, Nvidia32, derfler, ilovepunani, elite-fusion, RoozbehDream, Giannis86, parasite81, bugsykoosh, Reefhunter49, Chompy18 (if I forgot someone, please PM me!)
PROGRESS:
v2.1 - new and improved FKBD2 with unique features (5. april, 2009)
v2.0 - official release of updated FingerKeyboard
v1.4 to v2.0 beta - closed beta testing (link to 1.4 thread)
v1.4 - alternate language layout for landscape mode. New vertical num pad.
v1.3 - updated landscape graphics and layout, fixed bugs.
v1.2 - updated vertical layout, now supports limited landscape mode, new .dll and register files.
v1.1 - vertical support for 2 languages + numeric keypad, new graphics, new layout
v1.0 - exidler's original version
DISCLAIMER / LICENSE / EULA
Please read carefully the terms and conditions of this End User License Agreement ("EULA") before installing FingerKeyboard software ("Software").
This EULA provides a license agreement between authors of FinkerKeyboard ("Licensors") and you (person) ("Licensee") to use the Software and contains warranty information and liability disclaimers.
By installing and using the Software you accept and agree to the terms of this EULA. If you do not agree with these terms and conditions, you must cancel the installation or, if the Software is already installed on your device, promptly uninstall it.
OWNERSHIP
The Licensee acknowledges and agrees that the Software is a product of the Licencors. It is protected under international copyright law. All copyrights are exclusively owned by Exidler and Rozenthal.
LICENSE GRANT
The Software is freeware. However, the Licensee may use it only and exclusively for private personal and non-commercial usage, and only under conditions which do not contradict the restrictions noted below. If you want to use Software for anything else, you must contact the Licencors. Software may not be bundled or distributed with any other package without written permission of the Licensors.
NO WARRANTIES
The Software is distributed "as is" WITHOUT WARRANTY OF ANY KIND. The Licensee uses the Software at his own risk. The Licencors shall not be liable to the Licensee for any kind of consequences, which occur or not occur while installing, using or uninstalling the Software.
RESTRICTIONS
In accepting the EULA granted by Licensor, Licensee agrees that he shall not
1. Sublicense, sell, lease, rent, permit use of, give, or lend the Software
or any copy or portion thereof;
2. Decompile, disassemble, reverse engineer, analyze, or otherwise attempt to
discover the source code of the Software;
3. Use or incorporate the Software or any portion thereof in any other product
without the prior written permission of the Licensor;
4. Remove, alter, or obscure the copyright, trademark, proprietary, or other
notices from the Software or any of its components.
Licensee is allowed to edit existing or create new language layouts, and share them with other users. Licensee is allowed to edit existing or create new graphic elements, but only with respect to copyright and trademark notices.
DISTRIBUTION
The Licensee may NOT redistribute the Software by any mean (CD, DVD, Web site...) without permission from Licencors.
TERMINATION
The Licensee may terminate the EULA at any time. Also, the EULA will terminate automatically if Licensee fails to comply with the restrictions described above. Upon termination of the EULA, the Licensee shall remove all copies of the Software from his (her, its) device and all storage media.
​Here you can say "Thank you" to us
​
HELP AND FAQ - Frequently asked questions
HELP AND FAQ - Frequently asked questions
Read this whole text before using the FingerKeyboard or asking for help! If your question is already answered in FAQ it will be ignored. Don't be lazy!
What version should I install on my XYZ device? / What is WVGA, WQVGA, VGA and QVGA?
To successfully install Fingerkeyboard on your device, you need to pick the correct version for your phone. For example, let's say you want to find out what resolution Samsung Omnia has. Type "Samsung Omnia review" into Google, and among the first few results usually you'll get the most popular review sites listed. Reviews always contain resolution information, so we easily find out that Samsung Omnia has a 400x240 pixels resolution. That means you should install FKBD WQVGA cab.
Here's the list of supported resolutions for FingerKeyboard, with their standard abbreviations:
WVGA - 800x480
WQVGA - 400x240
VGA - 640x480
QVGA - 320x240
Why does FingerKeyboard look differently on my device then on the screenshots?
There can be some small differences between the screenshots and what you see on your screen. The reason for this is that different layouts can have different features, graphic elements or button layouts. We consider English layout to be the "standard" layout, with best combination of button size and positions.
How can I type those special characters that appear above normal characters?
Press and hold a key.
How to switch to landscape mode
Minimize the keyboard before rotating, then open it back again after the screen changes orientation.
How to switch to full CAPS?
Press and hold the shift button.
Spacebar
If you press and hold spacebar button it will write a dot followed by a space.
How to use text selection?
Switch to full CAPS mode and then use arrow buttons to select text.
How to use cut / copy / paste / undo?
Switch to full CAPS mode, select the text you want to cut or copy, and press and hold the appropriate action buttons. On some layouts these are named "cut", "copy" and "pst". Same thing with "undo" option - you can use "undo" at any moment, and it will take you back for unlimited number of steps.
Where is that Config tool you mention?
After you install FingerKeyboard, go to Start > Programs > Finger Keyboard.
How can I switch to numeric keyboard?
Press 123 button. If your layout does not have dedicated 123 button, press Shift and 123 will appear on your Language toggle button. Behavior of Language toggle button can be customized in Configuration tool.
How can I change a color scheme of the keyboard?
Config tool > Main > Color scheme: select which ever you like and press OK or Apply.
How can I select language layouts?
Config tool > Main: you will see a list of all language layouts you have in your FKBD folder. Put a tick next to the layouts you want to use and press OK or Apply. We also advise you to physically delete layouts you don't want to use (Program files / FingerKeyb / Skins). This will make Config tool start up a little bit faster and use less memory.
What are all those Backspace options in Config tool?
Behavior of Backspace key can be customized to suit your needs. You can separately control what will Backspace do on short click and long press, as well as how it will behave in small caps or caps lock mode.
How to minimize or turn off the keyboard?
Short press the keyboard toggle button (the one with small keyboard or switch sign on it). Long press on this button will turn off FingerKeyboard and switch to default HTC keyboard.
How to disable click sound?
Run FingerKeyboard Config tool. Under "Options" tab you will find a "Press sound" box. Here you can select from several different click sounds, all of which have "quiet" and "loud" versions. This is useful if you want a subtle click sound, but don't want to lower the volume for the whole System. There is also a "no sound option".
How can I get vibration feedback?
Config tool > Options tab > Press vibrate. Here you can select how long you want the vibration feedback to last. Minimum of 20ms will get you a barely noticeable vibration effect, while 80ms will be very strong.
Vibration feedback don't work on my device. Why is this?
If you're having problems with vibration feedback, it's most likely that our autodetect LED vibration feature don't work well on your device. However, you can play around with "VibrateLed 1" string in skin-01-global.txt (Program Files\FingerKeyb\Skins) and see if perhaps changing to another LED number will work for you.
How can I control the key-press delay? / What is "Hold time" / Can I make the keys repeat on press+hold?
"Hold time" option in Config tool is a cool option you can use to control how long it will be needed for a key to be continuously pressed before it writes a letter or performs an action. This part of the "Hold time" function is controlled with numbers in the first box. The second box controls how long will it take for a key to be continuously pressed before it starts repeating itself. So, if you put 500ms in the first box, and 200ms in the second box, that means you will have to press a key for 500ms before it performs it's "long press" action, and 200ms more before it starts repeating that function. If you hold the key even longer, it will then gradually accelerate.
Can I hide / show Windows menu bars?
Yes, go to Config tool and under "Options" tab select how you want the keyboard to display in Portrait and Landscape mode. We suggest selecting "Show bar" for portrait, and "Hide bar" for landscape.
I want the pop-up images to stay longer on screen. How can I do this?
In Config tool, Options tab, there is a "Popup time" box. Here you can select how long will the pop-up image stay on screen after a key has been pressed. If you set pop-up time to 1500ms, this means the pop-up image will stay on screen for 1.5 seconds, or until next key is pressed. Pop-up image delay affects ONLY the normal character keys (A,B,C,D etc). Special action keys, such as Shift, Space, Backspace etc. have default short time and will not stay on your screen. This is done to avoid action keys images covering large areas of the screen with their larger pop-up images.
What are Smiles / Shortcuts?
This is a feature that no other keyboard has. It allows you to control what any of the several predefined actions keys will do when you press and hold them. Almost all layouts have these special actions included (between 7 and 11 actions on most of the layouts). You can control what will show up on a key when you open the keyboard, as well as what that key will write when you press+hold it. For example, you can type into "Key text" box "info" and into "Action text" you could type "John Smith, gsm:00123456789, e-mail: [email protected]". Or maybe your favorite web address. Or your signature. Or your wife's name. Or your lover's name for all we care The possibilities are endless! You can do the same thing for smiles - if you don't like the default ones, use your own, or something else!
A special key I need is missing / Can I customize smiles / Can I change shortcuts?
If there's a key missing in your language layout, you can easily add it yourself by using either Smiles or Shortcuts tab in Config tool. Simply type the missing key into two of the horizontal boxes and the key will appear when you long press a button that has that Smiles / Shortcut action.
Why does XYZ language layout have only a few smiles / shortcuts buttons?
Some language layouts have very high demands regarding the number of characters they need to occupy. Because of this there are a few language layouts that may have a smaller number of smiles / shortcuts spaces reserved. We've tried to include as many as possible, believe us!
How can I make FingerKeyboard a default keyboard? / How can I keep FingerKeyboard as default keyboard even after reset?
You can use a small program called SIP Change. Look it up on XDA-developers.com forum, and remember to set delay to 40-50 seconds.
"Where is XYZ language layout? Why is it not included!?"
If you want a certain language layout, first check FingerKeyboard2.1 thread on XDA-developers.com forum if someone maybe already made an additional layout and posted it there. If not, the best thing you can do is to make your own layout and share it with other people. If your layout is good, we'll probably include it in next version. Please do not spam us with "I WANT THIS LANGUAGE!!!" messages. All language layouts depend exclusively on the community to produce them.
Editing instructions:
You can use the existing layouts to make it custom layouts! The easiest way is to open one of the layout skin txt files and replace the existing characters with your own. Experiment a bit, and you will soon get the hang of it. Same applies if you want to make your own skin - edit the included bitmaps, and change the appropriate lines in txt files. Everything you want to know about actions, layouts, colors and resolutions is explained in "doc-about-skin.txt", located in the root of the FingerKeyb folder. Read it first before asking for help!
​
Xt9 / word and contact name suggestion
XT9 & TEXT SUGGESTION:
This keyboard does not support T9. However, there is an option to enable standard Windows Mobile word suggestion, as well as SMS contact name suggestion. There are two ways to do this.
First way is to use the FingerKeyboard Config tool and select what you want to use (Word / SMS suggestion, or both). SMS suggestions will work normally, but for WinMo word suggestion to function, you will need to switch to HTC default keyboard and manually turn on XT9 on the little T9 switch. After that, you can reload FingerKeyboard and everything will work normally. This can be a good way for people who like to use T9 on other keyboards, but also want to use FingerKeyboard without T9. This approach also makes it possible to use new HTC style suggestion windows (the ones with small arrows on each side, where you can flip between names / words).
To avoid messing around with XT9 switch on HTC keyboard you can simply globally disable XT9 across the whole system. That means that T9 will not work even on system keyboards that have T9 support, but SMS / Word suggestions will both work. This will disable the HTC style suggestion windows, and use the default WinMo style (opens a simple white window with list of suggested words or names). The patch file which disables XT9 globally is attached in this post. This patch can be uninstalled. If you already have it installed, you do not have to remove it or reinstall it. Also, please note that when you install this patch, you will not be able to select SMS /Word options in FingerKeyb config tool - they will always be grayed out.
It might be best to install the FingerKeyb cab and test it first. You can always globally disable XT9 later on if you decide so.
There is a known bug with Word suggestion, that has been almost fully fixed in this version of FingerKeyboard. The bug manifests itself like this:
- if you have "Text word suggestion" turned on, and you type an SMS message, the "home" and "end" buttons will not work while the word suggestion window is open on the screen. If you select a word, those keys will work normally. Unfortunately, this isn't our fault - it's actually a bug in Word suggestion app.​
Using FKBD2.1 in ROMs
Using FKBD2.1 in ROMs
If you are a ROM cooker and wish to use FingerKeyboard2 bundled in your ROM, you no longer have to request permission to cook FKBD! You may use it in your custom ROM's, as long as you leave the core files unchanged and give proper credits to us..
ROM chefs may find the following info useful. Be aware that this is all info we can provide. If you have problems, please search XDA forums for various solutions.
Registering keyboard in system.
- register dll as com object
or
- add to registry this values:
=====================================
[HKEY_CLASSES_ROOT\CLSID\{C03755DF-3EE7-41DF-AE5E-3FBBCA603F1A}]
@="FingerKeyb"
[HKEY_CLASSES_ROOT\CLSID\{C03755DF-3EE7-41DF-AE5E-3FBBCA603F1A}\DefaultIcon]
@="\\Program Files\\FingerKeyb\\FingerKeyb.dll,0"
[HKEY_CLASSES_ROOT\CLSID\{C03755DF-3EE7-41DF-AE5E-3FBBCA603F1A}\IsSIPInputMethod]
@="1"
[HKEY_CLASSES_ROOT\CLSID\{C03755DF-3EE7-41DF-AE5E-3FBBCA603F1A}\InprocServer32]
@="\\Program Files\\FingerKeyb\\FingerKeyb.dll"
=====================================
Path to .dll can be different.
In registry is saved only which skin files need to load and
which layout was last for each process.
[HKEY_CURRENT_USER\Software\FingerKeyb]
list of exe names and which layout must be restored for this process.
[HKEY_CURRENT_USER\Software\FingerKeyb\SkinFiles]
list of skin files names in _lowercase_
skin-00-scheme-blackblue.txt = DWORD:0 -this means "don't load this skin file"
skin-00-scheme-blackred.txt = DWORD:1 -this means "load this skin file"
Skin files that do not exists in this key will be loaded by keyboard automatically.
Skins directory is relative to place of keyboard DLL.
=====================================
All other settings are saved in skin files (mostly in skin-01-global.txt)
Exception is HTC T9 settings:
[HKEY_LOCAL_MACHINE\Software\Tegic\eT9]
IsSupportMSSIPContact = DWORD:1 - sms name suggestion
XT9SupportMSSip = DWORD:1 - word
But this settings is applied only if:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\Layouts\e0010409]
"Ime File" = "et9ime.dll"​
Media kit
Media kit for media / press / bloggers
If you are a representative of the media, and wish to cover FingerKeyboard2 in your magazine, portal or blog, below you will find a ZIP-ed media kit.
Inside it is a short text about FingerKeyboard v2.1, several full size screenshots, high-quality FingerKeyboard logo as well as some other graphics that can be used in publications of any kind.
If you have any additional questions, you will find the needed contacts within the info-text.
We would also kindly ask you to inform us when you publish your cover on FingerKeyboard.
​
Bug tracking
BUG TRACKER for v2.1
This space is reserved for bug tracking.
Even though the latest version of FingerKeyboard2 has been tested on multiple devices with different ROM-s for more then 20 days, it's very likely that we missed some bugs.
When reporting bugs, please try to be as detailed as possible. The more information you supply, the easier it will be to find the bug and squash it. And we like squashing bugs! Some bugs with previous versions of FingerKeyboard were caused by 3rd party software. The usual suspects are other 3rd party keyboards.
DEBUG LOGGER! PLEASE USE IT IF YOU HAVE PROBLEMS!
Attached below, you will find Fingerkeyb_debug.dll file. This file will create a debug log which you can then send to us, so we can detect problems and try to fix them in the next release. It is mostly aimed at solving the problem that some people have with landscape mode, but it can be used to track any other problems as well. Debug logger is not that painless to use, but if you really want our help, this is the best way for us to detect what the problem is.
To start using this, you will need Resco Explorer or Total Commander CE.
Go into FingerKeyb folder (Program Files).
1. rename Fingerkeyb.dll to something else (example: Fingerkeyb_.dll)
2. Copy FingerKeybd_debug.dll to Program Files/FingerKeyb directory.
3. Rename FingerKeyb_debug.dll to FingerKeyb.dll
4. Softreset the phone
5. Open the FingerKeyboard, press 1-10 random keys on keyboard.
6. Minimize the keyboard, rotate the phone and open the keyboard again, after the phone is in landscape mode. Try to press 1-10 random keys again.
7. If you encounter the landscape bug, switch to HTC keyboard, making sure that it shows in landscape correctly.
8. Copy the FingerKeyb.log in working directory to a different folder on your device or PC and after that select FingerKeyboard again.
9. You will now have 2 log files. Rename them so they don't have the same file name and send them to Rozenthal or Exidler.
If you do not have Resco File Explorer or Total Commander CE, you can try this procedure:
0. Unregister keyboard using the old Fingerkeyb_register.exe (found in v1.4 thread) and then softreset
1. same as above
2. same as above
3. same as above
4. Register keyboard with the Fingerkeyb_register.exe
5. same as above
6. same as above
7. same as above
8. same as above
9. same as above
The logging tool will seem very slow, that's normal - it needs to write a bunch of info on every keypress, so take it easy. After you're done, you can simply reverse the procedure: remove the debug.dll, rename back the original Fingerkeyb.dll, and continue using the keyboard normally.
The log files can be sent to us via private messages here on XDA. Also, please do not expect to instantly receive a magical solution for your problem. If a simple solution exists, we will message you on how to apply it. If it's an issue that requires changing FingerKeyboard core files, it's more likely that the issue will be fixed in future versions of the software.
__________________________________
>>> B U G L I S T <<<
[06. april, 2009]
- Some color schemes in WQVGA have problems (FIXED)
- Some layouts in WQVGA version are causing problems / stuck in numerical keypad (FIXED)
- Samsung Omnia problems with Contact name suggestion (FIXED by installing T9 disable patch)
- Contact name SMS suggestion not working for some people on Touch HD with Dutty 2.6 ROM (FIXED by installing T9 disable patch)
[07. april, 2009]
- Switching from landscape back to portrait can sometimes result in a few pixels big square in top left corner of the device screen. This square looks like a piece of keyboard and can be pressed. The square goes away if you run Config tool or reload keyboard. (unresolved)
​
Damn you space hungry person! Looking forward to the release though . Any estimated time when it'll be done so I know if I should stay awake or not.
Lol! Really can't wait for this to come out!!!
i should send you to work more often!
i'll be staying here all night, just in case you decide to open another project........i am watching you!
Persian (Farsi) Language for this lovely keyBoard
Farsi-skin-FingerKeyboard-v2.1.zip
geeeeeez, c'mon guys, make us happy
Guys, we're working our asses off here, so be just a little bit more patient
I know we've pushed the deadlines like 10 times so far, but I hope all this waiting will be worth it.
I will update the thread title once we have some cab's ready for you!
Absolutely astoning news. Can't expect it more, C'mon dude!
Sweet.... downloading..... installing..... crashing.. j/k
Will give feedback as soon as i have any
yay! this is great
Woah. Can't believe the effort you guys put into this. Good job.
Just downloaded!
Thank you for your efforts.
Works perfectly! Thank you for this great app!
BTW: The XL-Layouts work with 2.1 as well!
This is so fxxxing awesome. (Sry about f word)
You guys have done some really amazing work here! This keyboard is perfect in every way as far I'm concerned. Thank you so much for your hard work and your willingness to share this with us!!!

[Help] Change hardware keyboard key

Ok so Winmo supports having multiple hardware keyboards installed, lets say for instance 409 - english and 411 - japanese. I know you can switch between these two by pressing ctrl+shift or shift+ctrl, but on a lot of new HTC phones with touch only there is no way to do this bar installing an additional SIP.
So I have a few ideas I'm trying to resolve this, but don't know the answer to the following questions:
1) Is there a way to have winmo automatically call up a different keyboard when switching SIP?
2) Is there a way to reassign the switch keyboard hotkey to something more accessible on a touch only phone?
I realize you can only have one keyboard preload at a time and know the registry settings for that, but can't figure out how to change the toggle.

c# keyboard input help

Im trying to get input from the keyboard on my touch pro 2 in c# but i cant seem to find how to do this anywhere.
any help would be appreciated
also is there a way to use the vibration motor?
anyone?...................
Use the KeyPress event of the form.
Code:
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
}
e.Keychar contains the actual key pressed. Do with it what you will.
To use vibrate have a look at Post #2 in http://forum.xda-developers.com/showthread.php?t=646790
P.S. All controls have a KeyPress() event. Decide at which level you wish to respond to it, the form or the control. The KeyDown event can be used to filter out unwanted Alt-Ctrl key depressions before something untoward happens before your application gets told of it, if you wish to take control over such key depressions. KeyDown is triggered before KeyPress but uses a different event object. Look at some of the examples in VS Help on these functions.
thanks much appreciated

[Q] Lockscreen.exe

Hi,
I don't know if this is specially concerning HTC HD2 or WinMo 6.5 generally.
When the lockscreen fires up, what happens exactly? I mean what apps get executed. I bet it is only the lockscreen.exe
Is lockscreen.exe a special app, does it serve any special function? Or is it possible to replace lockscreen.exe by any app?
Thx
It varies:
On Smartphones, lockscreen.exe doesn't even exist. The LockScreen is a function within a DLL that is actually a largely used DLL (meaning you can't simply replace the DLL with your own).
On Touch-Screen phones, lockscreen.exe is quickly executed ... but once again, the function of the LockScreen itself is handed over to a DLL file.
I have done my research on replacing lockscreens ... it would seem the closest you can get UNIVERSALLY would be to have something execute on a Time-Out basis [like S2U2 and FFP_LS 2.5]

Categories

Resources