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