Jump to content

UniTranslateKey: Difference between revisions

From EDM2
No edit summary
No edit summary
Line 1: Line 1:
== UniTranslateKey ==
Translates a scan code and the effective shift state to a Unicode and virtual/dead key.  It also sets the BIOS scan code.
; UniTranslateKey(kbHndl, effShift, vScan, uc, vdKey, biosScan) : Translates a scan code and the effective shift state to a Unicode and virtual/dead key.  It also sets the BIOS scan code.
 
=== Syntax ===
UniTranslateKey(kbHndl, effShift, vScan, uc, vdKey, biosScan);


=== Parameters ===
=== Parameters ===
Line 15: Line 17:
=== Returns ===
=== Returns ===
An integer with values of:
An integer with values of:
* [[OS2 API:Unicode:error#ULS_BADHANDLE|ULS_BADHANDLE]]
* [[Unicode Errors#ULS_BADHANDLE|ULS_BADHANDLE]]
* [[OS2 API:Unicode:error#ULS_SUCCESS|ULS_SUCCESS]]
* [[Unicode Errors#ULS_SUCCESS|ULS_SUCCESS]]


=== Calling Convention ===
=== Calling Convention ===

Revision as of 19:02, 26 July 2017

Translates a scan code and the effective shift state to a Unicode and virtual/dead key. It also sets the BIOS scan code.

Syntax

UniTranslateKey(kbHndl, effShift, vScan, uc, vdKey, biosScan);

Parameters

kbHndl - KHAND - input
The keyboard handle created from UniCreateKeyboard.
effShift - ULONG - input
The effective shift state returned from UniUpdateShiftState.
vScan - VSCAN - input
The Presentation Manager scan code which indicates the key. This does not indicate any action keys like break, repeat, make, etc.
uc - UniChar - output
The Unicode character returned.
vdKey - VDKEY - output
The virtual/dead key.
biosScan - BYTE - output
The BIOS scan code.

Constants

None

Returns

An integer with values of:

Calling Convention

Cdecl32

Example Code

KHAND   kbHndl;
ULONG   effShift;
VSCAN   vScan;
UniChar uc;
VDKEY   vdKey;
BYTE    biosScan;
integer rc;
...
rc = UniTranslateKey(kbHndl, effShift, vScan, uc, vdKey, biosScan);
...

Related Functions

Notes

Most of the time, there is an Unicode character or Presentation Manager (virtual) scan code. A few cases (Esc, Tab, Backspace) both will exist. It is normal, upon the return of a dead key, there is also a Unicode character for the stand-alone character associated with the dead key.

The BIOS scan code is returned due to the translation being dependent on the keyboard layout. This emulates the earlier DOS and OS/2 keyboard layouts that allow the translated (BIOS) scan code to be set by the layout.

OS Version Introduced

OS/2 Warp