Use of Keyboard bezel button with application focus

// Expert user has replied.
Y Yanis Dalabiras 3 years 6 months ago
14 2 0

As I mentioned on this morning call, I've noticed when using the Keyboard bezel button that the cursor will lose focus.  After pressing the bezel button to call the on-screen keyboard you'll need to tap on the screen again to regain application focus.

Here's how to reproduce:

Hit bezel button to hide on-screen keyboard.
Open up Firefox (or some other application).
Click into the URL field in Firefox.
Press the bezel button to display the on-screen keyboard.
After the keyboard is displayed, application focus will be lost in Firefox.  You'll need to click back into the URL field to regain focus before typing on the on-screen keyboard.

I would expect application focus to not be lost when hiding and displaying the on-screen keyboard.

Please Register or Login to post a reply

2 Replies

E Eric De Thaey

Hi Ken,

I looked into this a bit this morning. I am able to observe the same issue with my own implementation of my My-T-Soft "Hider". The issue here is that the current workaround that we are using to toggle the keyboard state, is launching a small console application that finds the state of the keyboard and toggles it. This launch is tied in to the shortcut key that we setup to match the physical bezel button.

Now, the issue is that for any application that you're going to run by pressing a shortcut key, it will *always* steal the focus from the foreground application. You can try this with virtually any application: just create a shortcut to it, configure a shortcut key combination, place the focus in any field of any application, and hit the key combo. The focus to your app will be lost. This is not specific to Firefox and unfortunately also not to My-T-Soft. Here's a discussion on MSDN that backs this up: How do I start my application without window focus?

Unfortunately it seems like we can't make any short term changes to fix this, as it's related to how Windows behaves in relation to hotkey shortcut launching. An alternative approach (and maybe we can run this by My-T-Soft) would be to have My-T-Soft itself register for our bezel keycode and toggle the keyboard state accordingly. Another alternative would be to launch a "daemon" application at startup that will do nothing else than register for the bezel key combination and toggle the SIP state whenever the button combination comes in.

Let me know if this is affecting your customer - I could put something like the latter (daemon running in the background) together if it's affecting your customer at the moment. If it's just a bug that the customer doesn't consider an issue, I suggest to push My-T-Soft for a better solution (or build a daemon into the VC80 OS).

Y Yanis Dalabiras

Eric,

Thanks for doing more research on this.  Not sure how much luck we'll have getting My-T-Soft to modify their code.  Maybe we should look into writing the daemon/service that is always looking at the keyboard state (hidden/not hidden) and the bezel key.

This isn't affecting my beta at Abbott since they are using an iKey keyboard vs. the on-screen keyboard.  This is something that we should address by launch date though.

Thanks,
Ken

CONTACT
Can’t find what you’re looking for?