UniUpdateShiftState

From EDM2
Revision as of 17:03, 26 July 2017 by Martini (Talk | contribs)

Jump to: navigation, search

Update the effective and actual shift state and LED status.

Syntax

UniUpdateShiftState(keyboardHndl, shiftState, vScan, makeBreak); 

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:

Calling Convention

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