Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
en:docs:fapi:kbdsetstatus [2021/08/20 08:00] – prokushev | en:docs:fapi:kbdsetstatus [2021/09/19 01:27] (current) – prokushev | ||
---|---|---|---|
Line 5: | Line 5: | ||
This call sets the characteristics of the keyboard. | This call sets the characteristics of the keyboard. | ||
- | ==Syntax== | + | ===== Syntax ===== |
+ | <code c> | ||
| | ||
+ | </ | ||
- | ==Parameters== | + | ===== Parameters |
- | ;StatData (PKBDINFO) - input : Address of the keyboard status structure: | + | |
- | :length ([[USHORT]]) : Length, in bytes, of this data structure, including length. | + | * StatData ([[PKBDINFO]]) - input : Address of the keyboard status structure: |
- | ::10 - Only valid value. | + | |
- | :sysstate (USHORT) : The system state altered by this call. If bits 0 and 1 are off, the echo state of the system is not altered. If bits 2 and 3 are off, the binary and ASCII state of the system is not altered. If bits 0 and 1 are on, or if bits 2 and 3 are on, the function returns an error. If binary mode is set, echo is ignored. | + | |
- | ''' | + | |
- | | + | |
- | | + | ^ Bit ^ Description |
- | | + | | 15-9 | Reserved, set to zero | |
- | | + | | 8 | Shift return is on | |
- | | + | | 7 | Length of the turn-around character (meaningful only if bit 6 is on). | |
- | | + | | 6 | Turn-around character is modified |
- | | + | | 5 | Interim character flags are modified |
- | | + | | 4 | Shift state is modified |
- | | + | | 3 | ASCII mode is on | |
- | | + | | 2 | Binary mode is on | |
- | :turnchardef (USHORT) : Definition of the turn-around character. In ASCII and extended-ASCII format, the turn-around character is defined as the carriage return. In ASCII format only, the turn-around character is defined in the low-order byte. | + | | 1 | Echo off | |
- | :intcharflag (USHORT) : Interim character flags: | + | | 0 | Echo on | |
- | ''' | + | |
- | | + | * turnchardef ([[USHORT]]) : Definition of the turn-around character. In ASCII and extended-ASCII format, the turn-around character is defined as the carriage return. In ASCII format only, the turn-around character is defined in the low-order byte. |
- | | + | |
- | | + | |
- | | + | ^ Bit ^ Description |
- | | + | | 15-8 | NLS shift state. |
- | :shiftstate (USHORT) : Shift state. | + | | 7 | Interim character flag is on | |
- | ''' | + | | 6 | Reserved, set to zero | |
- | | + | | 5 | Application requested immediate conversion |
- | | + | | 4-0 | Reserved, set to zero | |
- | | + | |
- | | + | * shiftstate ([[USHORT]]) : Shift state. |
- | | + | |
- | | + | ^ Bit ^ Description |
- | | + | | 15 | SysReq key down | |
- | | + | | 14 | CapsLock key down | |
- | | + | | 13 | NumLock key down | |
- | | + | | 12 | ScrollLock key down | |
- | | + | | 11 | Right Alt key down | |
- | | + | | 10 | Right Ctrl key down | |
- | | + | | 9 | Left Alt key down | |
- | | + | | 8 | Left Ctrl key down | |
- | | + | | 7 | Insert on | |
- | | + | | 6 | CapsLock on | |
- | ;KbdHandle ([[HKBD]]) - input : Default keyboard or the logical keyboard. | + | | 5 | NumLock on | |
+ | | 4 | ScrollLock on | | ||
+ | | 3 | Either Alt key down | | ||
+ | | 2 | Either Ctrl key down | | ||
+ | | 1 | Left Shift key down | | ||
+ | | 0 | Right Shift key down | | ||
+ | |||
+ | * KbdHandle ([[HKBD]]) - input : Default keyboard or the logical keyboard. | ||
+ | |||
+ | ===== Return Code ===== | ||
+ | |||
+ | rc ([[USHOR]]T) - return | ||
- | ==Return Code== | ||
- | rc (USHORT) - return | ||
Return code descriptions are: | Return code descriptions are: | ||
- | * 0 NO_ERROR | ||
- | * 376 ERROR_KBD_INVALID_LENGTH | ||
- | * 377 ERROR_KBD_INVALID_ECHO_MASK | ||
- | * 378 ERROR_KBD_INVALID_INPUT_MASK | ||
- | * 439 ERROR_KBD_INVALID_HANDLE | ||
- | * 445 ERROR_KBD_FOCUS_REQUIRED | ||
- | * 447 ERROR_KBD_KEYBOARD_BUSY | ||
- | * 464 ERROR_KBD_DETACHED | ||
- | * 504 ERROR_KBD_EXTENDED_SG | ||
- | ==Remarks== | + | * 0 NO_ERROR |
+ | * 376 ERROR_KBD_INVALID_LENGTH | ||
+ | * 377 ERROR_KBD_INVALID_ECHO_MASK | ||
+ | * 378 ERROR_KBD_INVALID_INPUT_MASK | ||
+ | * 439 ERROR_KBD_INVALID_HANDLE | ||
+ | * 445 ERROR_KBD_FOCUS_REQUIRED | ||
+ | * 447 ERROR_KBD_KEYBOARD_BUSY | ||
+ | * 464 ERROR_KBD_DETACHED | ||
+ | * 504 ERROR_KBD_EXTENDED_SG | ||
+ | |||
+ | ===== Remarks ===== | ||
Shift return (bit 8 in sysstate) must be disabled in ASCII mode. | Shift return (bit 8 in sysstate) must be disabled in ASCII mode. | ||
KbdSetStatus is ignored for a Vio-windowed application. | KbdSetStatus is ignored for a Vio-windowed application. | ||
- | ===Family API Considerations=== | + | ==== Family API Considerations ==== |
Some options operate differently in the DOS mode than in the OS/2 mode. Therefore, the following restrictions apply to KbdSetStatus when coding in the DOS mode: | Some options operate differently in the DOS mode than in the OS/2 mode. Therefore, the following restrictions apply to KbdSetStatus when coding in the DOS mode: | ||
- | * KbdSetStatus does not accept a bit mask of 10 (ASCII on, Echo Off). | + | |
- | * Raw (binary) Mode and Echo On are not supported and return an error if requested. | + | * Raw (binary) Mode and Echo On are not supported and return an error if requested. |
- | * KbdHandle is ignored. | + | * KbdHandle is ignored. |
- | * Interim character is not supported. | + | * Interim character is not supported. |
- | * Turnaround character is not supported. | + | * Turnaround character is not supported. |
+ | |||
+ | ===== Bindings ===== | ||
+ | |||
+ | ==== C Binding ==== | ||
- | ==Example Code== | + | <code c> |
- | ===C Binding=== | + | |
- | <PRE> | + | |
typedef struct _KBDINFO { /* kbst */ | typedef struct _KBDINFO { /* kbst */ | ||
USHORT cb; /* length in bytes of this structure */ | USHORT cb; /* length in bytes of this structure */ | ||
Line 97: | Line 113: | ||
USHORT | USHORT | ||
- | </PRE> | + | </code> |
- | ===MASM Binding=== | + | ==== MASM Binding ==== |
- | <PRE> | + | |
+ | <code asm> | ||
KBDINFO struc | KBDINFO struc | ||
kbst_cb | kbst_cb | ||
Line 117: | Line 134: | ||
Returns WORD | Returns WORD | ||
- | </PRE> | + | </code> |
- | + | ||
- | ====== Note ====== | + | ===== Note ===== |
Text based on [[http:// | Text based on [[http:// |