This follows up my experience from the pocketop hack for the x51 and WM2003.
http://www.aximsite.com/boards/showthread.php?t=69281
I haven't released any prehacked files yet because I'm not sure what to do here as releasing the driver is not legal. Here is how you proceed from version 1.6 of the pocketop driver:
First off, a disclaimer. I can't be responsible for anything that you do with this document. It is probably very possible to corrupt your PDA by installing drivers not designed for your OS and by playing around in the registry. It well worked for me but I cannot guarantee that it won't damage your PDA. It might be possible that a hard reset is required to fix things if something goes wrong, so be aware. Read everything carefully before proceeding.
Environment:
Hacking the Pocketop driver to work on Dell Axim x51v with Windows Mobile 5.0
The hack (technical details):
Here is what I did to hack the driver. The driver has what appears to be a list of PDAs that it works on that it compares against for the installer, but the driver is dumb and doesn't realize that it works for more PDAs ;). So we want to make it think that.
The driver has "Dell Axim x5" string encoded in 16-bit little endian Unicode located twice in the file. A hack for the x50 replaced one of the null characters with "0" to add to the string. Note that x51v will not fit, and I assume that if you tried it would cause a buffer overrun and crash the CAB installer. We are not allowed to add or delete bytes. Therefore, I found another PDA in the list, the "Compaq iPaq H3700" which had enough characters to fit in Dell Axim x51v. The strings were sorted, so I hoped the installer was using linear rather than binary search!
"Compaq iPaq H3700"
43 00 6F 00 6D 00 70 00 61 00 71 00 20 00 69 00 50 00 61 00 71 00 20 00 48 00 33 00 37 00 30 00 30 00
"Dell Axim x51v "
44 00 65 00 6C 00 6C 00 20 00 41 00 78 00 69 00 6D 00 20 00 78 00 35 00 31 00 76 00 00 00 00 00 00 00
Replace the first string in the file with the second string. There are two replacements. The first replacement is at 1AC36.
The author included a hacked DLL file, which I hacked but I found out that I didn't need it. It contains the same strings as the CAB file, but I tried an unhacked DLL and it worked just fine. If I am wrong, then replace the strings in the PockettopIM.dll file.
The author also included an EXE to switch the following key:
HKEY_LOCAL_MACHINE/Drivers/BuiltIn/IrDA/Index from the default of 2 to 4.
I did not need this hack to get things to work on the x51v, so I did not use this EXE. What I did discover is that the Beam application MUST have "recieve all incoming beams" set to off when you INSTALL the driver, otherwise the installation will NEVER work until you uninstall and reinstall, regardless of what you do. My guess is that it detects IR/COM/IRDA settings during installation once and only once and doesn't look at what is done after install.
I have no clue what this does to normal IR beaming because I've never used IR for anything before until this keyboard.
Installation:
1. Go to start -> settings -> Connections -> Beam and ensure that "recieve all incoming beams" is disabled.
2. To install the driver, copy the CAB to the device and run it.
3. The installer probably will not ask you to restart, but if it does, let it do a soft reset.
4. Open your favorite program (like Word Mobile), and select Pocketop Keyboard and enjoy
Bugs:
1. Icons are for QVGA. They will display over the top half of the soft keys and are small as heck. Sucks, but it still works. Use magnifying glass if you aren't Superman.
2. Pockettop icon is corrupted. Looks bad, but it still works.
3. Input Selection Arrow is missing. Actually, it is still there. Click around right of the corrupted icon on the bottom until you find the magic arrow just as if you were using a real driver that did work.
4. Does not uninstall properly. You'll have to use a registry editor and delete DLL files and registry keys. See instructions below and be careful.
Troubleshoot:
Q. I get the message "Failed to open the infrared port. Infrared sending/receiving must be closed in order to utilize the Pockettop Keyboard".
A. You probably did not do step 1 BEFORE installing. It seems as if connection settings are detected during install so you will need to uninstall and reinstall the driver.
Q. I can't switch off the Pockettop driver -- the arrow is not visible!
A. No, it really is there, trust me. Tap the icon to enable the input method where the icons are visible. Then tap around to the right (OFF the icon) until you find the arrow to select other methods like Transcriber.
Uninstallation:
Doing this requires registry editing and DLL removal, so I am not responsible for any actions taken here. You can damage your PDA if you make a mistake that would require a hard reset.
I was unable to ever get the driver to uninstall properly through the normal methods, even after many ways of trying (soft reset etc). Also when the uninstall breaks you cannot reinstall either. My best guess is that the control panel for removing CABs and other software have the input method icon and that is keeping the driver open. Here is the best that can be done:
Delete the PocketopIM.DLL in your Windows folder (I used ActiveSync). This causes the driver to fail, but when it fails it is not loaded. Now run the uninstall program. The uninstaller should work. If it doesn't, let Windows remove the entry for it anyway.
After the uninstall, the Pockettop Keyboard is still able to be selected, but selecting it either does nothing or brings up the normal keyboard input method. To fix it, we have to edit the registry, and delete the following keys using a registry editor like PHM Registry editor
Input Method Registration: HKEY_CLASSES_ROOT\CLSID\{B085D202-ABF9-4583-8BF7-CFC09A17B25F} (SHOULD be -- search for Pocketop)
Hotkey Settings: \HKLM\Software\Pocketop
Explaination:
HKLM stands for HKEY_LOCAL_MACHINE.
The first key in the classes is the actual key that puts Pockettop Keyboard in the list of input methods. Ensure that it is the right key and should have fields like IsSIPInputMethod and the other keys and values under the key you found make references to Pocketop, etc.
The second key in Software is for the Pocketop settings for their hotkeys. You could export it to some file to save it or just not delete it if you want to save your settings for a reinstall or a backup and install later. If you don't intend to use the driver again or you want to completely reset your settings, delete both keys