call() statement calls an external library.
store(callDefinitionStore) "myimx.dll:KeyEvent" ... > call(callDefinitionStore)
- The store which defines the external library function. The format of the store is discussed below.
call() statement calls an Input Method Extension (IMX) DLL. Functionally it behaves like the
and can be used anywhere the
use() statement is valid except after the
call() statement originated on Microsoft Windows, the definition is based on Windows requirements.
The store given must be referencing a function in an external DLL, which should be installed as part of a package into the same path as the
callDefinitionStore value is interpreted slightly differently.
The DLL filename is ignored, which means each called function must have a unique name (i.e. you cannot reference two DLLs from the same keyboard that have the same function
name). The compiler will locate a file with the name of the function and a '.call_js' extension, and will embed the source from this file into the compiled keyboard.
In the example above, to compile for KeymanWeb, the file 'KeyEvent.call_js' must exist in the same folder as the .kmn file. The .call_js file must be encoded in UTF-8
(with or without UTF-8 BOM).
The IMX functionality supports both 32-bit and 64-bit DLLs. A 64-bit DLL should be named with a .x64.dll extension, rather than just .dll.
store(DLLFunction) "myimx.dll:KeyEvent" + any(key) > call(DLLFunction)
call() statement can be used in keyboards on the following platforms.
|Windows||macOS||Linux||Desktop web||Mobile web||iOS||Android|
Keyman 8.0: Added support for x64.
Keyman 8.0: Added support for web IMX.
The call statement was introduced in Keyman 6.0.