13 #define MAX_KEYBOARDS   127    14 #define MAX_KB_PORT_NUM 7    15 #define MAX_KEYCODES    62    18 #define KB_RAWDAT   0x8000U    19 #define KB_KEYPAD   0x4000U    22 #define KB_RAWKEY_NO_EVENT              0x00    23 #define KB_RAWKEY_E_ROLLOVER            0x01    24 #define KB_RAWKEY_E_POSTFAIL            0x02    25 #define KB_RAWKEY_E_UNDEF               0x03    26 #define KB_RAWKEY_ESCAPE                0x29    27 #define KB_RAWKEY_106_KANJI             0x35        28 #define KB_RAWKEY_CAPS_LOCK             0x39    29 #define KB_RAWKEY_F1                    0x3a    30 #define KB_RAWKEY_F2                    0x3b    31 #define KB_RAWKEY_F3                    0x3c    32 #define KB_RAWKEY_F4                    0x3d    33 #define KB_RAWKEY_F5                    0x3e    34 #define KB_RAWKEY_F6                    0x3f    35 #define KB_RAWKEY_F7                    0x40    36 #define KB_RAWKEY_F8                    0x41    37 #define KB_RAWKEY_F9                    0x42    38 #define KB_RAWKEY_F10                   0x43    39 #define KB_RAWKEY_F11                   0x44    40 #define KB_RAWKEY_F12                   0x45    41 #define KB_RAWKEY_PRINTSCREEN           0x46    42 #define KB_RAWKEY_SCROLL_LOCK           0x47    43 #define KB_RAWKEY_PAUSE                 0x48    44 #define KB_RAWKEY_INSERT                0x49    45 #define KB_RAWKEY_HOME                  0x4a    46 #define KB_RAWKEY_PAGE_UP               0x4b    47 #define KB_RAWKEY_DELETE                0x4c    48 #define KB_RAWKEY_END                   0x4d    49 #define KB_RAWKEY_PAGE_DOWN             0x4e    50 #define KB_RAWKEY_RIGHT_ARROW           0x4f    51 #define KB_RAWKEY_LEFT_ARROW            0x50    52 #define KB_RAWKEY_DOWN_ARROW            0x51    53 #define KB_RAWKEY_UP_ARROW              0x52    54 #define KB_RAWKEY_NUM_LOCK              0x53    55 #define KB_RAWKEY_APPLICATION           0x65        56 #define KB_RAWKEY_KANA                  0x88        57 #define KB_RAWKEY_HENKAN                0x8a        58 #define KB_RAWKEY_MUHENKAN              0x8b        61 #define KB_RAWKEY_A                     0x04    62 #define KB_RAWKEY_B                     0x05    63 #define KB_RAWKEY_C                     0x06    64 #define KB_RAWKEY_D                     0x07    65 #define KB_RAWKEY_E                     0x08    66 #define KB_RAWKEY_F                     0x09    67 #define KB_RAWKEY_G                     0x0A    68 #define KB_RAWKEY_H                     0x0B    69 #define KB_RAWKEY_I                     0x0C    70 #define KB_RAWKEY_J                     0x0D    71 #define KB_RAWKEY_K                     0x0E    72 #define KB_RAWKEY_L                     0x0F    73 #define KB_RAWKEY_M                     0x10    74 #define KB_RAWKEY_N                     0x11    75 #define KB_RAWKEY_O                     0x12    76 #define KB_RAWKEY_P                     0x13    77 #define KB_RAWKEY_Q                     0x14    78 #define KB_RAWKEY_R                     0x15    79 #define KB_RAWKEY_S                     0x16    80 #define KB_RAWKEY_T                     0x17    81 #define KB_RAWKEY_U                     0x18    82 #define KB_RAWKEY_V                     0x19    83 #define KB_RAWKEY_W                     0x1A    84 #define KB_RAWKEY_X                     0x1B    85 #define KB_RAWKEY_Y                     0x1C    86 #define KB_RAWKEY_Z                     0x1D    87 #define KB_RAWKEY_1                     0x1E    88 #define KB_RAWKEY_2                     0x1F    89 #define KB_RAWKEY_3                     0x20    90 #define KB_RAWKEY_4                     0x21    91 #define KB_RAWKEY_5                     0x22    92 #define KB_RAWKEY_6                     0x23    93 #define KB_RAWKEY_7                     0x24    94 #define KB_RAWKEY_8                     0x25    95 #define KB_RAWKEY_9                     0x26    96 #define KB_RAWKEY_0                     0x27    97 #define KB_RAWKEY_ENTER                 0x28    98 #define KB_RAWKEY_ESC                   0x29    99 #define KB_RAWKEY_BS                    0x2A   100 #define KB_RAWKEY_TAB                   0x2B   101 #define KB_RAWKEY_SPACE                 0x2C   102 #define KB_RAWKEY_MINUS                 0x2D   103 #define KB_RAWKEY_EQUAL_101             0x2E       104 #define KB_RAWKEY_ACCENT_CIRCONFLEX_106 0x2E       105 #define KB_RAWKEY_LEFT_BRACKET_101      0x2F       106 #define KB_RAWKEY_ATMARK_106            0x2F       107 #define KB_RAWKEY_RIGHT_BRACKET_101     0x30       108 #define KB_RAWKEY_LEFT_BRACKET_106      0x30       109 #define KB_RAWKEY_BACKSLASH_101         0x31       110 #define KB_RAWKEY_RIGHT_BRACKET_106     0x32       111 #define KB_RAWKEY_SEMICOLON             0x33       112 #define KB_RAWKEY_QUOTATION_101         0x34       113 #define KB_RAWKEY_COLON_106             0x34       114 #define KB_RAWKEY_COMMA                 0x36   115 #define KB_RAWKEY_PERIOD                0x37   116 #define KB_RAWKEY_SLASH                 0x38   117 #define KB_RAWKEY_CAPS_LOCK             0x39   118 #define KB_RAWKEY_KPAD_NUMLOCK          0x53   119 #define KB_RAWKEY_KPAD_SLASH            0x54   120 #define KB_RAWKEY_KPAD_ASTERISK         0x55   121 #define KB_RAWKEY_KPAD_MINUS            0x56   122 #define KB_RAWKEY_KPAD_PLUS             0x57   123 #define KB_RAWKEY_KPAD_ENTER            0x58   124 #define KB_RAWKEY_KPAD_1                0x59   125 #define KB_RAWKEY_KPAD_2                0x5A   126 #define KB_RAWKEY_KPAD_3                0x5B   127 #define KB_RAWKEY_KPAD_4                0x5C   128 #define KB_RAWKEY_KPAD_5                0x5D   129 #define KB_RAWKEY_KPAD_6                0x5E   130 #define KB_RAWKEY_KPAD_7                0x5F   131 #define KB_RAWKEY_KPAD_8                0x60   132 #define KB_RAWKEY_KPAD_9                0x61   133 #define KB_RAWKEY_KPAD_0                0x62   134 #define KB_RAWKEY_KPAD_PERIOD           0x63   135 #define KB_RAWKEY_BACKSLASH_106         0x87   136 #define KB_RAWKEY_YEN_106               0x89   196     KB_MAPPING_106_KANA                 = 2,
   197     KB_MAPPING_GERMAN_GERMANY           = 3,
   198     KB_MAPPING_SPANISH_SPAIN            = 4,
   199     KB_MAPPING_FRENCH_FRANCE            = 5,
   200     KB_MAPPING_ITALIAN_ITALY            = 6,
   201     KB_MAPPING_DUTCH_NETHERLANDS        = 7,
   202     KB_MAPPING_PORTUGUESE_PORTUGAL      = 8,
   203     KB_MAPPING_RUSSIAN_RUSSIA           = 9,
   204     KB_MAPPING_ENGLISH_UK               = 10,
   205     KB_MAPPING_KOREAN_KOREA             = 11,
   206     KB_MAPPING_NORWEGIAN_NORWAY         = 12,
   207     KB_MAPPING_FINNISH_FINLAND          = 13,
   208     KB_MAPPING_DANISH_DENMARK           = 14,
   209     KB_MAPPING_SWEDISH_SWEDEN           = 15,
   210     KB_MAPPING_CHINESE_TRADITIONAL      = 16,
   211     KB_MAPPING_CHINESE_SIMPLIFIED       = 17,
   212     KB_MAPPING_SWISS_FRENCH_SWITZERLAND = 18,
   213     KB_MAPPING_SWISS_GERMAN_SWITZERLAND = 19,
   214     KB_MAPPING_CANADIAN_FRENCH_CANADA   = 20
 s32 ioKbSetReadMode(const u32 kb_no, const KbRmode kb_rmode)
