Jump to content

UniUpdateShiftState

From EDM2
Revision as of 06:33, 26 April 2006 by Daniel.lee.kruse (talk | contribs) (UniUpdateShiftState)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

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