[Lazarus] LHelp and LazMouseAndKeyInput package
Andrey Sobol
andrey.sobol.nn at gmail.com
Mon Feb 22 02:29:23 CET 2021
On 22.02.2021 1:45, Juha Manninen via lazarus wrote:
> Help has improved lately thanks to Andrey Sobol's patches mostly.
> However a new dependency was added: LazMouseAndKeyInput.
> On Linux and UNIX systems it pulls in libXtst dependency.
> LHelp is part of Lazarus BigIde target which is used for releases.
> Extra dependencies for BigIde should be avoided if possible.
>
> Now I studied how LazMouseAndKeyInput is used in LHelp.
> Well, it is not used!
> LHelpCore has MouseAndkeyInput in its uses section but removing it and
> the whole package dependency makes no difference.
> My analysis: LazMouseAndKeyInput dependency can be removed from LHelp.
> Am I right?
>
> Regards,
> Juha
>
>
Helo Juha,
You excluded this code from lcore.pas
procedure THelpForm.ShowApp();
......
{$IFDEF WINDOWS}
// Go to TOC TreeView and to get focus on foreground window
KeyInput.Apply([ssCtrl]);
KeyInput.Press(VK_T);
KeyInput.UnApply([ssCtrl]);
{$ENDIF}
Without the code on windows system we can`t get rightly a focus lHelp
by an event of restore the window after hide (the window is blinking on
an aplication panel sometimes). We should send an user input sentence to
the foregroud window from a mouse or from keyboard to get focus (that is
windows specific problem).
I see some solutions of that:
1. To rewrite that code by WinApi (that is simple).
2. To exclude the package dependency on Mac system, but I don`t know how?
3. To fix the Application.BringToFront() function at windows to rightly
bring a foreground window to a front of a display.
But I don`t see that problem now :). May be the blinkg was also a part
of that issue https://bugs.freepascal.org/view.php?id=38276
I redone many pieces after that, that a second round :)
--
Andrey Sobol
More information about the lazarus
mailing list