Set Keyboard data read mode.
 
Packet Mode.
Definition: kb.h:183
 
u32 r_ctrl
Modifier Key Right CTRL 0:OFF 1:ON Bit4.
Definition: kb.h:162
 
u32 rmode
See KbRmode enum definition.
Definition: kb.h:229
 
u32 max
max kb allowed to connect
Definition: kb.h:219
 
KbCodeType
Keyboard raw or ASCII mode values.
Definition: kb.h:187
 
Keyboard config data structure.
Definition: kb.h:227
 
u32 kana
LED Kana 0:OFF 1:ON Bit4.
Definition: kb.h:144
 
Keyboard info data structure.
Definition: kb.h:218
 
s32 ioKbEnd(void)
Close/End Keyboard library.
 
struct KbConfig KbConfig
Keyboard config data structure.
 
s32 ioKbRead(const u32 kb_no, KbData *data)
Read data from keyboard data buffer.
 
KbMapping
Keyboard mapping values.
Definition: kb.h:193
 
struct KbMkey KbMkey
Keyboard Modifier Key State.
 
s32 ioKbClearBuf(const u32 kb_no)
Clear Keyboard Buffer Data.
 
Character Input Mode.
Definition: kb.h:182
 
u16 keycode[MAX_KEYCODES]
Keycode values.
Definition: kb.h:177
 
