OS2 API:UniUpdateShiftState

From EDM2

Revision as of 05:12, 17 May 2006 by Daniel.lee.kruse (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

UniUpdateShiftState

UniUpdateShiftState(keyboardHndl, shiftState, vScan, makeBreak) 
Update the effective and actual shift state and LED status.

Parameters

keyboardHndl - KHAND - input 
The key board handle received from UniCreateKeyboard.
shiftState - USHIFTSTATE - input 
The shift state consists of 3 32-bit values. These bit definitions define the actual, effective, and LED shift states.
vScan - VSCAN - input 
Presentation Manager scan code.
makeBreak - BYTE - input 
Key make, break, repeat indicator.

Constants

None

Returns

An integer with values of:

Module

Define (C/C++)

Export name/Ordinal

Calling conversion

Cdecl32

Example Code

KHAND       keyboardHndl;
USHIFTSTATE shiftState;
VSCAN       vScan;
BYTE        makeBreak;
integer     rc;
...
rc = UniUpdateShiftState(keyboardHndl, shiftState, vScan, makeBreak);
...

Related Functions

UniResetShiftState

Notes

UniUpdateShiftState modifies the shift state as dictated by the scan code, using the specified keyboard translation tables. The shift state consists of these three parts:

  • The actual shift state
  • The effective shift state
  • The LED status

The effective shift is equal to the 16 lower bits of the actual shift, but when a lock state modifies an actual shift (such as caps lock affecting shift), the effective shift is modified. This means that the effective shift is only correct for the specified scan code.

OS Version Introduced

OS/2 Warp

Personal tools