Difference between revisions of "MouseAndKeyInput"
From Free Pascal wiki
Jump to navigationJump to searchm (Fix heading levels; fix typos; add syntax highlighting) |
m (→Usage) |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
MouseAndKeyInput package is a tool for cross-platform manipulation with mouse and key input. You can move mouse cursor to specified location, send clicks and do key presses. It is suitable for GUI testing or program control demonstration. | MouseAndKeyInput package is a tool for cross-platform manipulation with mouse and key input. You can move mouse cursor to specified location, send clicks and do key presses. It is suitable for GUI testing or program control demonstration. | ||
− | + | Package is preinstalled in Lazarus in folder "components/mouseandkeyinput". | |
− | + | Author: [[User:Tombo|Tom Gregorovic]] | |
− | + | License: GPL | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | GPL | ||
==Change Log== | ==Change Log== | ||
Line 35: | Line 29: | ||
* ALT key pressing is not supported. | * ALT key pressing is not supported. | ||
− | == | + | ==Usage== |
− | + | After opening your project: | |
* Go to the Lazarus install directory -> components -> mouseandkeyinput. | * Go to the Lazarus install directory -> components -> mouseandkeyinput. | ||
Line 46: | Line 40: | ||
<syntaxhighlight lang=pascal> | <syntaxhighlight lang=pascal> | ||
− | ..., MouseAndKeyInput, LCLType; | + | Uses |
+ | ..., MouseAndKeyInput, LCLType; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revision as of 12:40, 11 August 2020
│
English (en) │
français (fr) │
About
MouseAndKeyInput package is a tool for cross-platform manipulation with mouse and key input. You can move mouse cursor to specified location, send clicks and do key presses. It is suitable for GUI testing or program control demonstration.
Package is preinstalled in Lazarus in folder "components/mouseandkeyinput".
Author: Tom Gregorovic
License: GPL
Change Log
- Version 0.1
Restrictions
- It is not recommended to call mouse and key input directly from events like OnClick, use Application.QueueAsyncCall instead.
- Do not forget to reset the mouse button and key state after Down method with Up method.
Carbon
- Pressing alpha chars is not supported.
Gtk1/2
- Needs Xtst library.
- ALT key pressing is not supported.
Usage
After opening your project:
- Go to the Lazarus install directory -> components -> mouseandkeyinput.
- There you will find: lazmouseandkeyinput.lpk.
- Open and compile the .lpk.
In your unit.pas add in the Uses clause:
Uses
..., MouseAndKeyInput, LCLType;
To simulate press of F1 from a button:
procedure TForm1.HelpButtonClick(Sender: TObject);
begin
KeyInput.Apply([ssCtrl]);
KeyInput.Press(VK_F1); // This will simulate press of F1 function key.
KeyInput.Unapply([ssCtrl]);
end;
VK- definitions are found here: http://lazarus-ccr.sourceforge.net/docs/lcl/lcltype/index-2.html
Mouse control:
MouseInput.Click(mbLeft,[],300,300); // Left click on X:=300 , Y:=300
MouseInput.Click(mbRight,[],1365,2); // Right click on X:=1365 , Y:=2