ZoriaRPG

std_keyboard.zh

Jan 18th, 2017
100
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const int KEYBOARD_TYPE = 0; //0 == US, 1 == UK, 2 == EU/GR
  2. const int KEYBOARD_LAYOUT_US = 0;
  3. const int KEYBOARD_LAYOUT_UK = 1;
  4. const int KEYBOARD_LAYOUT_EU = 2;
  5.  
  6. bool ReadKey(int key){
  7.     NoInput();
  8.     return Game->ReadKey[key];
  9. }
  10.  
  11. int KeyToChar(int key){
  12.     bool caps;
  13.     if ( key >= 1 && key <= 26 && KeyPress[KEY_LSHIFT] || KeyPress[KEY_RSHIFT] || KeyPress[KEY_CAPSLOCK] ) {
  14.         if ( key == KEY_A ) return 'A';
  15.         if ( key == KEY_B ) return 'B';
  16.         if ( key == KEY_C ) return 'C';
  17.         if ( key == KEY_D ) return 'D';
  18.         if ( key == KEY_E ) return 'E';
  19.         if ( key == KEY_F ) return 'F';
  20.         if ( key == KEY_G ) return 'G';
  21.         if ( key == KEY_H ) return 'H';
  22.         if ( key == KEY_I ) return 'I';
  23.         if ( key == KEY_J ) return 'J';
  24.         if ( key == KEY_K ) return 'K';
  25.         if ( key == KEY_L ) return 'L';
  26.         if ( key == KEY_M ) return 'M';
  27.         if ( key == KEY_N ) return 'N';
  28.         if ( key == KEY_O ) return 'O';
  29.         if ( key == KEY_P ) return 'P';
  30.         if ( key == KEY_Q ) return 'Q';
  31.         if ( key == KEY_R ) return 'R';
  32.         if ( key == KEY_S ) return 'S';
  33.         if ( key == KEY_T ) return 'T';
  34.         if ( key == KEY_U ) return 'U';
  35.         if ( key == KEY_V ) return 'V';
  36.         if ( key == KEY_W ) return 'W';
  37.         if ( key == KEY_X ) return 'X';
  38.         if ( key == KEY_Y ) return 'Y';
  39.         if ( key == KEY_Z ) return 'Z';
  40.         //Shiften numeric row
  41.        
  42.         if ( key == KEY_0 || key == KEY_0_PAD ) return '0';
  43.         if ( key == KEY_1 ) return '!';
  44.         if ( key == KEY_2 ) {
  45.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  46.                 return '@';
  47.             }
  48.            
  49.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  50.                 return CHAR_DOUBlEQUOTE;
  51.             }
  52.            
  53.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  54.                 return CHAR_DOUBLEQUOTE;
  55.             }
  56.         }
  57.         if ( key == KEY_3 ) {
  58.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  59.                 return '@';
  60.             }
  61.            
  62.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  63.                 return CHAR_DOUBlEQUOTE;
  64.             }
  65.            
  66.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  67.                 return CHAR_DOUBLEQUOTE;
  68.             }
  69.         }
  70.        
  71.         if ( key == KEY_3 ) {
  72.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  73.                 return '@';
  74.             }
  75.            
  76.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  77.                 return CHAR_DOUBlEQUOTE;
  78.             }
  79.            
  80.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  81.                 return CHAR_DOUBLEQUOTE;
  82.             }
  83.         }
  84.        
  85.         if ( key == KEY_3 ) {
  86.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  87.                 return '@';
  88.             }
  89.            
  90.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  91.                 return CHAR_DOUBlEQUOTE;
  92.             }
  93.            
  94.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  95.                 return CHAR_DOUBLEQUOTE;
  96.             }
  97.         }
  98.        
  99.         if ( key == KEY_3 ) {
  100.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  101.                 return '@';
  102.             }
  103.            
  104.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  105.                 return CHAR_DOUBlEQUOTE;
  106.             }
  107.            
  108.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  109.                 return CHAR_DOUBLEQUOTE;
  110.             }
  111.         }
  112.        
  113.         if ( key == KEY_3 ) {
  114.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  115.                 return '@';
  116.             }
  117.            
  118.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  119.                 return CHAR_DOUBlEQUOTE;
  120.             }
  121.            
  122.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  123.                 return CHAR_DOUBLEQUOTE;
  124.             }
  125.         }
  126.        
  127.         if ( key == KEY_3 ) {
  128.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  129.                 return '@';
  130.             }
  131.            
  132.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  133.                 return CHAR_DOUBlEQUOTE;
  134.             }
  135.            
  136.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  137.                 return CHAR_DOUBLEQUOTE;
  138.             }
  139.         }
  140.        
  141.         if ( key == KEY_3 ) {
  142.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  143.                 return '@';
  144.             }
  145.            
  146.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  147.                 return CHAR_DOUBlEQUOTE;
  148.             }
  149.            
  150.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  151.                 return CHAR_DOUBLEQUOTE;
  152.             }
  153.         }
  154.        
  155.         if ( key == KEY_3 ) {
  156.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  157.                 return '@';
  158.             }
  159.            
  160.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  161.                 return CHAR_DOUBlEQUOTE;
  162.             }
  163.            
  164.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  165.                 return CHAR_DOUBLEQUOTE;
  166.             }
  167.         }
  168.        
  169.         if ( key == KEY_3 ) {
  170.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  171.                 return '@';
  172.             }
  173.            
  174.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  175.                 return CHAR_DOUBlEQUOTE;
  176.             }
  177.            
  178.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  179.                 return CHAR_DOUBLEQUOTE;
  180.             }
  181.         }
  182.        
  183.         if ( key == KEY_3 ) {
  184.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  185.                 return '@';
  186.             }
  187.            
  188.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  189.                 return CHAR_DOUBlEQUOTE;
  190.             }
  191.            
  192.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  193.                 return CHAR_DOUBLEQUOTE;
  194.             }
  195.         }
  196.         if ( key == KEY_3 ) {
  197.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  198.                 return '@';
  199.             }
  200.            
  201.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  202.                 return CHAR_DOUBlEQUOTE;
  203.             }
  204.            
  205.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  206.                 return CHAR_DOUBLEQUOTE;
  207.             }
  208.         }
  209.        
  210.         if ( key == KEY_3 ) {
  211.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  212.                 return '@';
  213.             }
  214.            
  215.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  216.                 return CHAR_DOUBlEQUOTE;
  217.             }
  218.            
  219.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  220.                 return CHAR_DOUBLEQUOTE;
  221.             }
  222.         }
  223.         if ( key == KEY_3 ) {
  224.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  225.                 return '@';
  226.             }
  227.            
  228.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  229.                 return CHAR_DOUBlEQUOTE;
  230.             }
  231.            
  232.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  233.                 return CHAR_DOUBLEQUOTE;
  234.             }
  235.         }
  236.         if ( key == KEY_3 ) {
  237.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  238.                 return '@';
  239.             }
  240.            
  241.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  242.                 return CHAR_DOUBlEQUOTE;
  243.             }
  244.            
  245.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  246.                 return CHAR_DOUBLEQUOTE;
  247.             }
  248.         }
  249.         if ( key == KEY_3 ) {
  250.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  251.                 return '@';
  252.             }
  253.            
  254.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  255.                 return CHAR_DOUBlEQUOTE;
  256.             }
  257.            
  258.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  259.                 return CHAR_DOUBLEQUOTE;
  260.             }
  261.         }
  262.         if ( key == KEY_3 ) {
  263.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  264.                 return '@';
  265.             }
  266.            
  267.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  268.                 return CHAR_DOUBlEQUOTE;
  269.             }
  270.            
  271.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  272.                 return CHAR_DOUBLEQUOTE;
  273.             }
  274.         }
  275.         if ( key == KEY_3 ) {
  276.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  277.                 return '@';
  278.             }
  279.            
  280.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  281.                 return CHAR_DOUBlEQUOTE;
  282.             }
  283.            
  284.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  285.                 return CHAR_DOUBLEQUOTE;
  286.             }
  287.         }
  288.         if ( key == KEY_3 ) {
  289.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  290.                 return '@';
  291.             }
  292.            
  293.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  294.                 return CHAR_DOUBlEQUOTE;
  295.             }
  296.            
  297.             if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  298.                 return CHAR_DOUBLEQUOTE;
  299.             }
  300.         }
  301.         /*
  302.         if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_US ) {
  303.            
  304.         }
  305.        
  306.         if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_UK ) {
  307.            
  308.         }
  309.        
  310.         if ( KEYBOARD_TYPE == KEYBOARD_LAYOUT_EU ) {
  311.            
  312.         }
  313.         */
  314.     }
  315.    
  316.     //otherwise no modifier
  317.     if ( key == KEY_A ) return 'a';
  318.     if ( key == KEY_B ) return 'b';
  319.     if ( key == KEY_C ) return 'c';
  320.     if ( key == KEY_D ) return 'd';
  321.     if ( key == KEY_E ) return 'e';
  322.     if ( key == KEY_F ) return 'f';
  323.     if ( key == KEY_G ) return 'g';
  324.     if ( key == KEY_H ) return 'h';
  325.     if ( key == KEY_I ) return 'i';
  326.     if ( key == KEY_J ) return 'j';
  327.     if ( key == KEY_K ) return 'k';
  328.     if ( key == KEY_L ) return 'l';
  329.     if ( key == KEY_M ) return 'm';
  330.     if ( key == KEY_N ) return 'n';
  331.     if ( key == KEY_O ) return 'o';
  332.     if ( key == KEY_P ) return 'p';
  333.     if ( key == KEY_Q ) return 'q';
  334.     if ( key == KEY_R ) return 'r';
  335.     if ( key == KEY_S ) return 's';
  336.     if ( key == KEY_T ) return 't';
  337.     if ( key == KEY_U ) return 'u';
  338.     if ( key == KEY_V ) return 'v';
  339.     if ( key == KEY_W ) return 'w';
  340.     if ( key == KEY_X ) return 'x';
  341.     if ( key == KEY_Y ) return 'y';
  342.     if ( key == KEY_Z ) return 'z';
  343.    
  344.     if ( key == KEY_0 || key == KEY_0_PAD ) return '0';
  345.     if ( key == KEY_1 || key == KEY_1_PAD ) return '1';
  346.     if ( key == KEY_2 || key == KEY_2_PAD ) return '2';
  347.     if ( key == KEY_3 || key == KEY_3_PAD ) return '3';
  348.     if ( key == KEY_4 || key == KEY_4_PAD ) return '4';
  349.     if ( key == KEY_5 || key == KEY_5_PAD ) return '5';
  350.     if ( key == KEY_6 || key == KEY_6_PAD ) return '6';
  351.     if ( key == KEY_7 || key == KEY_7_PAD ) return '7';
  352.     if ( key == KEY_8 || key == KEY_8_PAD ) return '8';
  353.     if ( key == KEY_9 || key == KEY_9_PAD ) return '9';
  354.    
  355. }
  356.  
  357. /*
  358.  
  359. KEY_TILDE
  360. KEY_MINUS || KEY_MINUS_PAD
  361. KEY_EQUALS
  362. KEY_TAB
  363. KEY_ENTER
  364. KEY_OPENBRACE
  365. KEY_CLOSEBRACE
  366. KEY_COLON
  367. KEY_QUOTE
  368. KEY_BACKSLASH
  369. KEY_BACKSLASH2
  370. KEY_COMMA
  371. KEY_SLASH || KEY_SLASH_PAD
  372. KEY_STOP
  373. KEY_SPACE
  374. KEY_INSERT
  375. KEY_SEMICOLON
  376.  
  377. */
  378.    
  379. const int ___KEY_TIMER = 255;
  380. const int LEYBOARD_REPEAT_RATE = 3; //frames per keypress. 3 == 1/20 second
  381.  
  382. const int KEY_A            = 1,
  383. const int KEY_B            = 2,
  384. const int KEY_C            = 3,
  385. const int KEY_D            = 4,
  386. const int KEY_E            = 5,
  387. const int KEY_F            = 6,
  388. const int KEY_G            = 7,
  389. const int KEY_H            = 8,
  390. const int KEY_I            = 9,
  391. const int KEY_J            = 10,
  392. const int KEY_K            = 11,
  393. const int KEY_L            = 12,
  394. const int KEY_M            = 13,
  395. const int KEY_N            = 14,
  396. const int KEY_O            = 15,
  397. const int KEY_P            = 16,
  398. const int KEY_Q            = 17,
  399. const int KEY_R            = 18,
  400. const int KEY_S            = 19,
  401. const int KEY_T            = 20,
  402. const int KEY_U            = 21,
  403. const int KEY_V            = 22,
  404. const int KEY_W            = 23,
  405. const int KEY_X            = 24,
  406. const int KEY_Y            = 25,
  407. const int KEY_Z            = 26,
  408. const int KEY_0            = 27,
  409. const int KEY_1            = 28,
  410. const int KEY_2            = 29,
  411. const int KEY_3            = 30,
  412. const int KEY_4            = 31,
  413. const int KEY_5            = 32,
  414. const int KEY_6            = 33,
  415. const int KEY_7            = 34,
  416. const int KEY_8            = 35,
  417. const int KEY_9            = 36,
  418. const int KEY_0_PAD        = 37,
  419. const int KEY_1_PAD        = 38,
  420. const int KEY_2_PAD        = 39,
  421. const int KEY_3_PAD        = 40,
  422. const int KEY_4_PAD        = 41,
  423. const int KEY_5_PAD        = 42,
  424. const int KEY_6_PAD        = 43,
  425. const int KEY_7_PAD        = 44,
  426. const int KEY_8_PAD        = 45,
  427. const int KEY_9_PAD        = 46,
  428. const int KEY_F1           = 47,
  429. const int KEY_F2           = 48,
  430. const int KEY_F3           = 49,
  431. const int KEY_F4           = 50,
  432. const int KEY_F5           = 51,
  433. const int KEY_F6           = 52,
  434. const int KEY_F7           = 53,
  435. const int KEY_F8           = 54,
  436. const int KEY_F9           = 55,
  437. const int KEY_F10          = 56,
  438. const int KEY_F11          = 57,
  439. const int KEY_F12          = 58,
  440. const int KEY_ESC          = 59,
  441. const int KEY_TILDE        = 60,
  442. const int KEY_MINUS        = 61,
  443. const int KEY_EQUALS       = 62,
  444. const int KEY_BACKSPACE    = 63,
  445. const int KEY_TAB          = 64,
  446. const int KEY_OPENBRACE    = 65,
  447. const int KEY_CLOSEBRACE   = 66,
  448. const int KEY_ENTER        = 67,
  449. const int KEY_COLON        = 68,
  450. const int KEY_QUOTE        = 69,
  451. const int KEY_BACKSLASH    = 70,
  452. const int KEY_BACKSLASH2   = 71,
  453. const int KEY_COMMA        = 72,
  454. const int KEY_STOP         = 73,
  455. const int KEY_SLASH        = 74,
  456. const int KEY_SPACE        = 75,
  457. const int KEY_INSERT       = 76,
  458. const int KEY_DEL          = 77,
  459. const int KEY_HOME         = 78,
  460. const int KEY_END          = 79,
  461. const int KEY_PGUP         = 80,
  462. const int KEY_PGDN         = 81,
  463. const int KEY_LEFT         = 82,
  464. const int KEY_RIGHT        = 83,
  465. const int KEY_UP           = 84,
  466. const int KEY_DOWN         = 85,
  467. const int KEY_SLASH_PAD    = 86,
  468. const int KEY_ASTERISK     = 87,
  469. const int KEY_MINUS_PAD    = 88,
  470. const int KEY_PLUS_PAD     = 89,
  471. const int KEY_DEL_PAD      = 90,
  472. const int KEY_ENTER_PAD    = 91,
  473. const int KEY_PRTSCR       = 92,
  474. const int KEY_PAUSE        = 93,
  475. const int KEY_ABNT_C1      = 94,
  476. const int KEY_YEN          = 95,
  477. const int KEY_KANA         = 96,
  478. const int KEY_CONVERT      = 97,
  479. const int KEY_NOCONVERT    = 98,
  480. const int KEY_AT           = 99,
  481. const int KEY_CIRCUMFLEX   = 100,
  482. const int KEY_COLON2       = 101,
  483. const int KEY_KANJI        = 102,
  484. const int KEY_EQUALS_PAD   = 103,  /* MacOS X */
  485. const int KEY_BACKQUOTE    = 104,  /* MacOS X */
  486. const int KEY_SEMICOLON    = 105,  /* MacOS X */
  487. const int KEY_COMMAND      = 106,  /* MacOS X */
  488. const int KEY_UNKNOWN1     = 107,
  489. const int KEY_UNKNOWN2     = 108,
  490. const int KEY_UNKNOWN3     = 109,
  491. const int KEY_UNKNOWN4     = 110,
  492. const int KEY_UNKNOWN5     = 111,
  493. const int KEY_UNKNOWN6     = 112,
  494. const int KEY_UNKNOWN7     = 113,
  495. const int KEY_UNKNOWN8     = 114,
  496.  
  497. const int KEY_MODIFIERS    = 115,
  498.  
  499. const int KEY_LSHIFT       = 115,
  500. const int KEY_RSHIFT       = 116,
  501. const int KEY_LCONTROL     = 117,
  502. const int KEY_RCONTROL     = 118,
  503. const int KEY_ALT          = 119,
  504. const int KEY_ALTGR        = 120,
  505. const int KEY_LWIN         = 121,
  506. const int KEY_RWIN         = 122,
  507. const int KEY_MENU         = 123,
  508. const int KEY_SCRLOCK      = 124,
  509. const int KEY_NUMLOCK      = 125,
  510. const int KEY_CAPSLOCK     = 126,
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×