1#define UNDEFINED_VK (unsigned short)-1 2#ifndef VK_LBUTTON 3# define VK_LBUTTON UNDEFINED_VK 4#endif 5#ifndef VK_RBUTTON 6# define VK_RBUTTON UNDEFINED_VK 7#endif 8#ifndef VK_CANCEL 9# define VK_CANCEL UNDEFINED_VK 10#endif 11#ifndef VK_MBUTTON 12# define VK_MBUTTON UNDEFINED_VK 13#endif 14#ifndef VK_XBUTTON1 15# define VK_XBUTTON1 UNDEFINED_VK 16#endif 17#ifndef VK_XBUTTON2 18# define VK_XBUTTON2 UNDEFINED_VK 19#endif 20#ifndef VK_BACK 21# define VK_BACK UNDEFINED_VK 22#endif 23#ifndef VK_TAB 24# define VK_TAB UNDEFINED_VK 25#endif 26#ifndef VK_CLEAR 27# define VK_CLEAR UNDEFINED_VK 28#endif 29#ifndef VK_RETURN 30# define VK_RETURN UNDEFINED_VK 31#endif 32#ifndef VK_SHIFT 33# define VK_SHIFT UNDEFINED_VK 34#endif 35#ifndef VK_CONTROL 36# define VK_CONTROL UNDEFINED_VK 37#endif 38#ifndef VK_MENU 39# define VK_MENU UNDEFINED_VK 40#endif 41#ifndef VK_PAUSE 42# define VK_PAUSE UNDEFINED_VK 43#endif 44#ifndef VK_CAPITAL 45# define VK_CAPITAL UNDEFINED_VK 46#endif 47#ifndef VK_KANA 48# define VK_KANA UNDEFINED_VK 49#endif 50#ifndef VK_HANGEUL 51# define VK_HANGEUL UNDEFINED_VK 52#endif 53#ifndef VK_HANGUL 54# define VK_HANGUL UNDEFINED_VK 55#endif 56#ifndef VK_JUNJA 57# define VK_JUNJA UNDEFINED_VK 58#endif 59#ifndef VK_FINAL 60# define VK_FINAL UNDEFINED_VK 61#endif 62#ifndef VK_HANJA 63# define VK_HANJA UNDEFINED_VK 64#endif 65#ifndef VK_KANJI 66# define VK_KANJI UNDEFINED_VK 67#endif 68#ifndef VK_ESCAPE 69# define VK_ESCAPE UNDEFINED_VK 70#endif 71#ifndef VK_CONVERT 72# define VK_CONVERT UNDEFINED_VK 73#endif 74#ifndef VK_NONCONVERT 75# define VK_NONCONVERT UNDEFINED_VK 76#endif 77#ifndef VK_ACCEPT 78# define VK_ACCEPT UNDEFINED_VK 79#endif 80#ifndef VK_MODECHANGE 81# define VK_MODECHANGE UNDEFINED_VK 82#endif 83#ifndef VK_SPACE 84# define VK_SPACE UNDEFINED_VK 85#endif 86#ifndef VK_PRIOR 87# define VK_PRIOR UNDEFINED_VK 88#endif 89#ifndef VK_NEXT 90# define VK_NEXT UNDEFINED_VK 91#endif 92#ifndef VK_END 93# define VK_END UNDEFINED_VK 94#endif 95#ifndef VK_HOME 96# define VK_HOME UNDEFINED_VK 97#endif 98#ifndef VK_LEFT 99# define VK_LEFT UNDEFINED_VK 100#endif 101#ifndef VK_UP 102# define VK_UP UNDEFINED_VK 103#endif 104#ifndef VK_RIGHT 105# define VK_RIGHT UNDEFINED_VK 106#endif 107#ifndef VK_DOWN 108# define VK_DOWN UNDEFINED_VK 109#endif 110#ifndef VK_SELECT 111# define VK_SELECT UNDEFINED_VK 112#endif 113#ifndef VK_PRINT 114# define VK_PRINT UNDEFINED_VK 115#endif 116#ifndef VK_EXECUTE 117# define VK_EXECUTE UNDEFINED_VK 118#endif 119#ifndef VK_SNAPSHOT 120# define VK_SNAPSHOT UNDEFINED_VK 121#endif 122#ifndef VK_INSERT 123# define VK_INSERT UNDEFINED_VK 124#endif 125#ifndef VK_DELETE 126# define VK_DELETE UNDEFINED_VK 127#endif 128#ifndef VK_HELP 129# define VK_HELP UNDEFINED_VK 130#endif 131#ifndef VK_LWIN 132# define VK_LWIN UNDEFINED_VK 133#endif 134#ifndef VK_RWIN 135# define VK_RWIN UNDEFINED_VK 136#endif 137#ifndef VK_APPS 138# define VK_APPS UNDEFINED_VK 139#endif 140#ifndef VK_SLEEP 141# define VK_SLEEP UNDEFINED_VK 142#endif 143#ifndef VK_NUMPAD0 144# define VK_NUMPAD0 UNDEFINED_VK 145#endif 146#ifndef VK_NUMPAD1 147# define VK_NUMPAD1 UNDEFINED_VK 148#endif 149#ifndef VK_NUMPAD2 150# define VK_NUMPAD2 UNDEFINED_VK 151#endif 152#ifndef VK_NUMPAD3 153# define VK_NUMPAD3 UNDEFINED_VK 154#endif 155#ifndef VK_NUMPAD4 156# define VK_NUMPAD4 UNDEFINED_VK 157#endif 158#ifndef VK_NUMPAD5 159# define VK_NUMPAD5 UNDEFINED_VK 160#endif 161#ifndef VK_NUMPAD6 162# define VK_NUMPAD6 UNDEFINED_VK 163#endif 164#ifndef VK_NUMPAD7 165# define VK_NUMPAD7 UNDEFINED_VK 166#endif 167#ifndef VK_NUMPAD8 168# define VK_NUMPAD8 UNDEFINED_VK 169#endif 170#ifndef VK_NUMPAD9 171# define VK_NUMPAD9 UNDEFINED_VK 172#endif 173#ifndef VK_MULTIPLY 174# define VK_MULTIPLY UNDEFINED_VK 175#endif 176#ifndef VK_ADD 177# define VK_ADD UNDEFINED_VK 178#endif 179#ifndef VK_SEPARATOR 180# define VK_SEPARATOR UNDEFINED_VK 181#endif 182#ifndef VK_SUBTRACT 183# define VK_SUBTRACT UNDEFINED_VK 184#endif 185#ifndef VK_DECIMAL 186# define VK_DECIMAL UNDEFINED_VK 187#endif 188#ifndef VK_DIVIDE 189# define VK_DIVIDE UNDEFINED_VK 190#endif 191#ifndef VK_F1 192# define VK_F1 UNDEFINED_VK 193#endif 194#ifndef VK_F2 195# define VK_F2 UNDEFINED_VK 196#endif 197#ifndef VK_F3 198# define VK_F3 UNDEFINED_VK 199#endif 200#ifndef VK_F4 201# define VK_F4 UNDEFINED_VK 202#endif 203#ifndef VK_F5 204# define VK_F5 UNDEFINED_VK 205#endif 206#ifndef VK_F6 207# define VK_F6 UNDEFINED_VK 208#endif 209#ifndef VK_F7 210# define VK_F7 UNDEFINED_VK 211#endif 212#ifndef VK_F8 213# define VK_F8 UNDEFINED_VK 214#endif 215#ifndef VK_F9 216# define VK_F9 UNDEFINED_VK 217#endif 218#ifndef VK_F10 219# define VK_F10 UNDEFINED_VK 220#endif 221#ifndef VK_F11 222# define VK_F11 UNDEFINED_VK 223#endif 224#ifndef VK_F12 225# define VK_F12 UNDEFINED_VK 226#endif 227#ifndef VK_F13 228# define VK_F13 UNDEFINED_VK 229#endif 230#ifndef VK_F14 231# define VK_F14 UNDEFINED_VK 232#endif 233#ifndef VK_F15 234# define VK_F15 UNDEFINED_VK 235#endif 236#ifndef VK_F16 237# define VK_F16 UNDEFINED_VK 238#endif 239#ifndef VK_F17 240# define VK_F17 UNDEFINED_VK 241#endif 242#ifndef VK_F18 243# define VK_F18 UNDEFINED_VK 244#endif 245#ifndef VK_F19 246# define VK_F19 UNDEFINED_VK 247#endif 248#ifndef VK_F20 249# define VK_F20 UNDEFINED_VK 250#endif 251#ifndef VK_F21 252# define VK_F21 UNDEFINED_VK 253#endif 254#ifndef VK_F22 255# define VK_F22 UNDEFINED_VK 256#endif 257#ifndef VK_F23 258# define VK_F23 UNDEFINED_VK 259#endif 260#ifndef VK_F24 261# define VK_F24 UNDEFINED_VK 262#endif 263#ifndef VK_NUMLOCK 264# define VK_NUMLOCK UNDEFINED_VK 265#endif 266#ifndef VK_SCROLL 267# define VK_SCROLL UNDEFINED_VK 268#endif 269#ifndef VK_OEM_NEC_EQUAL 270# define VK_OEM_NEC_EQUAL UNDEFINED_VK 271#endif 272#ifndef VK_OEM_FJ_JISHO 273# define VK_OEM_FJ_JISHO UNDEFINED_VK 274#endif 275#ifndef VK_OEM_FJ_MASSHOU 276# define VK_OEM_FJ_MASSHOU UNDEFINED_VK 277#endif 278#ifndef VK_OEM_FJ_TOUROKU 279# define VK_OEM_FJ_TOUROKU UNDEFINED_VK 280#endif 281#ifndef VK_OEM_FJ_LOYA 282# define VK_OEM_FJ_LOYA UNDEFINED_VK 283#endif 284#ifndef VK_OEM_FJ_ROYA 285# define VK_OEM_FJ_ROYA UNDEFINED_VK 286#endif 287#ifndef VK_LSHIFT 288# define VK_LSHIFT UNDEFINED_VK 289#endif 290#ifndef VK_RSHIFT 291# define VK_RSHIFT UNDEFINED_VK 292#endif 293#ifndef VK_LCONTROL 294# define VK_LCONTROL UNDEFINED_VK 295#endif 296#ifndef VK_RCONTROL 297# define VK_RCONTROL UNDEFINED_VK 298#endif 299#ifndef VK_LMENU 300# define VK_LMENU UNDEFINED_VK 301#endif 302#ifndef VK_RMENU 303# define VK_RMENU UNDEFINED_VK 304#endif 305#ifndef VK_BROWSER_BACK 306# define VK_BROWSER_BACK UNDEFINED_VK 307#endif 308#ifndef VK_BROWSER_FORWARD 309# define VK_BROWSER_FORWARD UNDEFINED_VK 310#endif 311#ifndef VK_BROWSER_REFRESH 312# define VK_BROWSER_REFRESH UNDEFINED_VK 313#endif 314#ifndef VK_BROWSER_STOP 315# define VK_BROWSER_STOP UNDEFINED_VK 316#endif 317#ifndef VK_BROWSER_SEARCH 318# define VK_BROWSER_SEARCH UNDEFINED_VK 319#endif 320#ifndef VK_BROWSER_FAVORITES 321# define VK_BROWSER_FAVORITES UNDEFINED_VK 322#endif 323#ifndef VK_BROWSER_HOME 324# define VK_BROWSER_HOME UNDEFINED_VK 325#endif 326#ifndef VK_VOLUME_MUTE 327# define VK_VOLUME_MUTE UNDEFINED_VK 328#endif 329#ifndef VK_VOLUME_DOWN 330# define VK_VOLUME_DOWN UNDEFINED_VK 331#endif 332#ifndef VK_VOLUME_UP 333# define VK_VOLUME_UP UNDEFINED_VK 334#endif 335#ifndef VK_MEDIA_NEXT_TRACK 336# define VK_MEDIA_NEXT_TRACK UNDEFINED_VK 337#endif 338#ifndef VK_MEDIA_PREV_TRACK 339# define VK_MEDIA_PREV_TRACK UNDEFINED_VK 340#endif 341#ifndef VK_MEDIA_STOP 342# define VK_MEDIA_STOP UNDEFINED_VK 343#endif 344#ifndef VK_MEDIA_PLAY_PAUSE 345# define VK_MEDIA_PLAY_PAUSE UNDEFINED_VK 346#endif 347#ifndef VK_LAUNCH_MAIL 348# define VK_LAUNCH_MAIL UNDEFINED_VK 349#endif 350#ifndef VK_LAUNCH_MEDIA_SELECT 351# define VK_LAUNCH_MEDIA_SELECT UNDEFINED_VK 352#endif 353#ifndef VK_LAUNCH_APP1 354# define VK_LAUNCH_APP1 UNDEFINED_VK 355#endif 356#ifndef VK_LAUNCH_APP2 357# define VK_LAUNCH_APP2 UNDEFINED_VK 358#endif 359#ifndef VK_OEM_1 360# define VK_OEM_1 UNDEFINED_VK 361#endif 362#ifndef VK_OEM_PLUS 363# define VK_OEM_PLUS UNDEFINED_VK 364#endif 365#ifndef VK_OEM_COMMA 366# define VK_OEM_COMMA UNDEFINED_VK 367#endif 368#ifndef VK_OEM_MINUS 369# define VK_OEM_MINUS UNDEFINED_VK 370#endif 371#ifndef VK_OEM_PERIOD 372# define VK_OEM_PERIOD UNDEFINED_VK 373#endif 374#ifndef VK_OEM_2 375# define VK_OEM_2 UNDEFINED_VK 376#endif 377#ifndef VK_OEM_3 378# define VK_OEM_3 UNDEFINED_VK 379#endif 380#ifndef VK_OEM_4 381# define VK_OEM_4 UNDEFINED_VK 382#endif 383#ifndef VK_OEM_5 384# define VK_OEM_5 UNDEFINED_VK 385#endif 386#ifndef VK_OEM_6 387# define VK_OEM_6 UNDEFINED_VK 388#endif 389#ifndef VK_OEM_7 390# define VK_OEM_7 UNDEFINED_VK 391#endif 392#ifndef VK_OEM_8 393# define VK_OEM_8 UNDEFINED_VK 394#endif 395#ifndef VK_OEM_AX 396# define VK_OEM_AX UNDEFINED_VK 397#endif 398#ifndef VK_OEM_102 399# define VK_OEM_102 UNDEFINED_VK 400#endif 401#ifndef VK_ICO_HELP 402# define VK_ICO_HELP UNDEFINED_VK 403#endif 404#ifndef VK_ICO_00 405# define VK_ICO_00 UNDEFINED_VK 406#endif 407#ifndef VK_PROCESSKEY 408# define VK_PROCESSKEY UNDEFINED_VK 409#endif 410#ifndef VK_ICO_CLEAR 411# define VK_ICO_CLEAR UNDEFINED_VK 412#endif 413#ifndef VK_PACKET 414# define VK_PACKET UNDEFINED_VK 415#endif 416#ifndef VK_OEM_RESET 417# define VK_OEM_RESET UNDEFINED_VK 418#endif 419#ifndef VK_OEM_JUMP 420# define VK_OEM_JUMP UNDEFINED_VK 421#endif 422#ifndef VK_OEM_PA1 423# define VK_OEM_PA1 UNDEFINED_VK 424#endif 425#ifndef VK_OEM_PA2 426# define VK_OEM_PA2 UNDEFINED_VK 427#endif 428#ifndef VK_OEM_PA3 429# define VK_OEM_PA3 UNDEFINED_VK 430#endif 431#ifndef VK_OEM_WSCTRL 432# define VK_OEM_WSCTRL UNDEFINED_VK 433#endif 434#ifndef VK_OEM_CUSEL 435# define VK_OEM_CUSEL UNDEFINED_VK 436#endif 437#ifndef VK_OEM_ATTN 438# define VK_OEM_ATTN UNDEFINED_VK 439#endif 440#ifndef VK_OEM_FINISH 441# define VK_OEM_FINISH UNDEFINED_VK 442#endif 443#ifndef VK_OEM_COPY 444# define VK_OEM_COPY UNDEFINED_VK 445#endif 446#ifndef VK_OEM_AUTO 447# define VK_OEM_AUTO UNDEFINED_VK 448#endif 449#ifndef VK_OEM_ENLW 450# define VK_OEM_ENLW UNDEFINED_VK 451#endif 452#ifndef VK_OEM_BACKTAB 453# define VK_OEM_BACKTAB UNDEFINED_VK 454#endif 455#ifndef VK_ATTN 456# define VK_ATTN UNDEFINED_VK 457#endif 458#ifndef VK_CRSEL 459# define VK_CRSEL UNDEFINED_VK 460#endif 461#ifndef VK_EXSEL 462# define VK_EXSEL UNDEFINED_VK 463#endif 464#ifndef VK_EREOF 465# define VK_EREOF UNDEFINED_VK 466#endif 467#ifndef VK_PLAY 468# define VK_PLAY UNDEFINED_VK 469#endif 470#ifndef VK_ZOOM 471# define VK_ZOOM UNDEFINED_VK 472#endif 473#ifndef VK_NONAME 474# define VK_NONAME UNDEFINED_VK 475#endif 476#ifndef VK_PA1 477# define VK_PA1 UNDEFINED_VK 478#endif 479#ifndef VK_OEM_CLEAR 480# define VK_OEM_CLEAR UNDEFINED_VK 481#endif 482/* ANSI-C code produced by gperf version 3.1 */ 483/* Command-line: gperf --ignore-case -E -C -P -p -j1 -i 1 -g -o -t -K ofs -N console_win32_vk -k'*' win32_vk.list */ 484 485#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ 486 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ 487 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ 488 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ 489 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ 490 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ 491 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ 492 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ 493 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ 494 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ 495 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ 496 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ 497 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ 498 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ 499 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ 500 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ 501 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ 502 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ 503 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ 504 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ 505 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ 506 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ 507 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) 508/* The character set is not based on ISO-646. */ 509#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>." 510#endif 511 512#define gperf_offsetof(s, n) (short)offsetof(struct s##_t, s##_str##n) 513#line 1 "win32_vk.list" 514 515struct vktable {short ofs; unsigned short vk;}; 516static const struct vktable *console_win32_vk(/*const char *, unsigned int*/); 517#line 5 "win32_vk.list" 518struct vktable; 519/* maximum key range = 245, duplicates = 0 */ 520 521#ifndef GPERF_DOWNCASE 522#define GPERF_DOWNCASE 1 523static unsigned char gperf_downcase[256] = 524 { 525 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 526 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 527 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 528 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 529 60, 61, 62, 63, 64, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 530 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 531 122, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 532 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 533 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 534 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 535 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 536 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 537 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 538 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 539 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 540 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 541 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 542 255 543 }; 544#endif 545 546#ifndef GPERF_CASE_STRCMP 547#define GPERF_CASE_STRCMP 1 548static int 549gperf_case_strcmp (register const char *s1, register const char *s2) 550{ 551 for (;;) 552 { 553 unsigned char c1 = gperf_downcase[(unsigned char)*s1++]; 554 unsigned char c2 = gperf_downcase[(unsigned char)*s2++]; 555 if (c1 != 0 && c1 == c2) 556 continue; 557 return (int)c1 - (int)c2; 558 } 559} 560#endif 561 562#ifdef __GNUC__ 563__inline 564#else 565#ifdef __cplusplus 566inline 567#endif 568#endif 569static unsigned int 570hash (register const char *str, register size_t len) 571{ 572 static const unsigned short asso_values[] = 573 { 574 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 575 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 576 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 577 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 578 257, 257, 257, 257, 257, 257, 257, 257, 51, 74, 579 80, 116, 127, 124, 95, 140, 77, 53, 7, 3, 580 257, 257, 257, 257, 257, 1, 11, 1, 55, 1, 581 25, 84, 31, 33, 13, 16, 2, 28, 8, 1, 582 6, 10, 1, 1, 3, 4, 45, 18, 73, 79, 583 30, 257, 257, 257, 257, 5, 257, 1, 11, 1, 584 55, 1, 25, 84, 31, 33, 13, 16, 2, 28, 585 8, 1, 6, 10, 1, 1, 3, 4, 45, 18, 586 73, 79, 30, 257, 257, 257, 257, 257, 257, 257, 587 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 588 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 589 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 590 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 591 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 592 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 593 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 594 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 595 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 596 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 597 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 598 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 599 257, 257, 257, 257, 257, 257, 257, 257 600 }; 601 register unsigned int hval = (unsigned int)len; 602 603 switch (hval) 604 { 605 default: 606 hval += asso_values[(unsigned char)str[18]]; 607 /*FALLTHROUGH*/ 608 case 18: 609 hval += asso_values[(unsigned char)str[17]]; 610 /*FALLTHROUGH*/ 611 case 17: 612 hval += asso_values[(unsigned char)str[16]]; 613 /*FALLTHROUGH*/ 614 case 16: 615 hval += asso_values[(unsigned char)str[15]]; 616 /*FALLTHROUGH*/ 617 case 15: 618 hval += asso_values[(unsigned char)str[14]]; 619 /*FALLTHROUGH*/ 620 case 14: 621 hval += asso_values[(unsigned char)str[13]]; 622 /*FALLTHROUGH*/ 623 case 13: 624 hval += asso_values[(unsigned char)str[12]]; 625 /*FALLTHROUGH*/ 626 case 12: 627 hval += asso_values[(unsigned char)str[11]]; 628 /*FALLTHROUGH*/ 629 case 11: 630 hval += asso_values[(unsigned char)str[10]]; 631 /*FALLTHROUGH*/ 632 case 10: 633 hval += asso_values[(unsigned char)str[9]]; 634 /*FALLTHROUGH*/ 635 case 9: 636 hval += asso_values[(unsigned char)str[8]]; 637 /*FALLTHROUGH*/ 638 case 8: 639 hval += asso_values[(unsigned char)str[7]]; 640 /*FALLTHROUGH*/ 641 case 7: 642 hval += asso_values[(unsigned char)str[6]]; 643 /*FALLTHROUGH*/ 644 case 6: 645 hval += asso_values[(unsigned char)str[5]]; 646 /*FALLTHROUGH*/ 647 case 5: 648 hval += asso_values[(unsigned char)str[4]]; 649 /*FALLTHROUGH*/ 650 case 4: 651 hval += asso_values[(unsigned char)str[3]]; 652 /*FALLTHROUGH*/ 653 case 3: 654 hval += asso_values[(unsigned char)str[2]+2]; 655 /*FALLTHROUGH*/ 656 case 2: 657 hval += asso_values[(unsigned char)str[1]]; 658 /*FALLTHROUGH*/ 659 case 1: 660 hval += asso_values[(unsigned char)str[0]]; 661 break; 662 } 663 return (unsigned int)hval; 664} 665 666struct stringpool_t 667 { 668 char stringpool_str12[sizeof("UP")]; 669 char stringpool_str13[sizeof("APPS")]; 670 char stringpool_str14[sizeof("CRSEL")]; 671 char stringpool_str15[sizeof("SPACE")]; 672 char stringpool_str16[sizeof("SCROLL")]; 673 char stringpool_str17[sizeof("ESCAPE")]; 674 char stringpool_str18[sizeof("CANCEL")]; 675 char stringpool_str19[sizeof("ACCEPT")]; 676 char stringpool_str20[sizeof("SEPARATOR")]; 677 char stringpool_str21[sizeof("SELECT")]; 678 char stringpool_str22[sizeof("CONTROL")]; 679 char stringpool_str23[sizeof("OEM_CLEAR")]; 680 char stringpool_str24[sizeof("OEM_RESET")]; 681 char stringpool_str25[sizeof("OEM_AUTO")]; 682 char stringpool_str26[sizeof("OEM_CUSEL")]; 683 char stringpool_str28[sizeof("KANA")]; 684 char stringpool_str29[sizeof("OEM_PLUS")]; 685 char stringpool_str30[sizeof("PRIOR")]; 686 char stringpool_str31[sizeof("OEM_ATTN")]; 687 char stringpool_str32[sizeof("PAUSE")]; 688 char stringpool_str33[sizeof("BACK")]; 689 char stringpool_str34[sizeof("PACKET")]; 690 char stringpool_str35[sizeof("RCONTROL")]; 691 char stringpool_str36[sizeof("LCONTROL")]; 692 char stringpool_str37[sizeof("END")]; 693 char stringpool_str38[sizeof("HOME")]; 694 char stringpool_str39[sizeof("PRINT")]; 695 char stringpool_str40[sizeof("NUMLOCK")]; 696 char stringpool_str41[sizeof("LEFT")]; 697 char stringpool_str42[sizeof("JUNJA")]; 698 char stringpool_str43[sizeof("MENU")]; 699 char stringpool_str44[sizeof("OEM_WSCTRL")]; 700 char stringpool_str45[sizeof("OEM_ENLW")]; 701 char stringpool_str46[sizeof("NEXT")]; 702 char stringpool_str47[sizeof("RWIN")]; 703 char stringpool_str48[sizeof("LWIN")]; 704 char stringpool_str49[sizeof("CAPITAL")]; 705 char stringpool_str50[sizeof("HELP")]; 706 char stringpool_str51[sizeof("NONAME")]; 707 char stringpool_str52[sizeof("RBUTTON")]; 708 char stringpool_str53[sizeof("LBUTTON")]; 709 char stringpool_str54[sizeof("OEM_NEC_EQUAL")]; 710 char stringpool_str56[sizeof("INSERT")]; 711 char stringpool_str57[sizeof("HANJA")]; 712 char stringpool_str60[sizeof("SNAPSHOT")]; 713 char stringpool_str61[sizeof("ATTN")]; 714 char stringpool_str62[sizeof("TAB")]; 715 char stringpool_str63[sizeof("OEM_BACKTAB")]; 716 char stringpool_str64[sizeof("ICO_CLEAR")]; 717 char stringpool_str65[sizeof("CONVERT")]; 718 char stringpool_str66[sizeof("RETURN")]; 719 char stringpool_str67[sizeof("OEM_JUMP")]; 720 char stringpool_str71[sizeof("BROWSER_STOP")]; 721 char stringpool_str72[sizeof("FINAL")]; 722 char stringpool_str73[sizeof("ZOOM")]; 723 char stringpool_str74[sizeof("KANJI")]; 724 char stringpool_str75[sizeof("DELETE")]; 725 char stringpool_str76[sizeof("OEM_COMMA")]; 726 char stringpool_str77[sizeof("SUBTRACT")]; 727 char stringpool_str79[sizeof("MBUTTON")]; 728 char stringpool_str80[sizeof("F9")]; 729 char stringpool_str81[sizeof("SHIFT")]; 730 char stringpool_str82[sizeof("RSHIFT")]; 731 char stringpool_str83[sizeof("LSHIFT")]; 732 char stringpool_str84[sizeof("ADD")]; 733 char stringpool_str85[sizeof("NONCONVERT")]; 734 char stringpool_str86[sizeof("EXSEL")]; 735 char stringpool_str87[sizeof("OEM_1")]; 736 char stringpool_str88[sizeof("OEM_AX")]; 737 char stringpool_str89[sizeof("BROWSER_BACK")]; 738 char stringpool_str90[sizeof("OEM_8")]; 739 char stringpool_str91[sizeof("OEM_MINUS")]; 740 char stringpool_str92[sizeof("PLAY")]; 741 char stringpool_str93[sizeof("OEM_2")]; 742 char stringpool_str94[sizeof("CLEAR")]; 743 char stringpool_str95[sizeof("OEM_FJ_TOUROKU")]; 744 char stringpool_str96[sizeof("OEM_PA1")]; 745 char stringpool_str97[sizeof("ICO_HELP")]; 746 char stringpool_str98[sizeof("BROWSER_SEARCH")]; 747 char stringpool_str99[sizeof("SLEEP")]; 748 char stringpool_str101[sizeof("F1")]; 749 char stringpool_str102[sizeof("OEM_PA2")]; 750 char stringpool_str103[sizeof("OEM_COPY")]; 751 char stringpool_str104[sizeof("F8")]; 752 char stringpool_str105[sizeof("F19")]; 753 char stringpool_str106[sizeof("RIGHT")]; 754 char stringpool_str107[sizeof("F2")]; 755 char stringpool_str108[sizeof("OEM_6")]; 756 char stringpool_str109[sizeof("F18")]; 757 char stringpool_str111[sizeof("VOLUME_UP")]; 758 char stringpool_str114[sizeof("MEDIA_STOP")]; 759 char stringpool_str115[sizeof("OEM_PERIOD")]; 760 char stringpool_str117[sizeof("EREOF")]; 761 char stringpool_str121[sizeof("BROWSER_HOME")]; 762 char stringpool_str122[sizeof("F6")]; 763 char stringpool_str124[sizeof("BROWSER_REFRESH")]; 764 char stringpool_str126[sizeof("PA1")]; 765 char stringpool_str127[sizeof("PROCESSKEY")]; 766 char stringpool_str128[sizeof("DECIMAL")]; 767 char stringpool_str129[sizeof("OEM_3")]; 768 char stringpool_str130[sizeof("RMENU")]; 769 char stringpool_str131[sizeof("LMENU")]; 770 char stringpool_str132[sizeof("OEM_FJ_MASSHOU")]; 771 char stringpool_str133[sizeof("NUMPAD0")]; 772 char stringpool_str134[sizeof("HANGUL")]; 773 char stringpool_str135[sizeof("NUMPAD9")]; 774 char stringpool_str136[sizeof("HANGEUL")]; 775 char stringpool_str137[sizeof("OEM_5")]; 776 char stringpool_str138[sizeof("OEM_PA3")]; 777 char stringpool_str139[sizeof("VOLUME_MUTE")]; 778 char stringpool_str140[sizeof("OEM_4")]; 779 char stringpool_str141[sizeof("LAUNCH_MAIL")]; 780 char stringpool_str142[sizeof("OEM_FJ_JISHO")]; 781 char stringpool_str143[sizeof("F3")]; 782 char stringpool_str144[sizeof("OEM_FJ_ROYA")]; 783 char stringpool_str145[sizeof("OEM_FJ_LOYA")]; 784 char stringpool_str147[sizeof("DOWN")]; 785 char stringpool_str149[sizeof("OEM_FINISH")]; 786 char stringpool_str151[sizeof("F5")]; 787 char stringpool_str153[sizeof("OEM_7")]; 788 char stringpool_str154[sizeof("F4")]; 789 char stringpool_str155[sizeof("F17")]; 790 char stringpool_str156[sizeof("NUMPAD1")]; 791 char stringpool_str157[sizeof("ICO_00")]; 792 char stringpool_str159[sizeof("NUMPAD8")]; 793 char stringpool_str162[sizeof("NUMPAD2")]; 794 char stringpool_str164[sizeof("LAUNCH_APP1")]; 795 char stringpool_str165[sizeof("BROWSER_FORWARD")]; 796 char stringpool_str167[sizeof("F7")]; 797 char stringpool_str170[sizeof("LAUNCH_APP2")]; 798 char stringpool_str171[sizeof("MULTIPLY")]; 799 char stringpool_str174[sizeof("EXECUTE")]; 800 char stringpool_str176[sizeof("BROWSER_FAVORITES")]; 801 char stringpool_str177[sizeof("NUMPAD6")]; 802 char stringpool_str179[sizeof("F16")]; 803 char stringpool_str182[sizeof("F10")]; 804 char stringpool_str185[sizeof("VOLUME_DOWN")]; 805 char stringpool_str188[sizeof("F20")]; 806 char stringpool_str189[sizeof("MEDIA_PREV_TRACK")]; 807 char stringpool_str191[sizeof("MODECHANGE")]; 808 char stringpool_str197[sizeof("F14")]; 809 char stringpool_str198[sizeof("NUMPAD3")]; 810 char stringpool_str199[sizeof("XBUTTON1")]; 811 char stringpool_str203[sizeof("F24")]; 812 char stringpool_str205[sizeof("XBUTTON2")]; 813 char stringpool_str206[sizeof("NUMPAD5")]; 814 char stringpool_str209[sizeof("NUMPAD4")]; 815 char stringpool_str215[sizeof("MEDIA_PLAY_PAUSE")]; 816 char stringpool_str217[sizeof("LAUNCH_MEDIA_SELECT")]; 817 char stringpool_str218[sizeof("F11")]; 818 char stringpool_str220[sizeof("OEM_102")]; 819 char stringpool_str221[sizeof("MEDIA_NEXT_TRACK")]; 820 char stringpool_str222[sizeof("NUMPAD7")]; 821 char stringpool_str224[sizeof("F21")]; 822 char stringpool_str226[sizeof("F13")]; 823 char stringpool_str229[sizeof("F12")]; 824 char stringpool_str232[sizeof("F23")]; 825 char stringpool_str235[sizeof("F22")]; 826 char stringpool_str242[sizeof("F15")]; 827 char stringpool_str256[sizeof("DIVIDE")]; 828 }; 829static const struct stringpool_t stringpool_contents = 830 { 831 "UP", 832 "APPS", 833 "CRSEL", 834 "SPACE", 835 "SCROLL", 836 "ESCAPE", 837 "CANCEL", 838 "ACCEPT", 839 "SEPARATOR", 840 "SELECT", 841 "CONTROL", 842 "OEM_CLEAR", 843 "OEM_RESET", 844 "OEM_AUTO", 845 "OEM_CUSEL", 846 "KANA", 847 "OEM_PLUS", 848 "PRIOR", 849 "OEM_ATTN", 850 "PAUSE", 851 "BACK", 852 "PACKET", 853 "RCONTROL", 854 "LCONTROL", 855 "END", 856 "HOME", 857 "PRINT", 858 "NUMLOCK", 859 "LEFT", 860 "JUNJA", 861 "MENU", 862 "OEM_WSCTRL", 863 "OEM_ENLW", 864 "NEXT", 865 "RWIN", 866 "LWIN", 867 "CAPITAL", 868 "HELP", 869 "NONAME", 870 "RBUTTON", 871 "LBUTTON", 872 "OEM_NEC_EQUAL", 873 "INSERT", 874 "HANJA", 875 "SNAPSHOT", 876 "ATTN", 877 "TAB", 878 "OEM_BACKTAB", 879 "ICO_CLEAR", 880 "CONVERT", 881 "RETURN", 882 "OEM_JUMP", 883 "BROWSER_STOP", 884 "FINAL", 885 "ZOOM", 886 "KANJI", 887 "DELETE", 888 "OEM_COMMA", 889 "SUBTRACT", 890 "MBUTTON", 891 "F9", 892 "SHIFT", 893 "RSHIFT", 894 "LSHIFT", 895 "ADD", 896 "NONCONVERT", 897 "EXSEL", 898 "OEM_1", 899 "OEM_AX", 900 "BROWSER_BACK", 901 "OEM_8", 902 "OEM_MINUS", 903 "PLAY", 904 "OEM_2", 905 "CLEAR", 906 "OEM_FJ_TOUROKU", 907 "OEM_PA1", 908 "ICO_HELP", 909 "BROWSER_SEARCH", 910 "SLEEP", 911 "F1", 912 "OEM_PA2", 913 "OEM_COPY", 914 "F8", 915 "F19", 916 "RIGHT", 917 "F2", 918 "OEM_6", 919 "F18", 920 "VOLUME_UP", 921 "MEDIA_STOP", 922 "OEM_PERIOD", 923 "EREOF", 924 "BROWSER_HOME", 925 "F6", 926 "BROWSER_REFRESH", 927 "PA1", 928 "PROCESSKEY", 929 "DECIMAL", 930 "OEM_3", 931 "RMENU", 932 "LMENU", 933 "OEM_FJ_MASSHOU", 934 "NUMPAD0", 935 "HANGUL", 936 "NUMPAD9", 937 "HANGEUL", 938 "OEM_5", 939 "OEM_PA3", 940 "VOLUME_MUTE", 941 "OEM_4", 942 "LAUNCH_MAIL", 943 "OEM_FJ_JISHO", 944 "F3", 945 "OEM_FJ_ROYA", 946 "OEM_FJ_LOYA", 947 "DOWN", 948 "OEM_FINISH", 949 "F5", 950 "OEM_7", 951 "F4", 952 "F17", 953 "NUMPAD1", 954 "ICO_00", 955 "NUMPAD8", 956 "NUMPAD2", 957 "LAUNCH_APP1", 958 "BROWSER_FORWARD", 959 "F7", 960 "LAUNCH_APP2", 961 "MULTIPLY", 962 "EXECUTE", 963 "BROWSER_FAVORITES", 964 "NUMPAD6", 965 "F16", 966 "F10", 967 "VOLUME_DOWN", 968 "F20", 969 "MEDIA_PREV_TRACK", 970 "MODECHANGE", 971 "F14", 972 "NUMPAD3", 973 "XBUTTON1", 974 "F24", 975 "XBUTTON2", 976 "NUMPAD5", 977 "NUMPAD4", 978 "MEDIA_PLAY_PAUSE", 979 "LAUNCH_MEDIA_SELECT", 980 "F11", 981 "OEM_102", 982 "MEDIA_NEXT_TRACK", 983 "NUMPAD7", 984 "F21", 985 "F13", 986 "F12", 987 "F23", 988 "F22", 989 "F15", 990 "DIVIDE" 991 }; 992#define stringpool ((const char *) &stringpool_contents) 993const struct vktable * 994console_win32_vk (register const char *str, register size_t len) 995{ 996 enum 997 { 998 TOTAL_KEYWORDS = 160, 999 MIN_WORD_LENGTH = 2, 1000 MAX_WORD_LENGTH = 19, 1001 MIN_HASH_VALUE = 12, 1002 MAX_HASH_VALUE = 256 1003 }; 1004 1005 static const struct vktable wordlist[] = 1006 { 1007 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 1008 {-1}, {-1}, {-1}, 1009#line 40 "win32_vk.list" 1010 {gperf_offsetof(stringpool, 12), VK_UP}, 1011#line 52 "win32_vk.list" 1012 {gperf_offsetof(stringpool, 13), VK_APPS}, 1013#line 159 "win32_vk.list" 1014 {gperf_offsetof(stringpool, 14), VK_CRSEL}, 1015#line 34 "win32_vk.list" 1016 {gperf_offsetof(stringpool, 15), VK_SPACE}, 1017#line 95 "win32_vk.list" 1018 {gperf_offsetof(stringpool, 16), VK_SCROLL}, 1019#line 29 "win32_vk.list" 1020 {gperf_offsetof(stringpool, 17), VK_ESCAPE}, 1021#line 9 "win32_vk.list" 1022 {gperf_offsetof(stringpool, 18), VK_CANCEL}, 1023#line 32 "win32_vk.list" 1024 {gperf_offsetof(stringpool, 19), VK_ACCEPT}, 1025#line 66 "win32_vk.list" 1026 {gperf_offsetof(stringpool, 20), VK_SEPARATOR}, 1027#line 43 "win32_vk.list" 1028 {gperf_offsetof(stringpool, 21), VK_SELECT}, 1029#line 18 "win32_vk.list" 1030 {gperf_offsetof(stringpool, 22), VK_CONTROL}, 1031#line 166 "win32_vk.list" 1032 {gperf_offsetof(stringpool, 23), VK_OEM_CLEAR}, 1033#line 145 "win32_vk.list" 1034 {gperf_offsetof(stringpool, 24), VK_OEM_RESET}, 1035#line 155 "win32_vk.list" 1036 {gperf_offsetof(stringpool, 25), VK_OEM_AUTO}, 1037#line 151 "win32_vk.list" 1038 {gperf_offsetof(stringpool, 26), VK_OEM_CUSEL}, 1039 {-1}, 1040#line 22 "win32_vk.list" 1041 {gperf_offsetof(stringpool, 28), VK_KANA}, 1042#line 127 "win32_vk.list" 1043 {gperf_offsetof(stringpool, 29), VK_OEM_PLUS}, 1044#line 35 "win32_vk.list" 1045 {gperf_offsetof(stringpool, 30), VK_PRIOR}, 1046#line 152 "win32_vk.list" 1047 {gperf_offsetof(stringpool, 31), VK_OEM_ATTN}, 1048#line 20 "win32_vk.list" 1049 {gperf_offsetof(stringpool, 32), VK_PAUSE}, 1050#line 13 "win32_vk.list" 1051 {gperf_offsetof(stringpool, 33), VK_BACK}, 1052#line 144 "win32_vk.list" 1053 {gperf_offsetof(stringpool, 34), VK_PACKET}, 1054#line 105 "win32_vk.list" 1055 {gperf_offsetof(stringpool, 35), VK_RCONTROL}, 1056#line 104 "win32_vk.list" 1057 {gperf_offsetof(stringpool, 36), VK_LCONTROL}, 1058#line 37 "win32_vk.list" 1059 {gperf_offsetof(stringpool, 37), VK_END}, 1060#line 38 "win32_vk.list" 1061 {gperf_offsetof(stringpool, 38), VK_HOME}, 1062#line 44 "win32_vk.list" 1063 {gperf_offsetof(stringpool, 39), VK_PRINT}, 1064#line 94 "win32_vk.list" 1065 {gperf_offsetof(stringpool, 40), VK_NUMLOCK}, 1066#line 39 "win32_vk.list" 1067 {gperf_offsetof(stringpool, 41), VK_LEFT}, 1068#line 25 "win32_vk.list" 1069 {gperf_offsetof(stringpool, 42), VK_JUNJA}, 1070#line 19 "win32_vk.list" 1071 {gperf_offsetof(stringpool, 43), VK_MENU}, 1072#line 150 "win32_vk.list" 1073 {gperf_offsetof(stringpool, 44), VK_OEM_WSCTRL}, 1074#line 156 "win32_vk.list" 1075 {gperf_offsetof(stringpool, 45), VK_OEM_ENLW}, 1076#line 36 "win32_vk.list" 1077 {gperf_offsetof(stringpool, 46), VK_NEXT}, 1078#line 51 "win32_vk.list" 1079 {gperf_offsetof(stringpool, 47), VK_RWIN}, 1080#line 50 "win32_vk.list" 1081 {gperf_offsetof(stringpool, 48), VK_LWIN}, 1082#line 21 "win32_vk.list" 1083 {gperf_offsetof(stringpool, 49), VK_CAPITAL}, 1084#line 49 "win32_vk.list" 1085 {gperf_offsetof(stringpool, 50), VK_HELP}, 1086#line 164 "win32_vk.list" 1087 {gperf_offsetof(stringpool, 51), VK_NONAME}, 1088#line 8 "win32_vk.list" 1089 {gperf_offsetof(stringpool, 52), VK_RBUTTON}, 1090#line 7 "win32_vk.list" 1091 {gperf_offsetof(stringpool, 53), VK_LBUTTON}, 1092#line 96 "win32_vk.list" 1093 {gperf_offsetof(stringpool, 54), VK_OEM_NEC_EQUAL}, 1094 {-1}, 1095#line 47 "win32_vk.list" 1096 {gperf_offsetof(stringpool, 56), VK_INSERT}, 1097#line 27 "win32_vk.list" 1098 {gperf_offsetof(stringpool, 57), VK_HANJA}, 1099 {-1}, {-1}, 1100#line 46 "win32_vk.list" 1101 {gperf_offsetof(stringpool, 60), VK_SNAPSHOT}, 1102#line 158 "win32_vk.list" 1103 {gperf_offsetof(stringpool, 61), VK_ATTN}, 1104#line 14 "win32_vk.list" 1105 {gperf_offsetof(stringpool, 62), VK_TAB}, 1106#line 157 "win32_vk.list" 1107 {gperf_offsetof(stringpool, 63), VK_OEM_BACKTAB}, 1108#line 143 "win32_vk.list" 1109 {gperf_offsetof(stringpool, 64), VK_ICO_CLEAR}, 1110#line 30 "win32_vk.list" 1111 {gperf_offsetof(stringpool, 65), VK_CONVERT}, 1112#line 16 "win32_vk.list" 1113 {gperf_offsetof(stringpool, 66), VK_RETURN}, 1114#line 146 "win32_vk.list" 1115 {gperf_offsetof(stringpool, 67), VK_OEM_JUMP}, 1116 {-1}, {-1}, {-1}, 1117#line 111 "win32_vk.list" 1118 {gperf_offsetof(stringpool, 71), VK_BROWSER_STOP}, 1119#line 26 "win32_vk.list" 1120 {gperf_offsetof(stringpool, 72), VK_FINAL}, 1121#line 163 "win32_vk.list" 1122 {gperf_offsetof(stringpool, 73), VK_ZOOM}, 1123#line 28 "win32_vk.list" 1124 {gperf_offsetof(stringpool, 74), VK_KANJI}, 1125#line 48 "win32_vk.list" 1126 {gperf_offsetof(stringpool, 75), VK_DELETE}, 1127#line 128 "win32_vk.list" 1128 {gperf_offsetof(stringpool, 76), VK_OEM_COMMA}, 1129#line 67 "win32_vk.list" 1130 {gperf_offsetof(stringpool, 77), VK_SUBTRACT}, 1131 {-1}, 1132#line 10 "win32_vk.list" 1133 {gperf_offsetof(stringpool, 79), VK_MBUTTON}, 1134#line 78 "win32_vk.list" 1135 {gperf_offsetof(stringpool, 80), VK_F9}, 1136#line 17 "win32_vk.list" 1137 {gperf_offsetof(stringpool, 81), VK_SHIFT}, 1138#line 103 "win32_vk.list" 1139 {gperf_offsetof(stringpool, 82), VK_RSHIFT}, 1140#line 102 "win32_vk.list" 1141 {gperf_offsetof(stringpool, 83), VK_LSHIFT}, 1142#line 65 "win32_vk.list" 1143 {gperf_offsetof(stringpool, 84), VK_ADD}, 1144#line 31 "win32_vk.list" 1145 {gperf_offsetof(stringpool, 85), VK_NONCONVERT}, 1146#line 160 "win32_vk.list" 1147 {gperf_offsetof(stringpool, 86), VK_EXSEL}, 1148#line 126 "win32_vk.list" 1149 {gperf_offsetof(stringpool, 87), VK_OEM_1}, 1150#line 138 "win32_vk.list" 1151 {gperf_offsetof(stringpool, 88), VK_OEM_AX}, 1152#line 108 "win32_vk.list" 1153 {gperf_offsetof(stringpool, 89), VK_BROWSER_BACK}, 1154#line 137 "win32_vk.list" 1155 {gperf_offsetof(stringpool, 90), VK_OEM_8}, 1156#line 129 "win32_vk.list" 1157 {gperf_offsetof(stringpool, 91), VK_OEM_MINUS}, 1158#line 162 "win32_vk.list" 1159 {gperf_offsetof(stringpool, 92), VK_PLAY}, 1160#line 131 "win32_vk.list" 1161 {gperf_offsetof(stringpool, 93), VK_OEM_2}, 1162#line 15 "win32_vk.list" 1163 {gperf_offsetof(stringpool, 94), VK_CLEAR}, 1164#line 99 "win32_vk.list" 1165 {gperf_offsetof(stringpool, 95), VK_OEM_FJ_TOUROKU}, 1166#line 147 "win32_vk.list" 1167 {gperf_offsetof(stringpool, 96), VK_OEM_PA1}, 1168#line 140 "win32_vk.list" 1169 {gperf_offsetof(stringpool, 97), VK_ICO_HELP}, 1170#line 112 "win32_vk.list" 1171 {gperf_offsetof(stringpool, 98), VK_BROWSER_SEARCH}, 1172#line 53 "win32_vk.list" 1173 {gperf_offsetof(stringpool, 99), VK_SLEEP}, 1174 {-1}, 1175#line 70 "win32_vk.list" 1176 {gperf_offsetof(stringpool, 101), VK_F1}, 1177#line 148 "win32_vk.list" 1178 {gperf_offsetof(stringpool, 102), VK_OEM_PA2}, 1179#line 154 "win32_vk.list" 1180 {gperf_offsetof(stringpool, 103), VK_OEM_COPY}, 1181#line 77 "win32_vk.list" 1182 {gperf_offsetof(stringpool, 104), VK_F8}, 1183#line 88 "win32_vk.list" 1184 {gperf_offsetof(stringpool, 105), VK_F19}, 1185#line 41 "win32_vk.list" 1186 {gperf_offsetof(stringpool, 106), VK_RIGHT}, 1187#line 71 "win32_vk.list" 1188 {gperf_offsetof(stringpool, 107), VK_F2}, 1189#line 135 "win32_vk.list" 1190 {gperf_offsetof(stringpool, 108), VK_OEM_6}, 1191#line 87 "win32_vk.list" 1192 {gperf_offsetof(stringpool, 109), VK_F18}, 1193 {-1}, 1194#line 117 "win32_vk.list" 1195 {gperf_offsetof(stringpool, 111), VK_VOLUME_UP}, 1196 {-1}, {-1}, 1197#line 120 "win32_vk.list" 1198 {gperf_offsetof(stringpool, 114), VK_MEDIA_STOP}, 1199#line 130 "win32_vk.list" 1200 {gperf_offsetof(stringpool, 115), VK_OEM_PERIOD}, 1201 {-1}, 1202#line 161 "win32_vk.list" 1203 {gperf_offsetof(stringpool, 117), VK_EREOF}, 1204 {-1}, {-1}, {-1}, 1205#line 114 "win32_vk.list" 1206 {gperf_offsetof(stringpool, 121), VK_BROWSER_HOME}, 1207#line 75 "win32_vk.list" 1208 {gperf_offsetof(stringpool, 122), VK_F6}, 1209 {-1}, 1210#line 110 "win32_vk.list" 1211 {gperf_offsetof(stringpool, 124), VK_BROWSER_REFRESH}, 1212 {-1}, 1213#line 165 "win32_vk.list" 1214 {gperf_offsetof(stringpool, 126), VK_PA1}, 1215#line 142 "win32_vk.list" 1216 {gperf_offsetof(stringpool, 127), VK_PROCESSKEY}, 1217#line 68 "win32_vk.list" 1218 {gperf_offsetof(stringpool, 128), VK_DECIMAL}, 1219#line 132 "win32_vk.list" 1220 {gperf_offsetof(stringpool, 129), VK_OEM_3}, 1221#line 107 "win32_vk.list" 1222 {gperf_offsetof(stringpool, 130), VK_RMENU}, 1223#line 106 "win32_vk.list" 1224 {gperf_offsetof(stringpool, 131), VK_LMENU}, 1225#line 98 "win32_vk.list" 1226 {gperf_offsetof(stringpool, 132), VK_OEM_FJ_MASSHOU}, 1227#line 54 "win32_vk.list" 1228 {gperf_offsetof(stringpool, 133), VK_NUMPAD0}, 1229#line 24 "win32_vk.list" 1230 {gperf_offsetof(stringpool, 134), VK_HANGUL}, 1231#line 63 "win32_vk.list" 1232 {gperf_offsetof(stringpool, 135), VK_NUMPAD9}, 1233#line 23 "win32_vk.list" 1234 {gperf_offsetof(stringpool, 136), VK_HANGEUL}, 1235#line 134 "win32_vk.list" 1236 {gperf_offsetof(stringpool, 137), VK_OEM_5}, 1237#line 149 "win32_vk.list" 1238 {gperf_offsetof(stringpool, 138), VK_OEM_PA3}, 1239#line 115 "win32_vk.list" 1240 {gperf_offsetof(stringpool, 139), VK_VOLUME_MUTE}, 1241#line 133 "win32_vk.list" 1242 {gperf_offsetof(stringpool, 140), VK_OEM_4}, 1243#line 122 "win32_vk.list" 1244 {gperf_offsetof(stringpool, 141), VK_LAUNCH_MAIL}, 1245#line 97 "win32_vk.list" 1246 {gperf_offsetof(stringpool, 142), VK_OEM_FJ_JISHO}, 1247#line 72 "win32_vk.list" 1248 {gperf_offsetof(stringpool, 143), VK_F3}, 1249#line 101 "win32_vk.list" 1250 {gperf_offsetof(stringpool, 144), VK_OEM_FJ_ROYA}, 1251#line 100 "win32_vk.list" 1252 {gperf_offsetof(stringpool, 145), VK_OEM_FJ_LOYA}, 1253 {-1}, 1254#line 42 "win32_vk.list" 1255 {gperf_offsetof(stringpool, 147), VK_DOWN}, 1256 {-1}, 1257#line 153 "win32_vk.list" 1258 {gperf_offsetof(stringpool, 149), VK_OEM_FINISH}, 1259 {-1}, 1260#line 74 "win32_vk.list" 1261 {gperf_offsetof(stringpool, 151), VK_F5}, 1262 {-1}, 1263#line 136 "win32_vk.list" 1264 {gperf_offsetof(stringpool, 153), VK_OEM_7}, 1265#line 73 "win32_vk.list" 1266 {gperf_offsetof(stringpool, 154), VK_F4}, 1267#line 86 "win32_vk.list" 1268 {gperf_offsetof(stringpool, 155), VK_F17}, 1269#line 55 "win32_vk.list" 1270 {gperf_offsetof(stringpool, 156), VK_NUMPAD1}, 1271#line 141 "win32_vk.list" 1272 {gperf_offsetof(stringpool, 157), VK_ICO_00}, 1273 {-1}, 1274#line 62 "win32_vk.list" 1275 {gperf_offsetof(stringpool, 159), VK_NUMPAD8}, 1276 {-1}, {-1}, 1277#line 56 "win32_vk.list" 1278 {gperf_offsetof(stringpool, 162), VK_NUMPAD2}, 1279 {-1}, 1280#line 124 "win32_vk.list" 1281 {gperf_offsetof(stringpool, 164), VK_LAUNCH_APP1}, 1282#line 109 "win32_vk.list" 1283 {gperf_offsetof(stringpool, 165), VK_BROWSER_FORWARD}, 1284 {-1}, 1285#line 76 "win32_vk.list" 1286 {gperf_offsetof(stringpool, 167), VK_F7}, 1287 {-1}, {-1}, 1288#line 125 "win32_vk.list" 1289 {gperf_offsetof(stringpool, 170), VK_LAUNCH_APP2}, 1290#line 64 "win32_vk.list" 1291 {gperf_offsetof(stringpool, 171), VK_MULTIPLY}, 1292 {-1}, {-1}, 1293#line 45 "win32_vk.list" 1294 {gperf_offsetof(stringpool, 174), VK_EXECUTE}, 1295 {-1}, 1296#line 113 "win32_vk.list" 1297 {gperf_offsetof(stringpool, 176), VK_BROWSER_FAVORITES}, 1298#line 60 "win32_vk.list" 1299 {gperf_offsetof(stringpool, 177), VK_NUMPAD6}, 1300 {-1}, 1301#line 85 "win32_vk.list" 1302 {gperf_offsetof(stringpool, 179), VK_F16}, 1303 {-1}, {-1}, 1304#line 79 "win32_vk.list" 1305 {gperf_offsetof(stringpool, 182), VK_F10}, 1306 {-1}, {-1}, 1307#line 116 "win32_vk.list" 1308 {gperf_offsetof(stringpool, 185), VK_VOLUME_DOWN}, 1309 {-1}, {-1}, 1310#line 89 "win32_vk.list" 1311 {gperf_offsetof(stringpool, 188), VK_F20}, 1312#line 119 "win32_vk.list" 1313 {gperf_offsetof(stringpool, 189), VK_MEDIA_PREV_TRACK}, 1314 {-1}, 1315#line 33 "win32_vk.list" 1316 {gperf_offsetof(stringpool, 191), VK_MODECHANGE}, 1317 {-1}, {-1}, {-1}, {-1}, {-1}, 1318#line 83 "win32_vk.list" 1319 {gperf_offsetof(stringpool, 197), VK_F14}, 1320#line 57 "win32_vk.list" 1321 {gperf_offsetof(stringpool, 198), VK_NUMPAD3}, 1322#line 11 "win32_vk.list" 1323 {gperf_offsetof(stringpool, 199), VK_XBUTTON1}, 1324 {-1}, {-1}, {-1}, 1325#line 93 "win32_vk.list" 1326 {gperf_offsetof(stringpool, 203), VK_F24}, 1327 {-1}, 1328#line 12 "win32_vk.list" 1329 {gperf_offsetof(stringpool, 205), VK_XBUTTON2}, 1330#line 59 "win32_vk.list" 1331 {gperf_offsetof(stringpool, 206), VK_NUMPAD5}, 1332 {-1}, {-1}, 1333#line 58 "win32_vk.list" 1334 {gperf_offsetof(stringpool, 209), VK_NUMPAD4}, 1335 {-1}, {-1}, {-1}, {-1}, {-1}, 1336#line 121 "win32_vk.list" 1337 {gperf_offsetof(stringpool, 215), VK_MEDIA_PLAY_PAUSE}, 1338 {-1}, 1339#line 123 "win32_vk.list" 1340 {gperf_offsetof(stringpool, 217), VK_LAUNCH_MEDIA_SELECT}, 1341#line 80 "win32_vk.list" 1342 {gperf_offsetof(stringpool, 218), VK_F11}, 1343 {-1}, 1344#line 139 "win32_vk.list" 1345 {gperf_offsetof(stringpool, 220), VK_OEM_102}, 1346#line 118 "win32_vk.list" 1347 {gperf_offsetof(stringpool, 221), VK_MEDIA_NEXT_TRACK}, 1348#line 61 "win32_vk.list" 1349 {gperf_offsetof(stringpool, 222), VK_NUMPAD7}, 1350 {-1}, 1351#line 90 "win32_vk.list" 1352 {gperf_offsetof(stringpool, 224), VK_F21}, 1353 {-1}, 1354#line 82 "win32_vk.list" 1355 {gperf_offsetof(stringpool, 226), VK_F13}, 1356 {-1}, {-1}, 1357#line 81 "win32_vk.list" 1358 {gperf_offsetof(stringpool, 229), VK_F12}, 1359 {-1}, {-1}, 1360#line 92 "win32_vk.list" 1361 {gperf_offsetof(stringpool, 232), VK_F23}, 1362 {-1}, {-1}, 1363#line 91 "win32_vk.list" 1364 {gperf_offsetof(stringpool, 235), VK_F22}, 1365 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 1366#line 84 "win32_vk.list" 1367 {gperf_offsetof(stringpool, 242), VK_F15}, 1368 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 1369 {-1}, {-1}, {-1}, {-1}, 1370#line 69 "win32_vk.list" 1371 {gperf_offsetof(stringpool, 256), VK_DIVIDE} 1372 }; 1373 1374 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) 1375 { 1376 register unsigned int key = hash (str, len); 1377 1378 if (key <= MAX_HASH_VALUE) 1379 { 1380 register int o = wordlist[key].ofs; 1381 if (o >= 0) 1382 { 1383 register const char *s = o + stringpool; 1384 1385 if ((((unsigned char)*str ^ (unsigned char)*s) & ~32) == 0 && !gperf_case_strcmp (str, s)) 1386 return &wordlist[key]; 1387 } 1388 } 1389 } 1390 return 0; 1391} 1392