UniTranslateKey: Difference between revisions
Appearance
mNo edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
=== Parameters === | === Parameters === | ||
; kbHndl - [[ | ; kbHndl - [[KHAND]] - input : The keyboard handle created from [[OS2_API:UniCreateKeyboard|UniCreateKeyboard]]. | ||
; effShift - [[ | ; effShift - [[ULONG]] - input : The effective shift state returned from [[OS2 API:UniUpdateShiftState|UniUpdateShiftState]]. | ||
; vScan - [[ | ; 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 - [[ | ; uc - [[UniChar]] - output : The Unicode character returned. | ||
; vdKey - [[ | ; vdKey - [[VDKEY]] - output : The virtual/dead key. | ||
; biosScan - [[ | ; biosScan - [[BYTE]] - output : The BIOS scan code. | ||
=== Constants === | === Constants === | ||
Line 17: | Line 17: | ||
* [[OS2 API:Unicode:error#ULS_BADHANDLE|ULS_BADHANDLE]] | * [[OS2 API:Unicode:error#ULS_BADHANDLE|ULS_BADHANDLE]] | ||
* [[OS2 API:Unicode:error#ULS_SUCCESS|ULS_SUCCESS]] | * [[OS2 API:Unicode:error#ULS_SUCCESS|ULS_SUCCESS]] | ||
=== Calling conversion === | === Calling conversion === | ||
Line 28: | Line 22: | ||
=== Example Code === | === Example Code === | ||
KHAND kbHndl; | |||
ULONG effShift; | |||
VSCAN vScan; | |||
UniChar uc; | |||
VDKEY vdKey; | |||
BYTE biosScan; | |||
integer rc; | integer rc; | ||
... | ... | ||
Line 40: | Line 34: | ||
=== Related Functions === | === Related Functions === | ||
[[ | *[[UniTranslateDeadKey]] | ||
[[ | *[[UniUntranslateKey]] | ||
=== Notes === | === Notes === | ||
Line 51: | Line 45: | ||
OS/2 Warp | OS/2 Warp | ||
[[Category: | [[Category:Uni]] |
Revision as of 17:11, 25 November 2016
UniTranslateKey
- 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.
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 conversion
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