Jump to content

KBDKEYINFO: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
== KBDKEYINFO ==
Character data structure.
Character data structure.


Line 8: Line 7:
  UCHAR  bNlsShift
  UCHAR  bNlsShift
  [[USHORT]]  fsState
  [[USHORT]]  fsState
  USHORT  time
  ULONG  time


==== C Declaration Method ====
==== C Declaration Method ====
Line 31: Line 30:
::Bit 0 - If set to 1, shift status returned without a character.
::Bit 0 - If set to 1, shift status returned without a character.
;bNlsShift:NLS shift status. Reserved, must be 0.
;bNlsShift:NLS shift status. Reserved, must be 0.
::7
:::Kana-To-Kanji Conversion Mode (Japanese)
:::Hanja_25: Hangeul-to-Hanja Conversion Mode (Korean)
:::Reserved (T-Chinese)
::6
:::Romaji Mode (Japanese)
:::Hanja_CSR: Hangeul-to-Hanja Conversion Mode (Korean)
:::Reserved (T-Chinese)
::5
:::Reserved
::4-3
:::00 Shift Indicator Row always visible
:::01 Shift Indicator Row always invisible
:::10 Shift Indicator Row visible only when a shift key is pressed. And it becomes invisible, depress another key.
:::11 Reserved
::2-1
:::00 Alphanumeric Mode
:::01 Katakana Mode (Japanese)<br/>Jamo Mode (Korean)<br/>Phonetic Input Mode (T-Chinese)
:::10 Hiragana Mode (Japanese)<br/>Hangeul Mode (Korean)<br/>TsangJye Input Mode (T-Chinese)
:::11 Reserved
::0
:::DBCS Mode
;fsState:Shift key status flag.
;fsState:Shift key status flag.
:Values are:
::{|class="wikitable"
::Bit 15   SysReq key down  
|+Shift key status
::Bit 14   Caps Lock key down  
!Bit||Description
::Bit 13   NumLock key down  
|-
::Bit 12   Scroll Lock key down  
|15||SysReq key down
::Bit 11   Right Alt key down  
|-
::Bit 10   Right Ctrl key down  
|14||CapsLock key down
::Bit  9   Left Alt key down  
|-
::Bit  8   Left Ctrl key down  
|13||NumLock key down
::Bit  7   Insert on  
|-
::Bit  6   Caps Lock on  
|12||ScrollLock key down
::Bit  5   NumLock on.
|-
::Bit  4   Scroll Lock on  
|11||Right Alt key down (SBCS)
::Bit  3   Either Alt key down  
|-
::Bit  2   Either Ctrl key down  
|10||Right Ctrl key down (SBCS)
::Bit  1   Left Shift key down  
|-
::Bit  0   Right Shift key down
|9||Left Alt key down
|-
|8||Left Ctrl key down
|-
|7||Insert on
|-
|6||CapsLock on
|-
|5||NumLock on
|-
|4||ScrollLock on
|-
|3||Either Alt key down (DBCS)
|-
|2||Either Ctrl key down (DBCS)
|-
|1||Left Shift key down
|-
|0||Right Shift key down
|}
;time:Time stamp in milliseconds.
;time:Time stamp in milliseconds.
:Time stamp indicating when a key was pressed. It is specified in milliseconds from the time the system was started.
:Time stamp indicating when a key was pressed. It is specified in milliseconds from the time the system was started.


[[Category:Data type]]
[[Category:Data type]]

Latest revision as of 03:32, 24 January 2023

Character data structure.

Type

UCHAR   chChar
UCHAR   chScan
UCHAR   fbStatus
UCHAR   bNlsShift
USHORT  fsState
ULONG   time

C Declaration Method

typedef struct

Fields

chChar
ASCII Character code.
The scan code received from the keyboard is translated to the ASCII character code.
chScan
Code received for the keyboard.
Scan code received from the keyboard is translated to the ASCII character code.
fbStatus
State of the keystroke event flag.
Bits 7-6 Has the following values:
00 Undefined.
01 Final character; interim character flag is turned off.
10 Interim character.
11 Final character; interim character flag is turned on.
Bit 5 - If set to 1, immediate conversion requested.
Bits 4-2 - Reserved.
Bit 1 - Has the following values:
0 Scan code is a character
1 Scan code is not a character; instead it is an extended key code from the keyboard.
Bit 0 - If set to 1, shift status returned without a character.
bNlsShift
NLS shift status. Reserved, must be 0.
7
Kana-To-Kanji Conversion Mode (Japanese)
Hanja_25: Hangeul-to-Hanja Conversion Mode (Korean)
Reserved (T-Chinese)
6
Romaji Mode (Japanese)
Hanja_CSR: Hangeul-to-Hanja Conversion Mode (Korean)
Reserved (T-Chinese)
5
Reserved
4-3
00 Shift Indicator Row always visible
01 Shift Indicator Row always invisible
10 Shift Indicator Row visible only when a shift key is pressed. And it becomes invisible, depress another key.
11 Reserved
2-1
00 Alphanumeric Mode
01 Katakana Mode (Japanese)
Jamo Mode (Korean)
Phonetic Input Mode (T-Chinese)
10 Hiragana Mode (Japanese)
Hangeul Mode (Korean)
TsangJye Input Mode (T-Chinese)
11 Reserved
0
DBCS Mode
fsState
Shift key status flag.
Shift key status
Bit Description
15 SysReq key down
14 CapsLock key down
13 NumLock key down
12 ScrollLock key down
11 Right Alt key down (SBCS)
10 Right Ctrl key down (SBCS)
9 Left Alt key down
8 Left Ctrl key down
7 Insert on
6 CapsLock on
5 NumLock on
4 ScrollLock on
3 Either Alt key down (DBCS)
2 Either Ctrl key down (DBCS)
1 Left Shift key down
0 Right Shift key down
time
Time stamp in milliseconds.
Time stamp indicating when a key was pressed. It is specified in milliseconds from the time the system was started.