TAdvSmoothPopupTouchKeyBoard multi-monitor issue

If I show the AdvSmoothPopupTouchKeyBoard on the non-main monitor in a multi-monitor system, The keyboard shows up on the main monitor, not the monitor where the main form is currently show.


Example, I have a 4K monitor as my main monitor, and a 1080p monitor as a 2nd screen to the left of the main monitor.  If my app is running on the 2nd screen (left monitor), and I popup the touch keyboard, it gets positioned to the left most position of the main monitor (pos 0).

I have the properties set to AutoFollowFocus and AutoHide.

TAdvSmoothPopupTouchKeyBoard (no version property on this control but came from the 10.1.2.0 TMS VCL UI Pack)
Delphi Rio 10.3.3

One other thing, would it be possible to position the popup before you show it?  The first time it pops up, it gets displayed at the top left and then jumps to the "followed" position (using the AutoFollowFocus property).  Just a little jarring to see it jump like it does.

I have tried to reproduce this here with a default TAdvSmoothPopupTouchKeyboard on the form with setting AutoFollowFocus = true, but I could not reproduce this.
Did you change other settings? Implemented specific event handlers? Added specific code?

The only other setting is the AutoCapsDisplay is also True.  No event handlers used.  At runtime I set either the KeyboardType to ktQWERTY or to ktNUMERIC depending on which button they select.


I dropped a default one on the form, set just the AutoFollowFocus and switched it to use that one, and the same thing occurs.  It is as if the X pos cannot be negative when following focus (FWIW, it appears correctly in the top left of the left monitor when that option is not set).  What I see happen is the kbd first pops up on the left monitor top left of the screen and then snaps over to the main monitor in the far left pos (0 pos).  Y pos is probably correct since it is now below the focused area (which is a WPTools WPRichText control).  I also just tried it using a standard TEdit box, and it also moves to the main monitor, but correct Y pos.  Even if I drag it over to the left monitor and then click another TEdit control, the kbd once again moves to the main monitor but correct Y pos.

What I also just tried is to use the Display Settings of Windows and logically move the second monitor to the right of the main monitor.  In this configuration, it works correctly, the KBD stays on the secondary monitor... probably because the X pos is now always positive, but when on the left of the main monitor, it is likely a negative X pos.

Couple of other notes: My left monitor is a 1080P monitor set with a scale of 125%.  My Main monitor is a 4K monitor with a scale at 100%.  i move or start my app on the left monitor when testing how scale changes affect the app.

We have applied an improvement that we expect will address this.