It's not SharePoint, but it's moderately interesting

Like many of you out there, I have a Windows Mobile Smartphone. The one in my case is an i-Mate SP5, and I really like it. Recently though, it developed a problem which was really annoying me.

By default, it offers quick access to menu items using the numeric keypad. For example:

1. Phone
2. Sounds
3. Profiles
4. Home Screen
5. Clock & Alarm

...

One day though, my device decided numbers were uncool. Alpha characters were now the way to go:

A. Phone
B. Sounds
C. Profiles
D. Home Screen
E. Clock & Alarm

...

This annoyed me no end, as I couldn't now use easy shortcuts and had to use the joystick to navigate everywhere. Painful.

So today I decided I'd have a dig round in the device and see if I could find the setting that had changed. I think it changed around the time I hacked on A2DP support in order to use my car's bluetooth handsfree and audio capabilities. So could be I'd changed something there. Or it could be something else. Either way I was entirely unable to find anything in the UI, so I resorted to the registry. Kids! Don't try this at home!

Using Pocket Controller, I valiantly cracked open my phone's registry with no thought for my own safety. I then hunted the registry to see if I could find some likely targets for the problem. Eventually I found the shell key [Mobile Device\HKEY_CURRENT_USER\Software\Microsoft\Shell] Which contains an entry for HasKeyboard. On my device this was set to 1. "Odd," I thought to myself, "why would that be set to 1 when I don't have a keyboard?".

The Windows Mobile Team Blog and MSDN both explain that this value shows whether the phone has a QWERTY keyboard attached. Mine doesn't. Could this be the problem? With infinite care I changed the value to zero...

Solved!

It appears something decided I had keyboard input, what that was I don't know (I suspect a bluetooth pairing with another phone resulted in the service "Input Device" being enabled) - but know I know how to fix it and so do you.