kbd106n.c
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
#include <windows.h>
00010
#include <ime.h>
00011
#include "vkoem.h"
00012
#include "kbdjpn.h"
00013
#include "kbd106n.h"
00014
00015
#if defined(_M_IA64)
00016
#pragma section(".data")
00017
#define ALLOC_SECTION_LDATA __declspec(allocate(".data"))
00018
#else
00019
#pragma data_seg(".data")
00020 #define ALLOC_SECTION_LDATA
00021
#endif
00022
00023
00024
00025
00026
00027 static ALLOC_SECTION_LDATA USHORT ausVK[] = {
00028 T00, T01, T02, T03, T04, T05, T06, T07,
00029 T08, T09, T0A, T0B, T0C, T0D, T0E, T0F,
00030 T10, T11, T12, T13, T14, T15, T16, T17,
00031 T18, T19, T1A, T1B, T1C, T1D, T1E, T1F,
00032 T20, T21, T22, T23, T24, T25, T26, T27,
00033 T28,
00034
00035
00036
00037
00038 T29 | KBDSPECIAL,
00039
00040 T2A, T2B, T2C, T2D, T2E, T2F,
00041 T30, T31, T32, T33, T34, T35,
00042
00043
00044
00045
00046 T36 | KBDEXT,
00047
00048
00049
00050
00051 T37 | KBDMULTIVK,
00052
00053 T38, T39,
00054
00055
00056
00057
00058 T3A | KBDSPECIAL,
00059
00060 T3B, T3C, T3D, T3E, T3F,
00061 T40, T41, T42, T43, T44,
00062
00063
00064
00065
00066
00067
00068 T45 | KBDEXT | KBDMULTIVK,
00069
00070 T46 | KBDMULTIVK,
00071
00072
00073
00074
00075
00076
00077 T47 | KBDNUMPAD | KBDSPECIAL,
00078 T48 | KBDNUMPAD | KBDSPECIAL,
00079 T49 | KBDNUMPAD | KBDSPECIAL,
00080 T4A,
00081 T4B | KBDNUMPAD | KBDSPECIAL,
00082 T4C | KBDNUMPAD | KBDSPECIAL,
00083 T4D | KBDNUMPAD | KBDSPECIAL,
00084 T4E,
00085 T4F | KBDNUMPAD | KBDSPECIAL,
00086 T50 | KBDNUMPAD | KBDSPECIAL,
00087 T51 | KBDNUMPAD | KBDSPECIAL,
00088 T52 | KBDNUMPAD | KBDSPECIAL,
00089 T53 | KBDNUMPAD | KBDSPECIAL,
00090
00091 T54, T55, T56, T57, T58, T59, T5A, T5B,
00092 T5C, T5D, T5E, T5F, T60, T61, T62, T63,
00093 T64, T65, T66, T67, T68, T69, T6A, T6B,
00094 T6C, T6D, T6E, T6F,
00095
00096
00097
00098
00099 T70 | KBDSPECIAL,
00100
00101 T71, T72, T73,
00102 T74, T75, T76, T77, T78,
00103
00104
00105
00106
00107 T79 | KBDSPECIAL,
00108
00109 T7A,
00110
00111
00112
00113
00114 T7B | KBDSPECIAL,
00115
00116 T7C, T7D, T7E, T7F
00117
00118 };
00119
00120 static ALLOC_SECTION_LDATA VSC_VK
aE0VscToVk[] = {
00121 { 0x10, X10 | KBDEXT },
00122 { 0x19, X19 | KBDEXT },
00123 { 0x1C, X1C | KBDEXT },
00124 { 0x1D, X1D | KBDEXT },
00125 { 0x20, X20 | KBDEXT },
00126 { 0x21, X21 | KBDEXT },
00127 { 0x22, X22 | KBDEXT },
00128 { 0x24, X24 | KBDEXT },
00129 { 0x2E, X2E | KBDEXT },
00130 { 0x30, X30 | KBDEXT },
00131 { 0x32, X32 | KBDEXT },
00132 { 0x35, X35 | KBDEXT },
00133 { 0x37, X37 | KBDEXT },
00134 { 0x38, X38 | KBDEXT },
00135 { 0x46, X46 | KBDEXT },
00136 { 0x47, X47 | KBDEXT },
00137 { 0x48, X48 | KBDEXT },
00138 { 0x49, X49 | KBDEXT },
00139 { 0x4B, X4B | KBDEXT },
00140 { 0x4D, X4D | KBDEXT },
00141 { 0x4F, X4F | KBDEXT },
00142 { 0x50, X50 | KBDEXT },
00143 { 0x51, X51 | KBDEXT },
00144 { 0x52, X52 | KBDEXT },
00145 { 0x53, X53 | KBDEXT },
00146 { 0x5B, X5B | KBDEXT },
00147 { 0x5C, X5C | KBDEXT },
00148 { 0x5D, X5D | KBDEXT },
00149 { 0x5F, X5F | KBDEXT },
00150 { 0x65, X65 | KBDEXT },
00151 { 0x66, X66 | KBDEXT },
00152 { 0x67, X67 | KBDEXT },
00153 { 0x68, X68 | KBDEXT },
00154 { 0x69, X69 | KBDEXT },
00155 { 0x6A, X6A | KBDEXT },
00156 { 0x6B, X6B | KBDEXT },
00157 { 0x6C, X6C | KBDEXT },
00158 { 0x6D, X6D | KBDEXT },
00159 { 0, 0 }
00160 };
00161
00162 static ALLOC_SECTION_LDATA VSC_VK
aE1VscToVk[] = {
00163 { 0x1D, Y1D },
00164 { 0 , 0 }
00165 };
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178 static ALLOC_SECTION_LDATA VK_TO_BIT
aVkToBits[] = {
00179 { VK_SHIFT, KBDSHIFT },
00180 { VK_CONTROL, KBDCTRL },
00181 { VK_MENU, KBDALT },
00182 { VK_KANA, KBDKANA },
00183 { 0, 0 }
00184 };
00185
00186
00187
00188
00189
00190
00191
00192
00193 static ALLOC_SECTION_LDATA MODIFIERS
CharModifiers = {
00194 &
aVkToBits[0],
00195 11,
00196 {
00197
00198
00199 0,
00200 1,
00201 4,
00202 6,
00203 SHFT_INVALID,
00204 SHFT_INVALID,
00205 SHFT_INVALID,
00206 SHFT_INVALID,
00207 2,
00208 3,
00209 5,
00210 7
00211 }
00212 };
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239 static ALLOC_SECTION_LDATA VK_TO_WCHARS4
aVkToWch4[] = {
00240
00241
00242 {
'0' , KANALOK ,
'0' ,WCH_NONE ,
WCH_WA ,
WCH_WO },
00243 {
'1' , KANALOK ,
'1' ,
'!' ,
WCH_NU ,
WCH_NU },
00244 {
'3' , KANALOK ,
'3' ,
'#' ,
WCH_A ,
WCH_AA },
00245 {
'4' , KANALOK ,
'4' ,
'$' ,
WCH_U ,
WCH_UU },
00246 {
'5' , KANALOK ,
'5' ,
'%' ,
WCH_E ,
WCH_EE },
00247 {
'7' , KANALOK ,
'7' ,0x27 ,
WCH_YA ,
WCH_YAA },
00248 {
'8' , KANALOK ,
'8' ,
'(' ,
WCH_YU ,
WCH_YUU },
00249 {
'9' , KANALOK ,
'9' ,
')' ,
WCH_YO ,
WCH_YOO },
00250 {
'A' , CAPLOK | KANALOK ,
'a' ,
'A' ,
WCH_TI ,
WCH_TI },
00251 {
'B' , CAPLOK | KANALOK ,
'b' ,
'B' ,
WCH_KO ,
WCH_KO },
00252 {
'C' , CAPLOK | KANALOK ,
'c' ,
'C' ,
WCH_SO ,
WCH_SO },
00253 {
'D' , CAPLOK | KANALOK ,
'd' ,
'D' ,
WCH_SI ,
WCH_SI },
00254 {
'E' , CAPLOK | KANALOK ,
'e' ,
'E' ,
WCH_I ,
WCH_II },
00255 {
'F' , CAPLOK | KANALOK ,
'f' ,
'F' ,
WCH_HA ,
WCH_HA },
00256 {
'G' , CAPLOK | KANALOK ,
'g' ,
'G' ,
WCH_KI ,
WCH_KI },
00257 {
'H' , CAPLOK | KANALOK ,
'h' ,
'H' ,
WCH_KU ,
WCH_KU },
00258 {
'I' , CAPLOK | KANALOK ,
'i' ,
'I' ,
WCH_NI ,
WCH_NI },
00259 {
'J' , CAPLOK | KANALOK ,
'j' ,
'J' ,
WCH_MA ,
WCH_MA },
00260 {
'K' , CAPLOK | KANALOK ,
'k' ,
'K' ,
WCH_NO ,
WCH_NO },
00261 {
'L' , CAPLOK | KANALOK ,
'l' ,
'L' ,
WCH_RI ,
WCH_RI },
00262 {
'M' , CAPLOK | KANALOK ,
'm' ,
'M' ,
WCH_MO ,
WCH_MO },
00263 {
'N' , CAPLOK | KANALOK ,
'n' ,
'N' ,
WCH_MI ,
WCH_MI },
00264 {
'O' , CAPLOK | KANALOK ,
'o' ,
'O' ,
WCH_RA ,
WCH_RA },
00265 {
'P' , CAPLOK | KANALOK ,
'p' ,
'P' ,
WCH_SE ,
WCH_SE },
00266 {
'Q' , CAPLOK | KANALOK ,
'q' ,
'Q' ,
WCH_TA ,
WCH_TA },
00267 {
'R' , CAPLOK | KANALOK ,
'r' ,
'R' ,
WCH_SU ,
WCH_SU },
00268 {
'S' , CAPLOK | KANALOK ,
's' ,
'S' ,
WCH_TO ,
WCH_TO },
00269 {
'T' , CAPLOK | KANALOK ,
't' ,
'T' ,
WCH_KA ,
WCH_KA },
00270 {
'U' , CAPLOK | KANALOK ,
'u' ,
'U' ,
WCH_NA ,
WCH_NA },
00271 {
'V' , CAPLOK | KANALOK ,
'v' ,
'V' ,
WCH_HI ,
WCH_HI },
00272 {
'W' , CAPLOK | KANALOK ,
'w' ,
'W' ,
WCH_TE ,
WCH_TE },
00273 {
'X' , CAPLOK | KANALOK ,
'x' ,
'X' ,
WCH_SA ,
WCH_SA },
00274 {
'Y' , CAPLOK | KANALOK ,
'y' ,
'Y' ,
WCH_NN ,
WCH_NN },
00275 {
'Z' , CAPLOK | KANALOK ,
'z' ,
'Z' ,
WCH_TU ,
WCH_TUU },
00276 {VK_OEM_1 , KANALOK ,
':' ,
'*' ,
WCH_KE ,
WCH_KE },
00277 {VK_OEM_2 , KANALOK ,
'/' ,
'?' ,
WCH_ME ,
WCH_MD },
00278 {VK_OEM_3 , KANALOK ,
'@' ,
'`' ,
WCH_VS ,
WCH_VS },
00279 {VK_OEM_7 , KANALOK ,
'^' ,
'~' ,
WCH_HE ,
WCH_HE },
00280 {VK_OEM_8 , 0 ,
',' ,
',' ,
',' ,
',' },
00281 {VK_OEM_COMMA , KANALOK ,
',' ,
'<' ,
WCH_NE ,
WCH_IC },
00282 {VK_OEM_PERIOD, KANALOK ,
'.' ,
'>' ,
WCH_RU ,
WCH_IP },
00283 {VK_OEM_PLUS , KANALOK ,
';' ,
'+' ,
WCH_RE ,
WCH_RE },
00284 {VK_TAB , 0 ,
'\t' ,
'\t' ,
'\t' ,
'\t' },
00285 {VK_ADD , 0 ,
'+' ,
'+' ,
'+' ,
'+' },
00286 {VK_DECIMAL , 0 ,
'.' ,
'.' ,
'.' ,
'.' },
00287 {VK_DIVIDE , 0 ,
'/' ,
'/' ,
'/' ,
'/' },
00288 {VK_MULTIPLY , 0 ,
'*' ,
'*' ,
'*' ,
'*' },
00289 {VK_SUBTRACT , 0 ,
'-' ,
'-' ,
'-' ,
'-' },
00290 {0 , 0 ,0 ,0 ,0 ,0 }
00291 };
00292
00293 static ALLOC_SECTION_LDATA VK_TO_WCHARS6
aVkToWch6[] = {
00294
00295
00296 {VK_BACK , 0 ,
'\b' ,
'\b' ,
'\b' ,
'\b' , 0x7f , 0x7f },
00297 {VK_CANCEL , 0 ,0x03 ,0x03 ,0x03 ,0x03 , 0x03 , 0x03 },
00298 {VK_ESCAPE , 0 ,0x1b ,0x1b ,0x1b ,0x1b , 0x1b , 0x1b },
00299 {VK_OEM_4 , KANALOK ,
'[' ,
'{' ,
WCH_SVS ,
WCH_OB , 0x1b , 0x1b },
00300 {VK_OEM_5 , KANALOK ,
'\\' ,
'|' ,
WCH_PS ,
WCH_PS , 0x1c , 0x1c },
00301 {VK_OEM_102 , KANALOK ,
'\\' ,
'_' ,
WCH_RO ,
WCH_RO , 0x1c , 0x1c },
00302 {VK_OEM_6 , KANALOK ,
']' ,
'}' ,
WCH_MU ,
WCH_CB , 0x1d , 0x1d },
00303 {VK_RETURN , 0 ,
'\r' ,
'\r' ,
'\r' ,
'\r' ,
'\n' ,
'\n' },
00304 {VK_SPACE , 0 ,
' ' ,
' ' ,
' ' ,
' ' , 0x20 , 0x20 },
00305 {0 , 0 ,0 ,0 ,0 ,0 , 0 , 0 }
00306 };
00307
00308 static ALLOC_SECTION_LDATA VK_TO_WCHARS8
aVkToWch8[] = {
00309
00310
00311 {
'2' , KANALOK ,
'2' ,
'"' ,
WCH_HU ,
WCH_HU , WCH_NONE , WCH_NONE , 0x00 , 0x00 },
00312 {
'6' , KANALOK ,
'6' ,
'&' ,
WCH_O ,
WCH_OO , WCH_NONE , WCH_NONE , 0x1e , 0x1e },
00313 {VK_OEM_MINUS , KANALOK ,
'-' ,
'=' ,
WCH_HO ,
WCH_HO , WCH_NONE , WCH_NONE , 0x1f , 0x1f },
00314 {0 , 0 ,0 ,0 ,0 ,0 , 0 , 0 , 0 , 0 }
00315 };
00316
00317
00318
00319
00320
00321 static ALLOC_SECTION_LDATA VK_TO_WCHARS4
aVkToWch1[] = {
00322
00323
00324 { VK_NUMPAD0 , 0 ,
'0' , WCH_NONE ,
'0' ,WCH_NONE},
00325 { VK_NUMPAD1 , 0 ,
'1' , WCH_NONE ,
'1' ,WCH_NONE},
00326 { VK_NUMPAD2 , 0 ,
'2' , WCH_NONE ,
'2' ,WCH_NONE},
00327 { VK_NUMPAD3 , 0 ,
'3' , WCH_NONE ,
'3' ,WCH_NONE},
00328 { VK_NUMPAD4 , 0 ,
'4' , WCH_NONE ,
'4' ,WCH_NONE},
00329 { VK_NUMPAD5 , 0 ,
'5' , WCH_NONE ,
'5' ,WCH_NONE},
00330 { VK_NUMPAD6 , 0 ,
'6' , WCH_NONE ,
'6' ,WCH_NONE},
00331 { VK_NUMPAD7 , 0 ,
'7' , WCH_NONE ,
'7' ,WCH_NONE},
00332 { VK_NUMPAD8 , 0 ,
'8' , WCH_NONE ,
'8' ,WCH_NONE},
00333 { VK_NUMPAD9 , 0 ,
'9' , WCH_NONE ,
'9' ,WCH_NONE},
00334 { 0 , 0 ,
'\0' , 0 , 0 ,0 }
00335 };
00336
00337
00338
00339
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350 static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE
aVkToWcharTable[] = {
00351 { (PVK_TO_WCHARS1)
aVkToWch6, 6,
sizeof(
aVkToWch6[0]) },
00352 { (PVK_TO_WCHARS1)
aVkToWch8, 8,
sizeof(
aVkToWch8[0]) },
00353 { (PVK_TO_WCHARS1)
aVkToWch4, 4,
sizeof(
aVkToWch4[0]) },
00354 { (PVK_TO_WCHARS1)
aVkToWch1, 4,
sizeof(
aVkToWch1[0]) },
00355 {
NULL, 0, 0 }
00356 };
00357
00358
00359
00360
00361
00362
00363
00364
00365
00366
00367 static ALLOC_SECTION_LDATA VSC_LPWSTR
aKeyNames[] = {
00368 0x01,
L"Esc",
00369 0x0e,
L"Backspace",
00370 0x0f,
L"Tab",
00371 0x1c,
L"Enter",
00372 0x1d,
L"Ctrl",
00373 0x29, (LPWSTR)
SZ_KEY_NAME_HANKAKU_ZENKAKU,
00374 0x2a,
L"Shift",
00375 0x36,
L"Right Shift",
00376 0x37,
L"Num *",
00377 0x38,
L"Alt",
00378 0x39,
L"Space",
00379 0x3a,
L"Caps Lock",
00380 0x3b,
L"F1",
00381 0x3c,
L"F2",
00382 0x3d,
L"F3",
00383 0x3e,
L"F4",
00384 0x3f,
L"F5",
00385 0x40,
L"F6",
00386 0x41,
L"F7",
00387 0x42,
L"F8",
00388 0x43,
L"F9",
00389 0x44,
L"F10",
00390 0x45,
L"Pause",
00391 0x46,
L"Scroll Lock",
00392 0x47,
L"Num 7",
00393 0x48,
L"Num 8",
00394 0x49,
L"Num 9",
00395 0x4a,
L"Num -",
00396 0x4b,
L"Num 4",
00397 0x4c,
L"Num 5",
00398 0x4d,
L"Num 6",
00399 0x4e,
L"Num +",
00400 0x4f,
L"Num 1",
00401 0x50,
L"Num 2",
00402 0x51,
L"Num 3",
00403 0x52,
L"Num 0",
00404 0x53,
L"Num Del",
00405 0x54,
L"Sys Req",
00406 0x57,
L"F11",
00407 0x58,
L"F12",
00408 0x70, (LPWSTR)
SZ_KEY_NAME_HIRAGANA,
00409 0x79, (LPWSTR)
SZ_KEY_NAME_HENKAN,
00410 0x7b, (LPWSTR)
SZ_KEY_NAME_MUHENKAN,
00411 0x7C,
L"F13",
00412 0 ,
NULL
00413 };
00414
00415 static ALLOC_SECTION_LDATA VSC_LPWSTR
aKeyNamesExt[] = {
00416 0x1c,
L"Num Enter",
00417 0x1d,
L"Right Control",
00418 0x35,
L"Num /",
00419 0x37,
L"Prnt Scrn",
00420 0x38,
L"Right Alt",
00421 0x45,
L"Num Lock",
00422 0x46,
L"Break",
00423 0x47,
L"Home",
00424 0x48,
L"Up",
00425 0x49,
L"Page Up",
00426 0x4b,
L"Left",
00427 0x4d,
L"Right",
00428 0x4f,
L"End",
00429 0x50,
L"Down",
00430 0x51,
L"Page Down",
00431 0x52,
L"Insert",
00432 0x53,
L"Delete",
00433 0x5B,
L"Left Windows",
00434 0x5C,
L"Right Windows",
00435 0x5D,
L"Application",
00436 0 ,
NULL
00437 };
00438
00439 static ALLOC_SECTION_LDATA KBDTABLES
KbdTables = {
00440
00441
00442
00443 &
CharModifiers,
00444
00445
00446
00447
00448
aVkToWcharTable,
00449
00450
00451
00452
00453
NULL,
00454
00455
00456
00457
00458
aKeyNames,
00459
aKeyNamesExt,
00460
NULL,
00461
00462
00463
00464
00465
ausVK,
00466
sizeof(
ausVK) /
sizeof(
ausVK[0]),
00467
aE0VscToVk,
00468
aE1VscToVk,
00469
00470
00471
00472
00473 0
00474 };
00475
00476 PKBDTABLES
KbdLayerDescriptor(VOID)
00477 {
00478
return &
KbdTables;
00479 }
00480
00481
00482
00483
00484
00485
00486 static ALLOC_SECTION_LDATA VK_F
VkToFuncTable_106[] = {
00487 {
00488 VK_DBE_ALPHANUMERIC,
00489 KBDNLS_TYPE_TOGGLE,
00490 KBDNLS_INDEX_NORMAL,
00491 0x02,
00492 {
00493 {KBDNLS_ALPHANUM,0},
00494 {KBDNLS_SEND_PARAM_VK,VK_CAPITAL},
00495 {KBDNLS_SEND_PARAM_VK,VK_KANA},
00496 {KBDNLS_ALPHANUM,0},
00497 {KBDNLS_ALPHANUM,0},
00498 {KBDNLS_ALPHANUM,0},
00499 {KBDNLS_CODEINPUT,0},
00500 {KBDNLS_CODEINPUT,0}
00501 },
00502 {
00503 {KBDNLS_SEND_PARAM_VK,VK_CAPITAL},
00504 {KBDNLS_SEND_PARAM_VK,VK_CAPITAL},
00505 {KBDNLS_NOEVENT,0},
00506 {KBDNLS_NOEVENT,0},
00507 {KBDNLS_NOEVENT,0},
00508 {KBDNLS_NOEVENT,0},
00509 {KBDNLS_NOEVENT,0},
00510 {KBDNLS_NOEVENT,0}
00511 }
00512 },
00513 {
00514 VK_DBE_HIRAGANA,
00515 KBDNLS_TYPE_NORMAL,
00516 KBDNLS_INDEX_NORMAL,
00517 0x0,
00518 {
00519 {KBDNLS_HIRAGANA,0},
00520 {KBDNLS_KATAKANA,0},
00521 {KBDNLS_HIRAGANA,0},
00522 {KBDNLS_KATAKANA,0},
00523 {KBDNLS_ROMAN,0},
00524 {KBDNLS_ROMAN,0},
00525 {KBDNLS_ROMAN,0},
00526 {KBDNLS_NOEVENT,0}
00527 },
00528 {
00529 {KBDNLS_NULL,0},
00530 {KBDNLS_NULL,0},
00531 {KBDNLS_NULL,0},
00532 {KBDNLS_NULL,0},
00533 {KBDNLS_NULL,0},
00534 {KBDNLS_NULL,0},
00535 {KBDNLS_NULL,0},
00536 {KBDNLS_NULL,0}
00537 }
00538 },
00539 {
00540 VK_DBE_SBCSCHAR,
00541 KBDNLS_TYPE_NORMAL,
00542 KBDNLS_INDEX_NORMAL,
00543 0x0,
00544 {
00545 {KBDNLS_SBCSDBCS,0},
00546 {KBDNLS_SBCSDBCS,0},
00547 {KBDNLS_SBCSDBCS,0},
00548 {KBDNLS_SBCSDBCS,0},
00549 {KBDNLS_SEND_PARAM_VK,VK_KANJI},
00550 {KBDNLS_SBCSDBCS,0},
00551 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERIMECONFIGMODE},
00552 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERIMECONFIGMODE}
00553 },
00554 {
00555 {KBDNLS_NULL,0},
00556 {KBDNLS_NULL,0},
00557 {KBDNLS_NULL,0},
00558 {KBDNLS_NULL,0},
00559 {KBDNLS_NULL,0},
00560 {KBDNLS_NULL,0},
00561 {KBDNLS_NULL,0},
00562 {KBDNLS_NULL,0}
00563 }
00564 },
00565 {
00566 VK_NONCONVERT,
00567 KBDNLS_TYPE_NORMAL,
00568 KBDNLS_INDEX_NORMAL,
00569 0x0,
00570 {
00571 {KBDNLS_SEND_BASE_VK,0},
00572 {KBDNLS_SEND_BASE_VK,0},
00573 {KBDNLS_SEND_BASE_VK,0},
00574 {KBDNLS_SEND_BASE_VK,0},
00575 {KBDNLS_SEND_BASE_VK,0},
00576 {KBDNLS_SEND_BASE_VK,0},
00577 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERWORDREGISTERMODE},
00578 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERWORDREGISTERMODE}
00579 },
00580 {
00581 {KBDNLS_NULL,0},
00582 {KBDNLS_NULL,0},
00583 {KBDNLS_NULL,0},
00584 {KBDNLS_NULL,0},
00585 {KBDNLS_NULL,0},
00586 {KBDNLS_NULL,0},
00587 {KBDNLS_NULL,0},
00588 {KBDNLS_NULL,0}
00589 }
00590 }
00591 };
00592
00593
00594
00595
00596
00597
00598 static ALLOC_SECTION_LDATA KBDNLSTABLES
KbdNlsTables = {
00599 0,
00600 0,
00601 4,
00602
VkToFuncTable_106,
00603 0,
00604
NULL
00605 };
00606
00607 PKBDNLSTABLES
KbdNlsLayerDescriptor(VOID)
00608 {
00609
return &
KbdNlsTables;
00610 }
00611
Generated on Sat May 15 19:40:32 2004 for test by
1.3.7