kbdnecat.c
Go to the documentation of this file.00001
#if defined(_PC98_)
00002
00003
00004
00005
00006
00007
00008
00009
#else // defined(_PC98_)
00010
00011
00012
00013
00014
00015
00016
00017
#endif // defined(_PC98_)
00018
00019
#include <windows.h>
00020
#include <ime.h>
00021
#include "vkoem.h"
00022
#include "kbdjpn.h"
00023
#if defined(_PC98_)
00024
#include "kbdnecAT.h"
00025
#else // defined(_PC98_)
00026
#include "kbd106.h"
00027
#endif // defined(_PC98_)
00028
00029
#if defined(_M_IA64)
00030
#pragma section(".data")
00031
#define ALLOC_SECTION_LDATA __declspec(allocate(".data"))
00032
#else
00033
#pragma data_seg(".data")
00034 #define ALLOC_SECTION_LDATA
00035
#endif
00036
00037
#if defined(_PC98_)
00038
00039
00040
00041
#else // defined(_PC98_)
00042
00043
00044
00045
#endif // defined(_PC98_)
00046
00047 static ALLOC_SECTION_LDATA USHORT ausVK[] = {
00048 T00, T01, T02, T03, T04, T05, T06, T07,
00049 T08, T09, T0A, T0B, T0C, T0D, T0E, T0F,
00050 T10, T11, T12, T13, T14, T15, T16, T17,
00051 T18, T19, T1A, T1B, T1C, T1D, T1E, T1F,
00052 T20, T21, T22, T23, T24, T25, T26, T27,
00053 T28,
00054
00055
00056
00057
00058 T29 | KBDSPECIAL,
00059
00060 T2A, T2B, T2C, T2D, T2E, T2F,
00061 T30, T31, T32, T33, T34, T35,
00062
00063
00064
00065
00066 T36 | KBDEXT,
00067
00068
#if defined(_PC98_)
00069
T37,
00070
#else // defined(_PC98_)
00071
00072
00073
00074 T37 | KBDMULTIVK,
00075
#endif // defined(_PC98_)
00076
00077 T38, T39,
00078
00079
#if defined(_PC98_)
00080
T3A,
00081
#else // defined(_PC98_)
00082
00083
00084
00085 T3A | KBDSPECIAL,
00086
#endif // defined(_PC98_)
00087
00088 T3B, T3C, T3D, T3E, T3F,
00089 T40, T41, T42, T43, T44,
00090
00091
00092
00093
00094
00095
00096 T45 | KBDEXT | KBDMULTIVK,
00097
00098
#if defined(_PC98_)
00099
T46,
00100
#else // defined(_PC98_)
00101
T46 | KBDMULTIVK,
00102
#endif // defined(_PC98_)
00103
00104
00105
00106
00107
00108
00109 T47 | KBDNUMPAD | KBDSPECIAL,
00110 T48 | KBDNUMPAD | KBDSPECIAL,
00111 T49 | KBDNUMPAD | KBDSPECIAL,
00112 T4A,
00113 T4B | KBDNUMPAD | KBDSPECIAL,
00114 T4C | KBDNUMPAD | KBDSPECIAL,
00115 T4D | KBDNUMPAD | KBDSPECIAL,
00116 T4E,
00117 T4F | KBDNUMPAD | KBDSPECIAL,
00118 T50 | KBDNUMPAD | KBDSPECIAL,
00119 T51 | KBDNUMPAD | KBDSPECIAL,
00120 T52 | KBDNUMPAD | KBDSPECIAL,
00121 T53 | KBDNUMPAD | KBDSPECIAL,
00122
00123
#if defined(_PC98_)
00124
T54, T55, T56, T57, T58,
00125 T59 | KBDSPECIAL,
00126 T5A, T5B,
00127
#else // defined(_PC98_)
00128
T54, T55, T56, T57, T58, T59, T5A, T5B,
00129
#endif // defined(_PC98_)
00130
00131 T5C, T5D, T5E, T5F, T60, T61, T62, T63,
00132 T64, T65, T66, T67, T68, T69, T6A, T6B,
00133 T6C, T6D, T6E, T6F,
00134
00135
00136
00137
00138
#if defined(_PC98_)
00139
T70,
00140
#else // defined(_PC98_)
00141
T70 | KBDSPECIAL,
00142
#endif // defined(_PC98_)
00143
00144 T71, T72, T73,
00145 T74, T75, T76, T77, T78,
00146
00147
00148
00149
00150 T79 | KBDSPECIAL,
00151
00152 T7A,
00153
00154
00155
00156
00157 T7B | KBDSPECIAL,
00158
00159 T7C, T7D, T7E, T7F
00160 };
00161
00162 static ALLOC_SECTION_LDATA VSC_VK
aE0VscToVk[] = {
00163 { 0x1C, X1C | KBDEXT },
00164 { 0x1D, X1D | KBDEXT },
00165 { 0x35, X35 | KBDEXT },
00166 { 0x37, X37 | KBDEXT },
00167 { 0x38, X38 | KBDEXT },
00168 { 0x46, X46 | KBDEXT },
00169
#if defined(_PC98_)
00170
{ 0x47, X47 | KBDEXT | KBDSPECIAL },
00171
#else // defined(_PC98_)
00172
{ 0x47, X47 | KBDEXT },
00173
#endif // defined(_PC98_)
00174
{ 0x48, X48 | KBDEXT },
00175 { 0x49, X49 | KBDEXT },
00176 { 0x4B, X4B | KBDEXT },
00177 { 0x4D, X4D | KBDEXT },
00178
#if defined(_PC98_)
00179
{ 0x4F, X4F | KBDEXT | KBDSPECIAL },
00180
#else // defined(_PC98_)
00181
{ 0x4F, X4F | KBDEXT },
00182
#endif // defined(_PC98_)
00183
{ 0x50, X50 | KBDEXT },
00184 { 0x51, X51 | KBDEXT },
00185 { 0x52, X52 | KBDEXT },
00186 { 0x53, X53 | KBDEXT },
00187 { 0x5B, X5B | KBDEXT },
00188 { 0x5C, X5C | KBDEXT },
00189 { 0x5D, X5D | KBDEXT },
00190 { 0, 0 }
00191 };
00192
00193 static ALLOC_SECTION_LDATA VSC_VK
aE1VscToVk[] = {
00194 { 0x1D, Y1D },
00195 { 0 , 0 }
00196 };
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209 static ALLOC_SECTION_LDATA VK_TO_BIT
aVkToBits[] = {
00210 { VK_SHIFT, KBDSHIFT },
00211 { VK_CONTROL, KBDCTRL },
00212 { VK_MENU, KBDALT },
00213 { VK_KANA, KBDKANA },
00214 { 0, 0 }
00215 };
00216
00217
00218
00219
00220
00221
00222
00223
00224 static ALLOC_SECTION_LDATA MODIFIERS
CharModifiers = {
00225 &
aVkToBits[0],
00226 11,
00227 {
00228
00229
00230 0,
00231 1,
00232 4,
00233 6,
00234 SHFT_INVALID,
00235 SHFT_INVALID,
00236 SHFT_INVALID,
00237 SHFT_INVALID,
00238 2,
00239 3,
00240 5,
00241 7
00242 }
00243 };
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269
00270 static ALLOC_SECTION_LDATA VK_TO_WCHARS4
aVkToWch4[] = {
00271
00272
00273
#if defined(_PC98_)
00274
{
'0' , KANALOK ,
'0' ,
'0' ,
WCH_WA ,
WCH_WO },
00275
#else // defined(_PC98_)
00276
{
'0' , KANALOK ,
'0' ,WCH_NONE ,
WCH_WA ,
WCH_WO },
00277
#endif // defined(_PC98_)
00278
{
'1' , KANALOK ,
'1' ,
'!' ,
WCH_NU ,
WCH_NU },
00279 {
'3' , KANALOK ,
'3' ,
'#' ,
WCH_A ,
WCH_AA },
00280 {
'4' , KANALOK ,
'4' ,
'$' ,
WCH_U ,
WCH_UU },
00281 {
'5' , KANALOK ,
'5' ,
'%' ,
WCH_E ,
WCH_EE },
00282 {
'7' , KANALOK ,
'7' ,0x27 ,
WCH_YA ,
WCH_YAA },
00283 {
'8' , KANALOK ,
'8' ,
'(' ,
WCH_YU ,
WCH_YUU },
00284 {
'9' , KANALOK ,
'9' ,
')' ,
WCH_YO ,
WCH_YOO },
00285 {
'A' , CAPLOK | KANALOK ,
'a' ,
'A' ,
WCH_TI ,
WCH_TI },
00286 {
'B' , CAPLOK | KANALOK ,
'b' ,
'B' ,
WCH_KO ,
WCH_KO },
00287 {
'C' , CAPLOK | KANALOK ,
'c' ,
'C' ,
WCH_SO ,
WCH_SO },
00288 {
'D' , CAPLOK | KANALOK ,
'd' ,
'D' ,
WCH_SI ,
WCH_SI },
00289 {
'E' , CAPLOK | KANALOK ,
'e' ,
'E' ,
WCH_I ,
WCH_II },
00290 {
'F' , CAPLOK | KANALOK ,
'f' ,
'F' ,
WCH_HA ,
WCH_HA },
00291 {
'G' , CAPLOK | KANALOK ,
'g' ,
'G' ,
WCH_KI ,
WCH_KI },
00292 {
'H' , CAPLOK | KANALOK ,
'h' ,
'H' ,
WCH_KU ,
WCH_KU },
00293 {
'I' , CAPLOK | KANALOK ,
'i' ,
'I' ,
WCH_NI ,
WCH_NI },
00294 {
'J' , CAPLOK | KANALOK ,
'j' ,
'J' ,
WCH_MA ,
WCH_MA },
00295 {
'K' , CAPLOK | KANALOK ,
'k' ,
'K' ,
WCH_NO ,
WCH_NO },
00296 {
'L' , CAPLOK | KANALOK ,
'l' ,
'L' ,
WCH_RI ,
WCH_RI },
00297 {
'M' , CAPLOK | KANALOK ,
'm' ,
'M' ,
WCH_MO ,
WCH_MO },
00298 {
'N' , CAPLOK | KANALOK ,
'n' ,
'N' ,
WCH_MI ,
WCH_MI },
00299 {
'O' , CAPLOK | KANALOK ,
'o' ,
'O' ,
WCH_RA ,
WCH_RA },
00300 {
'P' , CAPLOK | KANALOK ,
'p' ,
'P' ,
WCH_SE ,
WCH_SE },
00301 {
'Q' , CAPLOK | KANALOK ,
'q' ,
'Q' ,
WCH_TA ,
WCH_TA },
00302 {
'R' , CAPLOK | KANALOK ,
'r' ,
'R' ,
WCH_SU ,
WCH_SU },
00303 {
'S' , CAPLOK | KANALOK ,
's' ,
'S' ,
WCH_TO ,
WCH_TO },
00304 {
'T' , CAPLOK | KANALOK ,
't' ,
'T' ,
WCH_KA ,
WCH_KA },
00305 {
'U' , CAPLOK | KANALOK ,
'u' ,
'U' ,
WCH_NA ,
WCH_NA },
00306 {
'V' , CAPLOK | KANALOK ,
'v' ,
'V' ,
WCH_HI ,
WCH_HI },
00307 {
'W' , CAPLOK | KANALOK ,
'w' ,
'W' ,
WCH_TE ,
WCH_TE },
00308 {
'X' , CAPLOK | KANALOK ,
'x' ,
'X' ,
WCH_SA ,
WCH_SA },
00309 {
'Y' , CAPLOK | KANALOK ,
'y' ,
'Y' ,
WCH_NN ,
WCH_NN },
00310 {
'Z' , CAPLOK | KANALOK ,
'z' ,
'Z' ,
WCH_TU ,
WCH_TUU },
00311 {VK_OEM_1 , KANALOK ,
':' ,
'*' ,
WCH_KE ,
WCH_KE },
00312 {VK_OEM_2 , KANALOK ,
'/' ,
'?' ,
WCH_ME ,
WCH_MD },
00313
#if defined(_PC98_)
00314
#else // defined(_PC98_)
00315
{VK_OEM_3 , KANALOK ,
'@' ,
'`' ,
WCH_VS ,
WCH_VS },
00316 {VK_OEM_7 , KANALOK ,
'^' ,
'~' ,
WCH_HE ,
WCH_HE },
00317 {VK_OEM_8 , 0 ,WCH_NONE ,WCH_NONE ,WCH_NONE,WCH_NONE},
00318
#endif // defined(_PC98_)
00319
{VK_OEM_COMMA , KANALOK ,
',' ,
'<' ,
WCH_NE ,
WCH_IC },
00320 {VK_OEM_PERIOD, KANALOK ,
'.' ,
'>' ,
WCH_RU ,
WCH_IP },
00321 {VK_OEM_PLUS , KANALOK ,
';' ,
'+' ,
WCH_RE ,
WCH_RE },
00322 {VK_TAB , 0 ,
'\t' ,
'\t' ,
'\t' ,
'\t' },
00323 {VK_ADD , 0 ,
'+' ,
'+' ,
'+' ,
'+' },
00324 {VK_DECIMAL , 0 ,
'.' ,
'.' ,
'.' ,
'.' },
00325 {VK_DIVIDE , 0 ,
'/' ,
'/' ,
'/' ,
'/' },
00326 {VK_MULTIPLY , 0 ,
'*' ,
'*' ,
'*' ,
'*' },
00327 {VK_SUBTRACT , 0 ,
'-' ,
'-' ,
'-' ,
'-' },
00328
#if defined(_PC98_)
00329
{VK_SEPARATOR , 0 ,
',' ,
',' ,
',' ,
',' },
00330 {VK_OEM_NEC_EQUAL, 0 ,
'=' ,
'=' ,
'=' ,
'=' },
00331
#endif // defined(_PC98_)
00332
{0 , 0 ,0 ,0 ,0 ,0 }
00333 };
00334
00335 static ALLOC_SECTION_LDATA VK_TO_WCHARS6
aVkToWch6[] = {
00336
00337
00338 {VK_BACK , 0 ,
'\b' ,
'\b' ,
'\b' ,
'\b' , 0x7f , 0x7f },
00339 {VK_CANCEL , 0 ,0x03 ,0x03 ,0x03 ,0x03 , 0x03 , 0x03 },
00340 {VK_ESCAPE , 0 ,0x1b ,0x1b ,0x1b ,0x1b , 0x1b , 0x1b },
00341
#if defined(_PC98_)
00342
{VK_OEM_3 , KANALOK ,
'@' ,
'~' ,
WCH_VS ,
WCH_VS , 0x00 , 0x00 },
00343 {VK_OEM_4 , KANALOK ,
'[' ,
'{' ,
WCH_SVS ,
WCH_OB , 0x1b , 0x1b },
00344 {VK_OEM_5 , KANALOK ,
'\\' ,
'|' ,
WCH_PS ,
WCH_PS , 0x1c , 0x1c },
00345 {VK_OEM_6 , KANALOK ,
']' ,
'}' ,
WCH_MU ,
WCH_CB , 0x1d , 0x1d },
00346 {VK_OEM_7 , KANALOK ,
'^' ,
'`' ,
WCH_HE ,
WCH_HE , 0x1e , 0x1e },
00347 {VK_OEM_8 , KANALOK ,WCH_NONE ,
'_' ,
WCH_RO ,
WCH_RO , 0x1f , 0x1f },
00348
#else // defined(_PC98_)
00349
{VK_OEM_4 , KANALOK ,
'[' ,
'{' ,
WCH_SVS ,
WCH_OB , 0x1b , 0x1b },
00350 {VK_OEM_5 , KANALOK ,
'\\' ,
'|' ,
WCH_PS ,
WCH_PS , 0x1c , 0x1c },
00351 {VK_OEM_102 , KANALOK ,
'\\' ,
'_' ,
WCH_RO ,
WCH_RO , 0x1c , 0x1c },
00352 {VK_OEM_6 , KANALOK ,
']' ,
'}' ,
WCH_MU ,
WCH_CB , 0x1d , 0x1d },
00353
#endif // defined(_PC98_)
00354
{VK_RETURN , 0 ,
'\r' ,
'\r' ,
'\r' ,
'\r' ,
'\n' ,
'\n' },
00355 {VK_SPACE , 0 ,
' ' ,
' ' ,
' ' ,
' ' , 0x20 , 0x20 },
00356 {0 , 0 ,0 ,0 ,0 ,0 , 0 , 0 }
00357 };
00358
00359 static ALLOC_SECTION_LDATA VK_TO_WCHARS8
aVkToWch8[] = {
00360
00361
00362 {
'2' , KANALOK ,
'2' ,
'"' ,
WCH_HU ,
WCH_HU , WCH_NONE , WCH_NONE , 0x00 , 0x00 },
00363 {
'6' , KANALOK ,
'6' ,
'&' ,
WCH_O ,
WCH_OO , WCH_NONE , WCH_NONE , 0x1e , 0x1e },
00364 {VK_OEM_MINUS , KANALOK ,
'-' ,
'=' ,
WCH_HO ,
WCH_HO , WCH_NONE , WCH_NONE , 0x1f , 0x1f },
00365 {0 , 0 ,0 ,0 ,0 ,0 , 0 , 0 , 0 , 0 }
00366 };
00367
00368
00369
00370
00371
00372 static ALLOC_SECTION_LDATA VK_TO_WCHARS4
aVkToWch1[] = {
00373
00374
00375 { VK_NUMPAD0 , 0 ,
'0' , WCH_NONE ,
'0' ,WCH_NONE},
00376 { VK_NUMPAD1 , 0 ,
'1' , WCH_NONE ,
'1' ,WCH_NONE},
00377 { VK_NUMPAD2 , 0 ,
'2' , WCH_NONE ,
'2' ,WCH_NONE},
00378 { VK_NUMPAD3 , 0 ,
'3' , WCH_NONE ,
'3' ,WCH_NONE},
00379 { VK_NUMPAD4 , 0 ,
'4' , WCH_NONE ,
'4' ,WCH_NONE},
00380 { VK_NUMPAD5 , 0 ,
'5' , WCH_NONE ,
'5' ,WCH_NONE},
00381 { VK_NUMPAD6 , 0 ,
'6' , WCH_NONE ,
'6' ,WCH_NONE},
00382 { VK_NUMPAD7 , 0 ,
'7' , WCH_NONE ,
'7' ,WCH_NONE},
00383 { VK_NUMPAD8 , 0 ,
'8' , WCH_NONE ,
'8' ,WCH_NONE},
00384 { VK_NUMPAD9 , 0 ,
'9' , WCH_NONE ,
'9' ,WCH_NONE},
00385 { 0 , 0 ,
'\0' , 0 , 0 ,0 }
00386 };
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399
00400
00401 static ALLOC_SECTION_LDATA VK_TO_WCHAR_TABLE
aVkToWcharTable[] = {
00402 { (PVK_TO_WCHARS1)
aVkToWch6, 6,
sizeof(
aVkToWch6[0]) },
00403 { (PVK_TO_WCHARS1)
aVkToWch8, 8,
sizeof(
aVkToWch8[0]) },
00404 { (PVK_TO_WCHARS1)
aVkToWch4, 4,
sizeof(
aVkToWch4[0]) },
00405 { (PVK_TO_WCHARS1)
aVkToWch1, 4,
sizeof(
aVkToWch1[0]) },
00406 {
NULL, 0, 0 }
00407 };
00408
00409
00410
00411
00412
00413
00414
00415
00416
00417
00418 static ALLOC_SECTION_LDATA VSC_LPWSTR
aKeyNames[] = {
00419
#if defined(_PC98_)
00420
0x01,
L"ESC",
00421 0x0e,
L"BS",
00422 0x0f,
L"TAB",
00423 0x1c,
L"RETURN",
00424 0x1d,
L"CTRL",
00425 0x29, (LPWSTR)
SZ_KEY_NAME_HANKAKU_ZENKAKU,
00426 0x2a,
L"SHIFT",
00427 0x36,
L"SHIFT",
00428
#else // defined(_PC98_)
00429
0x01,
L"Esc",
00430 0x0e,
L"Backspace",
00431 0x0f,
L"Tab",
00432 0x1c,
L"Enter",
00433 0x1d,
L"Ctrl",
00434 0x29, (LPWSTR)
SZ_KEY_NAME_HANKAKU_ZENKAKU,
00435 0x2a,
L"Shift",
00436 0x36,
L"Right Shift",
00437
#endif // defined(_PC98_)
00438
0x37,
L"Num *",
00439
#if defined(_PC98_)
00440
0x38,
L"GRPH",
00441 0x39,
L"SPACE",
00442 0x3a,
L"CAPS",
00443 0x3b, (LPWSTR)
SZ_KEY_NAME_F1,
00444 0x3c, (LPWSTR)
SZ_KEY_NAME_F2,
00445 0x3d, (LPWSTR)
SZ_KEY_NAME_F3,
00446 0x3e, (LPWSTR)
SZ_KEY_NAME_F4,
00447 0x3f, (LPWSTR)
SZ_KEY_NAME_F5,
00448 0x40, (LPWSTR)
SZ_KEY_NAME_F6,
00449 0x41, (LPWSTR)
SZ_KEY_NAME_F7,
00450 0x42, (LPWSTR)
SZ_KEY_NAME_F8,
00451 0x43, (LPWSTR)
SZ_KEY_NAME_F9,
00452 0x44, (LPWSTR)
SZ_KEY_NAME_F10,
00453
#else // defined(_PC98_)
00454
0x38,
L"Alt",
00455 0x39,
L"Space",
00456 0x3a,
L"Caps Lock",
00457 0x3b,
L"F1",
00458 0x3c,
L"F2",
00459 0x3d,
L"F3",
00460 0x3e,
L"F4",
00461 0x3f,
L"F5",
00462 0x40,
L"F6",
00463 0x41,
L"F7",
00464 0x42,
L"F8",
00465 0x43,
L"F9",
00466 0x44,
L"F10",
00467
#endif // defined(_PC98_)
00468
0x45,
L"Pause",
00469 0x46,
L"Scroll Lock",
00470 0x47,
L"Num 7",
00471 0x48,
L"Num 8",
00472 0x49,
L"Num 9",
00473 0x4a,
L"Num -",
00474 0x4b,
L"Num 4",
00475 0x4c,
L"Num 5",
00476 0x4d,
L"Num 6",
00477 0x4e,
L"Num +",
00478 0x4f,
L"Num 1",
00479 0x50,
L"Num 2",
00480 0x51,
L"Num 3",
00481 0x52,
L"Num 0",
00482
#if defined(_PC98_)
00483
0x53,
L"Num .",
00484
#else // defined(_PC98_)
00485
0x53,
L"Num Del",
00486
#endif // defined(_PC98_)
00487
0x54,
L"Sys Req",
00488
#if defined(_PC98_)
00489
00490 0x57, (LPWSTR)
SZ_KEY_NAME_F11,
00491 0x58, (LPWSTR)
SZ_KEY_NAME_F12,
00492 0x59,
L"Num =",
00493
00494 0x5C,
L"Num ,",
00495 0x5D, (LPWSTR)
SZ_KEY_NAME_F13,
00496 0x5E, (LPWSTR)
SZ_KEY_NAME_F14,
00497 0x5F, (LPWSTR)
SZ_KEY_NAME_F15,
00498 0x70, (LPWSTR)
SZ_KEY_NAME_KANA,
00499 0x79,
L"XFER",
00500 0x7b,
L"NFER",
00501
#else // defined(_PC98_)
00502
0x57,
L"F11",
00503 0x58,
L"F12",
00504 0x70, (LPWSTR)
SZ_KEY_NAME_HIRAGANA,
00505 0x79, (LPWSTR)
SZ_KEY_NAME_HENKAN,
00506 0x7b, (LPWSTR)
SZ_KEY_NAME_MUHENKAN,
00507 0x7C,
L"F13",
00508
#endif // defined(_PC98_)
00509
0 ,
NULL
00510 };
00511
00512 static ALLOC_SECTION_LDATA VSC_LPWSTR
aKeyNamesExt[] = {
00513
#if defined(_PC98_)
00514
0x1c,
L"Num Enter",
00515 0x35,
L"Num /",
00516 0x37,
L"COPY",
00517 0x45,
L"Num Lock",
00518 0x46,
L"STOP",
00519 0x47,
L"CLR",
00520 0x48,
L"UP",
00521 0x49,
L"ROLL DOWN",
00522 0x4b,
L"LEFT",
00523 0x4d,
L"RIGHT",
00524 0x4f,
L"HELP",
00525 0x50,
L"DOWN",
00526 0x51,
L"ROLL UP",
00527 0x52,
L"INS",
00528 0x53,
L"DEL",
00529 0x54,
L"<00>",
00530 0x56,
L"HELP",
00531
00532
#else // defined(_PC98_)
00533
0x1c,
L"Num Enter",
00534 0x1d,
L"Right Control",
00535 0x35,
L"Num /",
00536 0x37,
L"Prnt Scrn",
00537 0x38,
L"Right Alt",
00538 0x45,
L"Num Lock",
00539 0x46,
L"Break",
00540 0x47,
L"Home",
00541 0x48,
L"Up",
00542 0x49,
L"Page Up",
00543 0x4b,
L"Left",
00544 0x4d,
L"Right",
00545 0x4f,
L"End",
00546 0x50,
L"Down",
00547 0x51,
L"Page Down",
00548 0x52,
L"Insert",
00549 0x53,
L"Delete",
00550
#endif // defined(_PC98_)
00551
0x5B,
L"Left Windows",
00552 0x5C,
L"Right Windows",
00553 0x5D,
L"Application",
00554 0 ,
NULL
00555 };
00556
00557 static ALLOC_SECTION_LDATA KBDTABLES
KbdTables = {
00558
00559
00560
00561 &
CharModifiers,
00562
00563
00564
00565
00566
aVkToWcharTable,
00567
00568
00569
00570
00571
NULL,
00572
00573
00574
00575
00576
aKeyNames,
00577
aKeyNamesExt,
00578
NULL,
00579
00580
00581
00582
00583
ausVK,
00584
sizeof(
ausVK) /
sizeof(
ausVK[0]),
00585
aE0VscToVk,
00586
aE1VscToVk,
00587
00588
00589
00590
00591 0
00592 };
00593
00594 PKBDTABLES
KbdLayerDescriptor(VOID)
00595 {
00596
return &
KbdTables;
00597 }
00598
00599
00600
00601
00602
00603
00604 static ALLOC_SECTION_LDATA VK_F
VkToFuncTable_106[] = {
00605 {
00606 VK_DBE_ALPHANUMERIC,
00607 KBDNLS_TYPE_TOGGLE,
00608 KBDNLS_INDEX_NORMAL,
00609 0x02,
00610 {
00611 {KBDNLS_ALPHANUM,0},
00612 {KBDNLS_SEND_PARAM_VK,VK_CAPITAL},
00613 {KBDNLS_ALPHANUM,0},
00614 {KBDNLS_ALPHANUM,0},
00615 {KBDNLS_ALPHANUM,0},
00616 {KBDNLS_ALPHANUM,0},
00617 {KBDNLS_CODEINPUT,0},
00618 {KBDNLS_CODEINPUT,0}
00619 },
00620 {
00621 {KBDNLS_SEND_PARAM_VK,VK_CAPITAL},
00622 {KBDNLS_SEND_PARAM_VK,VK_CAPITAL},
00623 {KBDNLS_NOEVENT,0},
00624 {KBDNLS_NOEVENT,0},
00625 {KBDNLS_NOEVENT,0},
00626 {KBDNLS_NOEVENT,0},
00627 {KBDNLS_NOEVENT,0},
00628 {KBDNLS_NOEVENT,0}
00629 }
00630 },
00631 {
00632 VK_DBE_HIRAGANA,
00633 KBDNLS_TYPE_TOGGLE,
00634 KBDNLS_INDEX_NORMAL,
00635 0x08,
00636 {
00637 {KBDNLS_HIRAGANA,0},
00638 {KBDNLS_KATAKANA,0},
00639 {KBDNLS_HIRAGANA,0},
00640 {KBDNLS_SEND_PARAM_VK,VK_KANA},
00641 {KBDNLS_ROMAN,0},
00642 {KBDNLS_ROMAN,0},
00643 {KBDNLS_ROMAN,0},
00644 {KBDNLS_NOEVENT,0}
00645 },
00646 {
00647 {KBDNLS_SEND_PARAM_VK,VK_KANA},
00648 {KBDNLS_SEND_PARAM_VK,VK_KANA},
00649 {KBDNLS_SEND_PARAM_VK,VK_KANA},
00650 {KBDNLS_SEND_PARAM_VK,VK_KANA},
00651 {KBDNLS_NOEVENT,0},
00652 {KBDNLS_NOEVENT,0},
00653 {KBDNLS_NOEVENT,0},
00654 {KBDNLS_NOEVENT,0}
00655 }
00656 },
00657 {
00658 VK_DBE_SBCSCHAR,
00659 KBDNLS_TYPE_NORMAL,
00660 KBDNLS_INDEX_NORMAL,
00661 0x0,
00662 {
00663 {KBDNLS_SBCSDBCS,0},
00664 {KBDNLS_SBCSDBCS,0},
00665 {KBDNLS_SBCSDBCS,0},
00666 {KBDNLS_SBCSDBCS,0},
00667 {KBDNLS_SEND_PARAM_VK,VK_KANJI},
00668 {KBDNLS_SBCSDBCS,0},
00669 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERIMECONFIGMODE},
00670 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERIMECONFIGMODE}
00671 },
00672 {
00673 {KBDNLS_NULL,0},
00674 {KBDNLS_NULL,0},
00675 {KBDNLS_NULL,0},
00676 {KBDNLS_NULL,0},
00677 {KBDNLS_NULL,0},
00678 {KBDNLS_NULL,0},
00679 {KBDNLS_NULL,0},
00680 {KBDNLS_NULL,0}
00681 }
00682 },
00683 {
00684 VK_NONCONVERT,
00685 KBDNLS_TYPE_NORMAL,
00686 KBDNLS_INDEX_NORMAL,
00687 0x0,
00688 {
00689 {KBDNLS_SEND_BASE_VK,0},
00690 {KBDNLS_SEND_BASE_VK,0},
00691 {KBDNLS_SEND_BASE_VK,0},
00692 {KBDNLS_SEND_BASE_VK,0},
00693 {KBDNLS_SEND_BASE_VK,0},
00694 {KBDNLS_SEND_BASE_VK,0},
00695 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERWORDREGISTERMODE},
00696 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERWORDREGISTERMODE}
00697 },
00698 {
00699 {KBDNLS_NULL,0},
00700 {KBDNLS_NULL,0},
00701 {KBDNLS_NULL,0},
00702 {KBDNLS_NULL,0},
00703 {KBDNLS_NULL,0},
00704 {KBDNLS_NULL,0},
00705 {KBDNLS_NULL,0},
00706 {KBDNLS_NULL,0}
00707 }
00708 }
00709 };
00710
00711
#if defined(_PC98_)
00712
static ALLOC_SECTION_LDATA VK_F VkToFuncTable_NEC[] = {
00713 {
00714 VK_DBE_SBCSCHAR,
00715 KBDNLS_TYPE_NORMAL,
00716 KBDNLS_INDEX_NORMAL,
00717 0x0,
00718 {
00719 {KBDNLS_SBCSDBCS,0},
00720 {KBDNLS_SBCSDBCS,0},
00721 {KBDNLS_SBCSDBCS,0},
00722 {KBDNLS_SBCSDBCS,0},
00723 {KBDNLS_SBCSDBCS,0},
00724
00725 {KBDNLS_SBCSDBCS,0},
00726 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERIMECONFIGMODE},
00727 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERIMECONFIGMODE}
00728 },
00729 {
00730 {KBDNLS_NULL,0},
00731 {KBDNLS_NULL,0},
00732 {KBDNLS_NULL,0},
00733 {KBDNLS_NULL,0},
00734 {KBDNLS_NULL,0},
00735 {KBDNLS_NULL,0},
00736 {KBDNLS_NULL,0},
00737 {KBDNLS_NULL,0}
00738 }
00739 },
00740 {
00741 VK_NONCONVERT,
00742 KBDNLS_TYPE_NORMAL,
00743 KBDNLS_INDEX_NORMAL,
00744 0x0,
00745 {
00746 {KBDNLS_SEND_BASE_VK,0},
00747 {KBDNLS_SEND_BASE_VK,0},
00748 {KBDNLS_SEND_PARAM_VK,VK_DBE_ALPHANUMERIC},
00749 {KBDNLS_SBCSDBCS,0},
00750 {KBDNLS_SEND_PARAM_VK,VK_DBE_KATAKANA},
00751 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERWORDREGISTERMODE},
00752 {KBDNLS_SEND_PARAM_VK,VK_DBE_NOCODEINPUT},
00753 {KBDNLS_SEND_PARAM_VK,VK_DBE_FLUSHSTRING}
00754 },
00755 {
00756 {KBDNLS_NULL,0},
00757 {KBDNLS_NULL,0},
00758 {KBDNLS_NULL,0},
00759 {KBDNLS_NULL,0},
00760 {KBDNLS_NULL,0},
00761 {KBDNLS_NULL,0},
00762 {KBDNLS_NULL,0},
00763 {KBDNLS_NULL,0}
00764 }
00765 },
00766 {
00767 VK_CONVERT,
00768 KBDNLS_TYPE_NORMAL,
00769 KBDNLS_INDEX_NORMAL,
00770 0x0,
00771 {
00772 {KBDNLS_SEND_BASE_VK,0},
00773 {KBDNLS_SEND_BASE_VK,0},
00774 {KBDNLS_SEND_PARAM_VK,VK_KANJI},
00775 {KBDNLS_SEND_BASE_VK,0},
00776 {KBDNLS_ROMAN,0},
00777 {KBDNLS_SEND_PARAM_VK,VK_DBE_ENTERIMECONFIGMODE},
00778 {KBDNLS_SEND_PARAM_VK,VK_DBE_CODEINPUT},
00779 {KBDNLS_SEND_PARAM_VK,VK_DBE_HIRAGANA}
00780 },
00781 {
00782 {KBDNLS_NULL,0},
00783 {KBDNLS_NULL,0},
00784 {KBDNLS_NULL,0},
00785 {KBDNLS_NULL,0},
00786 {KBDNLS_NULL,0},
00787 {KBDNLS_NULL,0},
00788 {KBDNLS_NULL,0},
00789 {KBDNLS_NULL,0}
00790 }
00791 },
00792 {
00793 VK_OEM_NEC_EQUAL,
00794 KBDNLS_TYPE_NORMAL,
00795 KBDNLS_INDEX_NORMAL,
00796 0x0,
00797 {
00798 {KBDNLS_SEND_BASE_VK,0},
00799 {KBDNLS_SEND_BASE_VK,0},
00800 {KBDNLS_SEND_PARAM_VK,VK_SCROLL},
00801 {KBDNLS_SEND_BASE_VK,0},
00802 {KBDNLS_SEND_BASE_VK,0},
00803 {KBDNLS_SEND_BASE_VK,0},
00804 {KBDNLS_SEND_BASE_VK,0},
00805 {KBDNLS_SEND_BASE_VK,0}
00806 },
00807 {
00808 {KBDNLS_NULL,0},
00809 {KBDNLS_NULL,0},
00810 {KBDNLS_NULL,0},
00811 {KBDNLS_NULL,0},
00812 {KBDNLS_NULL,0},
00813 {KBDNLS_NULL,0},
00814 {KBDNLS_NULL,0},
00815 {KBDNLS_NULL,0}
00816 }
00817 },
00818 {
00819 VK_HOME,
00820 KBDNLS_TYPE_NORMAL,
00821 KBDNLS_INDEX_NORMAL,
00822 0x0,
00823 {
00824 {KBDNLS_HOME_OR_CLEAR,0},
00825 {KBDNLS_SEND_BASE_VK,0},
00826 {KBDNLS_HOME_OR_CLEAR,0},
00827 {KBDNLS_HOME_OR_CLEAR,0},
00828 {KBDNLS_HOME_OR_CLEAR,0},
00829 {KBDNLS_HOME_OR_CLEAR,0},
00830 {KBDNLS_HOME_OR_CLEAR,0},
00831 {KBDNLS_HOME_OR_CLEAR,0}
00832 },
00833 {
00834 {KBDNLS_NULL,0},
00835 {KBDNLS_NULL,0},
00836 {KBDNLS_NULL,0},
00837 {KBDNLS_NULL,0},
00838 {KBDNLS_NULL,0},
00839 {KBDNLS_NULL,0},
00840 {KBDNLS_NULL,0},
00841 {KBDNLS_NULL,0}
00842 }
00843 },
00844 {
00845 VK_END,
00846 KBDNLS_TYPE_NORMAL,
00847 KBDNLS_INDEX_NORMAL,
00848 0x0,
00849 {
00850 {KBDNLS_HELP_OR_END,0},
00851 {KBDNLS_HELP_OR_END,0},
00852 {KBDNLS_HELP_OR_END,0},
00853 {KBDNLS_HELP_OR_END,0},
00854 {KBDNLS_HELP_OR_END,0},
00855 {KBDNLS_HELP_OR_END,0},
00856 {KBDNLS_HELP_OR_END,0},
00857 {KBDNLS_HELP_OR_END,0}
00858 },
00859 {
00860 {KBDNLS_NULL,0},
00861 {KBDNLS_NULL,0},
00862 {KBDNLS_NULL,0},
00863 {KBDNLS_NULL,0},
00864 {KBDNLS_NULL,0},
00865 {KBDNLS_NULL,0},
00866 {KBDNLS_NULL,0},
00867 {KBDNLS_NULL,0}
00868 }
00869 },
00870 {
00871 VK_NUMPAD0,
00872 KBDNLS_TYPE_NORMAL,
00873 KBDNLS_INDEX_NORMAL,
00874 0x0,
00875 {
00876 {KBDNLS_NUMPAD,0},
00877 {KBDNLS_NUMPAD,0},
00878 {KBDNLS_NUMPAD,0},
00879 {KBDNLS_NUMPAD,0},
00880 {KBDNLS_NUMPAD,0},
00881 {KBDNLS_NUMPAD,0},
00882 {KBDNLS_NUMPAD,0},
00883 {KBDNLS_NUMPAD,0}
00884 },
00885 {
00886 {KBDNLS_NULL,0},
00887 {KBDNLS_NULL,0},
00888 {KBDNLS_NULL,0},
00889 {KBDNLS_NULL,0},
00890 {KBDNLS_NULL,0},
00891 {KBDNLS_NULL,0},
00892 {KBDNLS_NULL,0},
00893 {KBDNLS_NULL,0}
00894 }
00895 },
00896 {
00897 VK_NUMPAD1,
00898 KBDNLS_TYPE_NORMAL,
00899 KBDNLS_INDEX_NORMAL,
00900 0x0,
00901 {
00902 {KBDNLS_NUMPAD,0},
00903 {KBDNLS_NUMPAD,0},
00904 {KBDNLS_NUMPAD,0},
00905 {KBDNLS_NUMPAD,0},
00906 {KBDNLS_NUMPAD,0},
00907 {KBDNLS_NUMPAD,0},
00908 {KBDNLS_NUMPAD,0},
00909 {KBDNLS_NUMPAD,0}
00910 },
00911 {
00912 {KBDNLS_NULL,0},
00913 {KBDNLS_NULL,0},
00914 {KBDNLS_NULL,0},
00915 {KBDNLS_NULL,0},
00916 {KBDNLS_NULL,0},
00917 {KBDNLS_NULL,0},
00918 {KBDNLS_NULL,0},
00919 {KBDNLS_NULL,0}
00920 }
00921 },
00922 {
00923 VK_NUMPAD2,
00924 KBDNLS_TYPE_NORMAL,
00925 KBDNLS_INDEX_NORMAL,
00926 0x0,
00927 {
00928 {KBDNLS_NUMPAD,0},
00929 {KBDNLS_NUMPAD,0},
00930 {KBDNLS_NUMPAD,0},
00931 {KBDNLS_NUMPAD,0},
00932 {KBDNLS_NUMPAD,0},
00933 {KBDNLS_NUMPAD,0},
00934 {KBDNLS_NUMPAD,0},
00935 {KBDNLS_NUMPAD,0}
00936 },
00937 {
00938 {KBDNLS_NULL,0},
00939 {KBDNLS_NULL,0},
00940 {KBDNLS_NULL,0},
00941 {KBDNLS_NULL,0},
00942 {KBDNLS_NULL,0},
00943 {KBDNLS_NULL,0},
00944 {KBDNLS_NULL,0},
00945 {KBDNLS_NULL,0}
00946 }
00947 },
00948 {
00949 VK_NUMPAD3,
00950 KBDNLS_TYPE_NORMAL,
00951 KBDNLS_INDEX_NORMAL,
00952 0x0,
00953 {
00954 {KBDNLS_NUMPAD,0},
00955 {KBDNLS_NUMPAD,0},
00956 {KBDNLS_NUMPAD,0},
00957 {KBDNLS_NUMPAD,0},
00958 {KBDNLS_NUMPAD,0},
00959 {KBDNLS_NUMPAD,0},
00960 {KBDNLS_NUMPAD,0},
00961 {KBDNLS_NUMPAD,0}
00962 },
00963 {
00964 {KBDNLS_NULL,0},
00965 {KBDNLS_NULL,0},
00966 {KBDNLS_NULL,0},
00967 {KBDNLS_NULL,0},
00968 {KBDNLS_NULL,0},
00969 {KBDNLS_NULL,0},
00970 {KBDNLS_NULL,0},
00971 {KBDNLS_NULL,0}
00972 }
00973 },
00974 {
00975 VK_NUMPAD4,
00976 KBDNLS_TYPE_NORMAL,
00977 KBDNLS_INDEX_NORMAL,
00978 0x0,
00979 {
00980 {KBDNLS_NUMPAD,0},
00981 {KBDNLS_NUMPAD,0},
00982 {KBDNLS_NUMPAD,0},
00983 {KBDNLS_NUMPAD,0},
00984 {KBDNLS_NUMPAD,0},
00985 {KBDNLS_NUMPAD,0},
00986 {KBDNLS_NUMPAD,0},
00987 {KBDNLS_NUMPAD,0}
00988 },
00989 {
00990 {KBDNLS_NULL,0},
00991 {KBDNLS_NULL,0},
00992 {KBDNLS_NULL,0},
00993 {KBDNLS_NULL,0},
00994 {KBDNLS_NULL,0},
00995 {KBDNLS_NULL,0},
00996 {KBDNLS_NULL,0},
00997 {KBDNLS_NULL,0}
00998 }
00999 },
01000 {
01001 VK_NUMPAD5,
01002 KBDNLS_TYPE_NORMAL,
01003 KBDNLS_INDEX_NORMAL,
01004 0x0,
01005 {
01006 {KBDNLS_NUMPAD,0},
01007 {KBDNLS_NUMPAD,0},
01008 {KBDNLS_NUMPAD,0},
01009 {KBDNLS_NUMPAD,0},
01010 {KBDNLS_NUMPAD,0},
01011 {KBDNLS_NUMPAD,0},
01012 {KBDNLS_NUMPAD,0},
01013 {KBDNLS_NUMPAD,0}
01014 },
01015 {
01016 {KBDNLS_NULL,0},
01017 {KBDNLS_NULL,0},
01018 {KBDNLS_NULL,0},
01019 {KBDNLS_NULL,0},
01020 {KBDNLS_NULL,0},
01021 {KBDNLS_NULL,0},
01022 {KBDNLS_NULL,0},
01023 {KBDNLS_NULL,0}
01024 }
01025 },
01026 {
01027 VK_NUMPAD6,
01028 KBDNLS_TYPE_NORMAL,
01029 KBDNLS_INDEX_NORMAL,
01030 0x0,
01031 {
01032 {KBDNLS_NUMPAD,0},
01033 {KBDNLS_NUMPAD,0},
01034 {KBDNLS_NUMPAD,0},
01035 {KBDNLS_NUMPAD,0},
01036 {KBDNLS_NUMPAD,0},
01037 {KBDNLS_NUMPAD,0},
01038 {KBDNLS_NUMPAD,0},
01039 {KBDNLS_NUMPAD,0}
01040 },
01041 {
01042 {KBDNLS_NULL,0},
01043 {KBDNLS_NULL,0},
01044 {KBDNLS_NULL,0},
01045 {KBDNLS_NULL,0},
01046 {KBDNLS_NULL,0},
01047 {KBDNLS_NULL,0},
01048 {KBDNLS_NULL,0},
01049 {KBDNLS_NULL,0}
01050 }
01051 },
01052 {
01053 VK_NUMPAD7,
01054 KBDNLS_TYPE_NORMAL,
01055 KBDNLS_INDEX_NORMAL,
01056 0x0,
01057 {
01058 {KBDNLS_NUMPAD,0},
01059 {KBDNLS_NUMPAD,0},
01060 {KBDNLS_NUMPAD,0},
01061 {KBDNLS_NUMPAD,0},
01062 {KBDNLS_NUMPAD,0},
01063 {KBDNLS_NUMPAD,0},
01064 {KBDNLS_NUMPAD,0},
01065 {KBDNLS_NUMPAD,0}
01066 },
01067 {
01068 {KBDNLS_NULL,0},
01069 {KBDNLS_NULL,0},
01070 {KBDNLS_NULL,0},
01071 {KBDNLS_NULL,0},
01072 {KBDNLS_NULL,0},
01073 {KBDNLS_NULL,0},
01074 {KBDNLS_NULL,0},
01075 {KBDNLS_NULL,0}
01076 }
01077 },
01078 {
01079 VK_NUMPAD8,
01080 KBDNLS_TYPE_NORMAL,
01081 KBDNLS_INDEX_NORMAL,
01082 0x0,
01083 {
01084 {KBDNLS_NUMPAD,0},
01085 {KBDNLS_NUMPAD,0},
01086 {KBDNLS_NUMPAD,0},
01087 {KBDNLS_NUMPAD,0},
01088 {KBDNLS_NUMPAD,0},
01089 {KBDNLS_NUMPAD,0},
01090 {KBDNLS_NUMPAD,0},
01091 {KBDNLS_NUMPAD,0}
01092 },
01093 {
01094 {KBDNLS_NULL,0},
01095 {KBDNLS_NULL,0},
01096 {KBDNLS_NULL,0},
01097 {KBDNLS_NULL,0},
01098 {KBDNLS_NULL,0},
01099 {KBDNLS_NULL,0},
01100 {KBDNLS_NULL,0},
01101 {KBDNLS_NULL,0}
01102 }
01103 },
01104 {
01105 VK_NUMPAD9,
01106 KBDNLS_TYPE_NORMAL,
01107 KBDNLS_INDEX_NORMAL,
01108 0x0,
01109 {
01110 {KBDNLS_NUMPAD,0},
01111 {KBDNLS_NUMPAD,0},
01112 {KBDNLS_NUMPAD,0},
01113 {KBDNLS_NUMPAD,0},
01114 {KBDNLS_NUMPAD,0},
01115 {KBDNLS_NUMPAD,0},
01116 {KBDNLS_NUMPAD,0},
01117 {KBDNLS_NUMPAD,0}
01118 },
01119 {
01120 {KBDNLS_NULL,0},
01121 {KBDNLS_NULL,0},
01122 {KBDNLS_NULL,0},
01123 {KBDNLS_NULL,0},
01124 {KBDNLS_NULL,0},
01125 {KBDNLS_NULL,0},
01126 {KBDNLS_NULL,0},
01127 {KBDNLS_NULL,0}
01128 }
01129 },
01130 {
01131 VK_DECIMAL,
01132 KBDNLS_TYPE_NORMAL,
01133 KBDNLS_INDEX_NORMAL,
01134 0x0,
01135 {
01136 {KBDNLS_NUMPAD,0},
01137 {KBDNLS_NUMPAD,0},
01138 {KBDNLS_NUMPAD,0},
01139 {KBDNLS_NUMPAD,0},
01140 {KBDNLS_NUMPAD,0},
01141 {KBDNLS_NUMPAD,0},
01142 {KBDNLS_NUMPAD,0},
01143 {KBDNLS_NUMPAD,0}
01144 },
01145 {
01146 {KBDNLS_NULL,0},
01147 {KBDNLS_NULL,0},
01148 {KBDNLS_NULL,0},
01149 {KBDNLS_NULL,0},
01150 {KBDNLS_NULL,0},
01151 {KBDNLS_NULL,0},
01152 {KBDNLS_NULL,0},
01153 {KBDNLS_NULL,0}
01154 }
01155 }
01156 };
01157
01158
USHORT ausMouseVKey98[] = {
01159 VK_NUMPAD5,
01160 VK_NUMPAD9,
01161 VK_NUMPAD3,
01162 VK_NUMPAD1,
01163 VK_NUMPAD7,
01164 VK_NUMPAD4,
01165 VK_NUMPAD8,
01166 VK_NUMPAD6,
01167 VK_NUMPAD2,
01168 VK_NUMPAD0,
01169 VK_DECIMAL,
01170 VK_MULTIPLY,
01171 VK_ADD,
01172 VK_SUBTRACT,
01173 VK_DIVIDE | KBDEXT,
01174 VK_HOME | KBDEXT
01175 };
01176
#endif // defined(_PC98_)
01177
01178
01179
01180
01181
01182 static ALLOC_SECTION_LDATA KBDNLSTABLES
KbdNlsTables = {
01183
#if defined(_PC98_)
01184
#if 1
01185
0,
01186
#else
01187
0x0d,
01188
#endif
01189
NLSKBD_INFO_ACCESSIBILITY_KEYMAP,
01190 16,
01191 VkToFuncTable_NEC,
01192 16,
01193 ausMouseVKey98
01194
#else // defined(_PC98_)
01195
0,
01196 0,
01197 4,
01198
VkToFuncTable_106,
01199 0,
01200
NULL
01201
#endif // defined(_PC98_)
01202
};
01203
01204 PKBDNLSTABLES
KbdNlsLayerDescriptor(VOID)
01205 {
01206
return &
KbdNlsTables;
01207 }
Generated on Sat May 15 19:40:33 2004 for test by
1.3.7