u32 l_win
Modifier Key Left WIN 0:OFF 1:ON Bit3.
Definition: kb.h:163
 
s32 ioKbInit(const u32 max)
Initialize Keyboard library.
 
struct KbData KbData
Keyboard input data data structure.
 
u32 r_win
Modifier Key Right WIN 0:OFF 1:ON Bit7.
Definition: kb.h:159
 
struct KbInfo KbInfo
Keyboard info data structure.
 
u32 l_ctrl
Modifier Key Left CTRL 0:OFF 1:ON Bit0 LSB.
Definition: kb.h:166
 
u32 reserved
Reserved MSB.
Definition: kb.h:158
 
s32 nb_keycode
Number of key codes (0 equal no data)
Definition: kb.h:176
 
s32 ioKbGetInfo(KbInfo *kb_info)
Get Keyboard Information.
 
u32 mapping
See KbMapping enum definition.
Definition: kb.h:228
 
u16 ioKbCnvRawCode(const KbMapping mapping, const KbMkey mkey, const KbLed led, const u16 rawcode)
Convert Keyboard device key code.
 
KbLed led
Keyboard Led State.
Definition: kb.h:174
 
s32 ioKbGetConfiguration(const u32 kb_no, KbConfig *kb_config)
Get Keyboard Configuration.
 
Obtain device code as ASCII code type.
Definition: kb.h:189
 
Obtain device code as RAW code type.
Definition: kb.h:188
 
s32 ioKbSetCodeType(const u32 kb_no, const KbCodeType kb_codetype)
Set Keyboard code type.
 
u32 r_alt
Modifier Key Right ALT 0:OFF 1:ON Bit6.
Definition: kb.h:160
 
u32 compose
LED Compose 0:OFF 1:ON Bit3.
Definition: kb.h:145
 
u32 codetype
See KbCodeType enum definition.
Definition: kb.h:230
 
u32 l_alt
Modifier Key Left ALT 0:OFF 1:ON Bit2.
Definition: kb.h:164
 
u32 connected
how many kb connected
Definition: kb.h:220
 
u32 r_shift
Modifier Key Right SHIFT 0:OFF 1:ON Bit5.
Definition: kb.h:161
 
Keyboard Modifier Key State.
Definition: kb.h:154
 
Keyboard input data data structure.
Definition: kb.h:173
 
KbRmode
Keyboard input mode values.
Definition: kb.h:181
 
s32 ioKbSetLEDStatus(const u32 kb_no, const KbLed led_state)
Control Keyboard LED.
 
u8 status[MAX_KEYBOARDS]
Connections status, status Index equal to Keyboard Number value 0: Not connected and 1: Connected.
Definition: kb.h:222
 
Keyboard Led State.
Definition: kb.h:139
 
u32 num_lock
LED Num Lock 0:OFF 1:ON Bit0 LSB.
Definition: kb.h:148
 
u32 scroll_lock
LED Scroll Lock 0:OFF 1:ON Bit2.
Definition: kb.h:146
 
KbMkey mkey
Keyboard Modifier Key State.
Definition: kb.h:175
 
u32 info
Bit 0 lets the system intercept keyboard? other bits are reserved.
Definition: kb.h:221
 
u32 caps_lock
LED Caps Lock 0:OFF 1:ON Bit1.
Definition: kb.h:147
 
u32 l_shift
Modifier Key Left SHIFT 0:OFF 1:ON Bit1.
Definition: kb.h:165
 
struct KbLed KbLed
Keyboard Led State.
 
u32 reserved
Reserved MSB.
Definition: kb.h:143