en:docs:fapi:kbdsetstatus

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
en:docs:fapi:kbdsetstatus [2021/08/20 08:00] prokusheven: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>
  KbdSetStatus (StatData, KbdHandle)  KbdSetStatus (StatData, KbdHandle)
 +</code>
  
-==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.  +    length ([[USHORT]]) : Length, in bytes, of this data structure, including length. 
-: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. +      10 - Only valid value.  
- '''Bit     Description''' +    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. 
- 15-9    Reserved, set to zero   + 
-       Shift return is on   +Bit Description ^ 
-       Length of the turn-around character (meaningful only if bit 6 is on).   +15-9 Reserved, set to zero | 
-       Turn-around character is modified   +Shift return is on | 
-       Interim character flags are modified   +Length of the turn-around character (meaningful only if bit 6 is on). | 
-       Shift state is modified   +Turn-around character is modified | 
-       ASCII mode is on   +Interim character flags are modified | 
-       Binary mode is on   +Shift state is modified | 
-       Echo off   +ASCII mode is on | 
-       Echo on  +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. +Echo off | 
-:intcharflag (USHORT) : Interim character flags: +Echo on | 
- '''Bit     Description'''  + 
- 15-8    NLS shift state.  +    * 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. 
-       Interim character flag is on  +    intcharflag ([[USHOR]]T) : Interim character flags: 
-       Reserved, set to zero  + 
-       Application requested immediate conversion  +Bit Description ^ 
- 4-0     Reserved, set to zero +15-8 NLS shift state. | 
-:shiftstate (USHORT) : Shift state. +Interim character flag is on | 
- '''Bit      Description'''  +Reserved, set to zero | 
- 15       SysReq key down  +Application requested immediate conversion | 
- 14       CapsLock key down  +4-0 Reserved, set to zero | 
- 13       NumLock key down  + 
- 12       ScrollLock key down  +    * shiftstate ([[USHORT]]) : Shift state. 
- 11       Right Alt key down  + 
- 10       Right Ctrl key down  +Bit Description ^ 
-        Left Alt key down  +15 SysReq key down | 
-        Left Ctrl key down  +14 CapsLock key down | 
-        Insert on  +13 NumLock key down | 
-        CapsLock on  +12 ScrollLock key down | 
-        NumLock on  +11 Right Alt key down | 
-        ScrollLock on  +10 Right Ctrl key down | 
-        Either Alt key down  +Left Alt key down | 
-        Either Ctrl key down  +Left Ctrl key down | 
-        Left Shift key down  +Insert on | 
-        Right Shift key down +CapsLock on | 
-;KbdHandle ([[HKBD]]) - input : Default keyboard or the logical keyboard.+NumLock on | 
 +ScrollLock on | 
 +Either Alt key down | 
 +Either Ctrl key down | 
 +Left Shift key down | 
 +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). +  * 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           rc;            /* return code */ USHORT           rc;            /* return code */
-</PRE>+</code>
  
-===MASM Binding=== +==== MASM Binding ===
-<PRE>+ 
 +<code asm>
 KBDINFO struc KBDINFO struc
   kbst_cb           dw  ? ;length in bytes of this structure   kbst_cb           dw  ? ;length in bytes of this structure
Line 117: Line 134:
  
 Returns WORD Returns WORD
-</PRE> +</code>
- +
  
-====== Note ======+===== Note =====
  
 Text based on [[http://www.edm2.com/index.php/KbdSetStatus_(FAPI)]] Text based on [[http://www.edm2.com/index.php/KbdSetStatus_(FAPI)]]