1 #ifndef LIBRETRO_VKBD_H 2 #define LIBRETRO_VKBD_H 3 4 extern void print_vkbd(unsigned short int *pixels); 5 extern int check_vkey(int x, int y); 6 7 typedef struct 8 { 9 char normal[5]; 10 char shift[5]; 11 int value; 12 } retro_vkeys; 13 14 static retro_vkeys vkeys[VKBDX * VKBDY] = 15 { 16 /* 0 */ 17 { "1" ,"!" ,RETROK_1}, 18 { "2" ,"\"" ,RETROK_2}, 19 { "3" ,"#" ,RETROK_3}, 20 { "4" ,"$" ,RETROK_4}, 21 { "5" ,"%" ,RETROK_5}, 22 { "6" ,"&" ,RETROK_6}, 23 { "7" ,"'" ,RETROK_7}, 24 { "8" ,"(" ,RETROK_8}, 25 { "9" ,")" ,RETROK_9}, 26 #ifdef __XPLUS4__ 27 { "0" ,{26} ,RETROK_0}, 28 #else 29 { "0" ,"0" ,RETROK_0}, 30 #endif 31 #ifdef __XPLUS4__ 32 { "F1" ,"F4" ,RETROK_F1}, 33 #else 34 { "f1" ,"f2" ,RETROK_F1}, 35 #endif 36 37 /* 11 */ 38 { "Q" ,"Q" ,RETROK_q}, 39 { "W" ,"W" ,RETROK_w}, 40 { "E" ,"E" ,RETROK_e}, 41 { "R" ,"R" ,RETROK_r}, 42 { "T" ,"T" ,RETROK_t}, 43 { "Y" ,"Y" ,RETROK_y}, 44 { "U" ,"U" ,RETROK_u}, 45 { "I" ,"I" ,RETROK_i}, 46 { "O" ,"O" ,RETROK_o}, 47 { "P" ,"P" ,RETROK_p}, 48 #ifdef __XPLUS4__ 49 { "F2" ,"F5" ,RETROK_F2}, 50 #else 51 { "f3" ,"f4" ,RETROK_F3}, 52 #endif 53 54 /* 22 */ 55 { "A" ,"A" ,RETROK_a}, 56 { "S" ,"S" ,RETROK_s}, 57 { "D" ,"D" ,RETROK_d}, 58 { "F" ,"F" ,RETROK_f}, 59 { "G" ,"G" ,RETROK_g}, 60 { "H" ,"H" ,RETROK_h}, 61 { "J" ,"J" ,RETROK_j}, 62 { "K" ,"K" ,RETROK_k}, 63 { "L" ,"L" ,RETROK_l}, 64 { {31} ,{31} ,RETROK_INSERT}, /* £ */ 65 #ifdef __XPLUS4__ 66 { "F3" ,"F6" ,RETROK_F3}, 67 #else 68 { "f5" ,"f6" ,RETROK_F5}, 69 #endif 70 71 /* 33 */ 72 { "Z" ,"Z" ,RETROK_z}, 73 { "X" ,"X" ,RETROK_x}, 74 { "C" ,"C" ,RETROK_c}, 75 { "V" ,"V" ,RETROK_v}, 76 { "B" ,"B" ,RETROK_b}, 77 { "N" ,"N" ,RETROK_n}, 78 { "M" ,"M" ,RETROK_m}, 79 { "," ,"<" ,RETROK_COMMA}, 80 { "." ,">" ,RETROK_PERIOD}, 81 { "/" ,"?" ,RETROK_SLASH}, 82 #ifdef __XPLUS4__ 83 { "HLP" ,"F7" ,RETROK_F8}, 84 #else 85 { "f7" ,"f8" ,RETROK_F7}, 86 #endif 87 88 /* 44 */ 89 #ifdef __XPLUS4__ 90 { "ESC","ESC" ,RETROK_BACKQUOTE}, 91 #else 92 { {25} ,{25} ,RETROK_BACKQUOTE}, /* Left arrow */ 93 #endif 94 { "CTR","CTR" ,RETROK_TAB}, 95 { "+" ,"+" ,RETROK_MINUS}, 96 { "-" ,"-" ,RETROK_EQUALS}, 97 { "@" ,"@" ,RETROK_LEFTBRACKET}, 98 { "*" ,"*" ,RETROK_RIGHTBRACKET}, 99 { {26} ,{7} ,RETROK_DELETE}, /* Up arrow / Pi */ 100 { ":" ,"[" ,RETROK_SEMICOLON}, 101 { ";" ,"]" ,RETROK_QUOTE}, 102 { "=" ,"=" ,RETROK_BACKSLASH}, 103 { "STB","STB" ,-3}, /* Statusbar */ 104 105 /* 55 */ 106 { {24} ,{24} ,RETROK_LCTRL}, 107 { "R/S","R/S" ,RETROK_ESCAPE}, 108 { "S/L","S/L" ,-5}, /* ShiftLock */ 109 { "LSH","LSH" ,RETROK_LSHIFT}, 110 { "RSH","RSH" ,RETROK_RSHIFT}, 111 { "RST","RST" ,RETROK_PAGEUP}, 112 { "CLR","CLR" ,RETROK_HOME}, 113 { "DEL","DEL" ,RETROK_BACKSPACE}, 114 { {30} ,{30} ,RETROK_UP}, 115 { "RET","RET" ,RETROK_RETURN}, 116 { "JOY","JOY" ,-4}, /* Switch joyport */ 117 118 /* 66 */ 119 { {17} ,{17} ,-2}, /* Reset */ 120 { {19} ,{19} ,-15}, /* Datasette RESET */ 121 { {20} ,{20} ,-12}, /* Datasette PLAY */ 122 { {21} ,{21} ,-14}, /* Datasette RWD */ 123 { {22} ,{22} ,-13}, /* Datasette FWD */ 124 { {23} ,{23} ,-11}, /* Datasette STOP */ 125 { {18} ,{18} ,RETROK_SPACE}, 126 { {27} ,{27} ,RETROK_LEFT}, 127 { {28} ,{28} ,RETROK_DOWN}, 128 { {29} ,{29} ,RETROK_RIGHT}, 129 { "TRF","TRF" ,-20}, /* Toggle turbo fire */ 130 }; 131 132 #endif /* LIBRETRO_VKBD_H */ 133