UniUpdateShiftState: Difference between revisions
Appearance
m added one |
mNo edit summary |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== | Update the effective and actual shift state and LED status. | ||
=== Syntax === | |||
UniUpdateShiftState(keyboardHndl, shiftState, vScan, makeBreak); | |||
=== Parameters === | === Parameters === | ||
; keyboardHndl - [[ | ; keyboardHndl - [[KHAND]] - input : The key board handle received from [[UniCreateKeyboard]]. | ||
; shiftState - [[ | ; 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 - [[VSCAN]] - input : Presentation Manager scan code. | ||
; makeBreak - [[ | ; makeBreak - [[BYTE]] - input : Key make, break, repeat indicator. | ||
=== Constants === | === Constants === | ||
Line 13: | Line 15: | ||
=== Returns === | === Returns === | ||
An integer with values of: | An integer with values of: | ||
* [[ | * [[Unicode Errors#ULS_BADHANDLE|ULS_BADHANDLE]] | ||
* [[ | * [[Unicode Errors#ULS_SUCCESS|ULS_SUCCESS]] | ||
=== Calling Convention === | |||
=== Calling | |||
[[Cdecl32]] | [[Cdecl32]] | ||
=== | === Bindings === | ||
KHAND keyboardHndl; | |||
USHIFTSTATE shiftState; | |||
VSCAN vScan; | |||
BYTE makeBreak; | |||
integer rc; | integer rc; | ||
... | ... | ||
Line 36: | Line 32: | ||
=== Related Functions === | === Related Functions === | ||
[[ | *[[UniResetShiftState]] | ||
=== Notes === | === 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 actual shift state | ||
* The effective shift state | * The effective shift state | ||
* The LED status | * 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. | 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 Version Introduced === | ||
OS/2 Warp | OS/2 Warp | ||
[[Category:Uni]] |
Latest revision as of 16:07, 12 March 2018
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
Bindings
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