Jump to content

KBDKEYINFO: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
Line 30: 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)
        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.
;fsState:Shift key status flag.
{|class="wikitable"
{|class="wikitable"
Line 43: Line 66:
|12||ScrollLock key down
|12||ScrollLock key down
|-
|-
|11||Right Alt key down
|11||Right Alt key down (SBCS)
|-
|-
|10||Right Ctrl key down
|10||Right Ctrl key down (SBCS)
|-
|-
|9||Left Alt key down
|9||Left Alt key down
Line 59: Line 82:
|4||ScrollLock on
|4||ScrollLock on
|-
|-
|3||Either Alt key down
|3||Either Alt key down (DBCS)
|-
|-
|2||Either Ctrl key down
|2||Either Ctrl key down (DBCS)
|-
|-
|1||Left Shift key down
|1||Left Shift key down

Revision as of 14:16, 3 September 2018

Character data structure.

Type

UCHAR   chChar
UCHAR   chScan
UCHAR   fbStatus
UCHAR   bNlsShift
USHORT  fsState
USHORT  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.