Third (final??) attemp at a new Virtual Keyboard (#75)
* Atari Console keys Added: Help, Start, Select, Option and Reset keys. * Atari TAB, RETURN and SPACE keys * Return? * Start, Option, Help and Emulator Menu buttons * Help key on Pad Added Atari Help key to joypad mapping. * First try to new keyboard * Shit on VKBD * Control key handle * Shift text UPPER when pressed * Atari 8bit font * Virtual Keyboard keys with Control * Minor error * 1st attemp to new vkbd layout Virtual Keyoboard recreated. Added atari font, Ctrl and Shift funcionality. Console buttons on second page. * % and null character display on VKBD * Revert "% and null character display on VKBD" This reverts commitf4eb848f26. * Displaying % and heart on VKBD - maybe... * Set max key description lenght to 3 * Always display only 3 characters of key desc. * Schift & Control status on VKBD * Second page of VKBD New second page. New layout, atari cursor keys and F1-F4 now working. * Minor mistake :) * Correct atari F1-F4 handling * Oooops... minor error * Better keys handling * Better Shift & Control indicators * Much better Shift and Control colors :) * Disable joystick input if Virtual Keyboard active Only for testing * Revert "Disable joystick input if Virtual Keyboard active" This reverts commit8b942c29e0. * One page VKBD layout Atari keyboard fits in one page! * Atari del/Bk Sp properly handling * VKBD opacity Only for testing * Keys names opacity Test only * Still testing VKBD opacity * minor error Still testing opacity * Added VKbd opacity witch switch. * Oppps...
This commit is contained in:
+147
-120
@@ -4,142 +4,169 @@
|
||||
typedef struct {
|
||||
char norml[NLETT];
|
||||
char shift[NLETT];
|
||||
char ctrl[NLETT];
|
||||
int val;
|
||||
} Mvk;
|
||||
|
||||
// I left 2 pages of Virtual Keyboard allowed to work, but everything now fits on one.
|
||||
Mvk MVk[NPLGN*NLIGN*2]={
|
||||
|
||||
{ "ESC" ,"ESC" ,RETROK_ESCAPE },//0
|
||||
{ " 1" ," !" , RETROK_1 },//0
|
||||
{ " 2" ," \"" ,RETROK_2 },
|
||||
{ " 3" ," #" ,RETROK_3 },
|
||||
{ " 4" ," $" ,RETROK_4 },
|
||||
{ " 5" ," %" ,RETROK_5 },
|
||||
{ " 6" ," &" ,RETROK_6 },
|
||||
{ " 7" ," \'" ,RETROK_7 },
|
||||
{ " 8" ," (" ,RETROK_8 },
|
||||
{ " 9" ," )" ,RETROK_9 },
|
||||
{ " 0" ," _" ,RETROK_0 },
|
||||
{ " ^" ,"Pnd" ,0x30 },
|
||||
{ "HLP", "HLP", "HLP", RETROK_F6}, // page 1, line 1
|
||||
{ "STA", "STA", "STA", RETROK_F4},
|
||||
{ "SEL", "SEL", "SEL", RETROK_F3},
|
||||
{ "OPT", "OPT", "OPT", RETROK_F2},
|
||||
{ "RES", "RES", "RES", RETROK_F5},
|
||||
{ " F1", " F1", " F1", RETROK_F7},
|
||||
{ " F2", " F2", " F2", RETROK_F8},
|
||||
{ " F3", " F3", " F3", RETROK_F9},
|
||||
{ " F4", " F4", " F4", RETROK_F10},
|
||||
{ "Clr", "Clr", "Clr", RETROK_HOME},
|
||||
{ "Ins", "Ins", "Ins", RETROK_INSERT},
|
||||
{ "Bsp", "Del", "Del", RETROK_BACKSPACE},
|
||||
|
||||
{ " q" ," Q" ,RETROK_q}, //10+2
|
||||
{ " w" ," W" ,RETROK_w},
|
||||
{ " e" ," E" ,RETROK_e},
|
||||
{ " r" ," R" ,RETROK_r},
|
||||
{ " t" ," T" ,RETROK_t},
|
||||
{ " y" ," Y" ,RETROK_y},
|
||||
{ " u" ," U" ,RETROK_u},
|
||||
{ " i" ," I" ,RETROK_i},
|
||||
{ " o" ," O" ,RETROK_o},
|
||||
{ " p" ," P" ,RETROK_p},
|
||||
{ " @" ," |" ,RETROK_QUOTEDBL},
|
||||
{ " [" ," [" ,RETROK_LEFTBRACKET},
|
||||
{ "Esc", "Esc", "Esc", RETROK_ESCAPE}, // page 1, line 2
|
||||
{ " 1 ", " ! ", " \xb1 " , RETROK_1},
|
||||
{ " 2 ", " \" ", " \xb2 ", RETROK_2},
|
||||
{ " 3 ", " # ", " \xb3 ", RETROK_3},
|
||||
{ " 4 ", " $ ", " \xb4 ", RETROK_4},
|
||||
{ " 5 ", " %% ", " \xb5 ", RETROK_5},
|
||||
{ " 6 ", " & ", " \xb6 ", RETROK_6},
|
||||
{ " 7 ", " \' ", " \xb7 ", RETROK_7},
|
||||
{ " 8 ", " @ ", " \xb8 ", RETROK_8},
|
||||
{ " 9 ", " ( ", " \xb9 ", RETROK_9},
|
||||
{ " 0 ", " ) ", " \xb0 ", RETROK_0},
|
||||
{ "Brk", "Brk", "Brk", RETROK_PAUSE},
|
||||
|
||||
{ " a" ," A" ,RETROK_a}, //20+4
|
||||
{ " s" ," S" ,RETROK_s},
|
||||
{ " d" ," D" ,RETROK_d},
|
||||
{ " f" ," F" ,RETROK_f},
|
||||
{ " g" ," G" ,RETROK_g},
|
||||
{ " h" ," H" ,RETROK_h},
|
||||
{ " j" ," J" ,RETROK_j},
|
||||
{ " k" ," K" ,RETROK_k},
|
||||
{ " l" ," L" ,RETROK_l},
|
||||
{ " :" ," *" ,RETROK_COLON},
|
||||
{ " ;" ," +" ,RETROK_SEMICOLON},
|
||||
{ " ]" ," ]" ,RETROK_RIGHTBRACKET},
|
||||
{ "Tab", "Tab", "Tab", RETROK_TAB}, // page 1, line 3
|
||||
{ " q ", " Q ", "Q \x11", RETROK_q},
|
||||
{ " w ", " W ", "W \x17", RETROK_w},
|
||||
{ " e ", " E ", "E \x05", RETROK_e},
|
||||
{ " r ", " R ", "R \x12", RETROK_r},
|
||||
{ " t ", " T ", "T \x14", RETROK_t},
|
||||
{ " y ", " Y ", "Y \x19", RETROK_y},
|
||||
{ " u ", " U ", "U \x15", RETROK_u},
|
||||
{ " i ", " I ", "I \x09", RETROK_i},
|
||||
{ " o ", " O ", "O \x0f", RETROK_o},
|
||||
{ " p ", " P ", "P \x10", RETROK_p},
|
||||
{ "Ret", "Ret", "Ret", RETROK_RETURN},
|
||||
|
||||
{ " z" ," Z" ,RETROK_z},//30+6
|
||||
{ " x" ," X" ,RETROK_x},
|
||||
{ " c" ," C" ,RETROK_c},
|
||||
{ " v" ," V" ,RETROK_v},
|
||||
{ " b" ," B" ,RETROK_b},
|
||||
{ " n" ," N" ,RETROK_n},
|
||||
{ " m"," M" ,RETROK_m},
|
||||
{ " ,"," <" ,RETROK_COMMA},
|
||||
{ " ."," >" ,RETROK_PERIOD},
|
||||
{ " /" ," ?" ,RETROK_SLASH},
|
||||
{ " \\"," \\" ,RETROK_BACKSLASH},
|
||||
{ "SHFT" ,"SHFT" ,0x25},
|
||||
{ "Ctl", "Ctl", "Ctl", RETROK_LCTRL}, // page 1, line 4
|
||||
{ " a ", " A ", "A \x01", RETROK_a},
|
||||
{ " s ", " S ", "S \x13", RETROK_s},
|
||||
{ " d ", " D ", "D \x04", RETROK_d},
|
||||
{ " f ", " F ", "F \x06", RETROK_f},
|
||||
{ " g ", " G ", "G \x07", RETROK_g},
|
||||
{ " h ", " H ", "H \x08", RETROK_h},
|
||||
{ " j ", " J ", "J \x0a", RETROK_j},
|
||||
{ " k ", " K ", "K \x0b", RETROK_k},
|
||||
{ " l ", " L ", "L \x0c", RETROK_l},
|
||||
{ " ; ", " : ", "; \x7b", RETROK_SEMICOLON},
|
||||
{ "Cap", "Cap", "Cap", RETROK_CAPSLOCK},
|
||||
|
||||
{ "PG2","PG2" ,-2}, //40+8
|
||||
{ "TAB","TAB" ,0x54},
|
||||
{ "CPSL" ,"CPSL" ,0x86},
|
||||
{ "RET" ,"RET" ,0x22},
|
||||
{ "DEL" ,"DEL" ,0x97},
|
||||
{ "CTRL" ,"CTRL" ,0x27},
|
||||
{ "CLR" ,"CLR" , 0x20},
|
||||
{ "Spc" ,"Spc",0x57},
|
||||
{ "= " ,"= " ,RETROK_EQUALS},
|
||||
{ " *" ," *", RETROK_ASTERISK},
|
||||
{ "# " ,"# " ,RETROK_HASH},
|
||||
{ "Ent" ,"Ent",0x06},
|
||||
{ "Shf", "Shf", "Shf", RETROK_LSHIFT}, // page 1, line 5
|
||||
{ " z ", " Z ", "Z \x1a", RETROK_z},
|
||||
{ " x ", " X ", "X \x18", RETROK_x},
|
||||
{ " c ", " C ", "C \x03", RETROK_c},
|
||||
{ " v ", " V ", "V \x16", RETROK_v},
|
||||
{ " b ", " B ", "B \x02", RETROK_b},
|
||||
{ " n ", " N ", "N \x0e", RETROK_n},
|
||||
{ " m ", " M ", "M \x0d", RETROK_m},
|
||||
{ " , ", " [ ", ", \x00", RETROK_COMMA},
|
||||
{ " . ", " ] ", ". \x60", RETROK_PERIOD},
|
||||
{ " \x9c ", " \x9c ", " \x9c ", RETROK_UP},
|
||||
{ "Inv", "Inv", "Inv", RETROK_LSUPER},
|
||||
|
||||
{ "OPC", "OPC", "OPC", -5}, // page 1, line 6
|
||||
{ "Spc", "Spc", "Spc", RETROK_SPACE},
|
||||
{ " + ", " \\ ", " \x1e ", RETROK_PLUS},
|
||||
{ " _ ", " - ", " \x1c ", RETROK_UNDERSCORE},
|
||||
{ " = ", " | ", " \x1d ", RETROK_EQUALS},
|
||||
{ " * ", " ^ ", " \x1f ", RETROK_ASTERISK},
|
||||
{ " / ", " ? ", " / ", RETROK_SLASH},
|
||||
{ " < ", " < ", " < ", RETROK_LESS},
|
||||
{ " > ", " > ", " > ", RETROK_GREATER},
|
||||
{ " \x9e ", " \x9e ", " \x9e ", RETROK_LEFT},
|
||||
{ " \x9d ", " \x9d ", " \x9d ", RETROK_DOWN},
|
||||
{ " \x9f ", " \x9f ", " \x9f ", RETROK_RIGHT},
|
||||
|
||||
|
||||
{ "ESC" ,"ESC" ,RETROK_ESCAPE },//50+1°
|
||||
{ " 1" ," !" , RETROK_1 },//0
|
||||
{ " 2" ," \"" ,RETROK_2 },
|
||||
{ " 3" ," #" ,RETROK_3 },
|
||||
{ " 4" ," $" ,RETROK_4 },
|
||||
{ " 5" ," %" ,RETROK_5 },
|
||||
{ " 6" ," &" ,RETROK_6 },
|
||||
{ " 7" ," \'" ,RETROK_7 },
|
||||
{ " 8" ," (" ,RETROK_8 },
|
||||
{ " 9" ," )" ,RETROK_9 },
|
||||
{ " 0" ," _" ,RETROK_0 },
|
||||
{ " ^" ,"Pnd" ,0x30 },
|
||||
{ "Esc", "Esc", "Esc", RETROK_ESCAPE}, // page 2, line 1
|
||||
{ "HLP", "HLP", "HLP", RETROK_F6},
|
||||
{ "STA", "STA", "STA", RETROK_F4},
|
||||
{ "SEL", "SEL", "SEL", RETROK_F3},
|
||||
{ "OPT", "OPT", "OPT", RETROK_F2},
|
||||
{ "RES", "RES", "RES", RETROK_F5},
|
||||
{ " F1", " F1", " F1", RETROK_F7},
|
||||
{ " F2", " F2", " F2", RETROK_F8},
|
||||
{ " F3", " F3", " F3", RETROK_F9},
|
||||
{ " F4", " F4", " F4", RETROK_F10},
|
||||
{ "GUI", "GUI", "GUI", RETROK_F1},
|
||||
{ "Brk", "Brk", "Brk", RETROK_PAUSE},
|
||||
|
||||
{ " F7" ," F7" ,RETROK_F7}, //60+12
|
||||
{ " F8" ," F8" ,RETROK_F8},
|
||||
{ " F9" ," F9" ,RETROK_F9},
|
||||
{ " F0" ," F0" ,RETROK_F10},
|
||||
{ " t" ," T" ,0x63},
|
||||
{ " /\\" ," /\\" ,0x00},
|
||||
{ " u" ," U" ,0x52},
|
||||
{ " i" ," I" ,0x43},
|
||||
{ " o" ," O" ,0x42},
|
||||
{ " p" ," P" ,0x33},
|
||||
{ " @" ," |" ,0x32},
|
||||
{ " [" ," [" ,0x21},
|
||||
{ "Esc", "Esc", "Esc", RETROK_ESCAPE}, // page 2, line 2
|
||||
{ "HLP", "HLP", "HLP", RETROK_F6},
|
||||
{ "STA", "STA", "STA", RETROK_F4},
|
||||
{ "SEL", "SEL", "SEL", RETROK_F3},
|
||||
{ "OPT", "OPT", "OPT", RETROK_F2},
|
||||
{ "RES", "RES", "RES", RETROK_F5},
|
||||
{ " F1", " F1", " F1", RETROK_F7},
|
||||
{ " F2", " F2", " F2", RETROK_F8},
|
||||
{ " F3", " F3", " F3", RETROK_F9},
|
||||
{ " F4", " F4", " F4", RETROK_F10},
|
||||
{ "GUI", "GUI", "GUI", RETROK_F1},
|
||||
{ "Brk", "Brk", "Brk", RETROK_PAUSE},
|
||||
|
||||
{ " F4" ," F4" ,RETROK_F4}, //70+14
|
||||
{ " F5" ," F5" ,RETROK_F5},
|
||||
{ " F6" ," F6" ,RETROK_F6},
|
||||
{ " ." ," ." ,0x07},
|
||||
{ " <-" ," <-" ,0x10},
|
||||
{ "COPY" ,"COPY" ,0x11},
|
||||
{ " ->" ," ->" ,0x01},
|
||||
{ " r" ," R" ,RETROK_r},
|
||||
{ " p" ," P" ,RETROK_p},
|
||||
{ "= " ,"= " ,RETROK_EQUALS},
|
||||
{ " *" ," *", RETROK_ASTERISK},
|
||||
{ "# " ,"# " ,RETROK_HASH},
|
||||
{ "Tab", "Tab", "Tab", RETROK_TAB}, // page 2, line 3
|
||||
{ " q ", " Q ", "Q \x11", RETROK_q},
|
||||
{ " w ", " W ", "W \x17", RETROK_w},
|
||||
{ " e ", " E ", "E \x05", RETROK_e},
|
||||
{ " r ", " R ", "R \x12", RETROK_r},
|
||||
{ " \x9c ", " \x9c ", " \x9c ", RETROK_UP},
|
||||
{ " y ", " Y ", "Y \x19", RETROK_y},
|
||||
{ " u ", " U ", "U \x15", RETROK_u},
|
||||
{ " i ", " I ", "I \x09", RETROK_i},
|
||||
{ " o ", " O ", "O \x0f", RETROK_o},
|
||||
{ " p ", " P ", "P \x10", RETROK_p},
|
||||
{ "Ret", "Ret", "Ret", RETROK_RETURN},
|
||||
|
||||
{ " F1" ," F1" ,RETROK_F1},//80+16
|
||||
{ " F2" ," F2" ,RETROK_F2},
|
||||
{ " F3" ," F3" ,RETROK_F3},
|
||||
{ "Ent" ,"Ent" ,0x06},
|
||||
{ " b" ," B" ,0x66},
|
||||
{ " \\/" ," \\/" ,0x02},
|
||||
{ " m"," M" ,0x46},
|
||||
{ " ,"," <" ,0x47},
|
||||
{ " ."," >" ,0x37},
|
||||
{ "TAPE" ,"TAPE" ,-8},
|
||||
{ "EXIT","EXIT" ,-6},
|
||||
{ "SNA" ,"SNA" ,-7},
|
||||
{ "Ctl", "Ctl", "Ctl", RETROK_LCTRL}, // page 2, line 4
|
||||
{ " a ", " A ", "A \x01", RETROK_a},
|
||||
{ " s ", " S ", "S \x13", RETROK_s},
|
||||
{ " d ", " D ", "D \x04", RETROK_d},
|
||||
{ " \x9e ", " \x9e ", " \x9e ", RETROK_LEFT},
|
||||
{ "Ret", "Ret", "Ret", RETROK_RETURN},
|
||||
{ " \x9f ", " \x9f ", " \x9f ", RETROK_RIGHT},
|
||||
{ " j ", " J ", "J \x0a", RETROK_j},
|
||||
{ " k ", " K ", "K \x0b", RETROK_k},
|
||||
{ " l ", " L ", "L \x0c", RETROK_l},
|
||||
{ " ; ", " : ", "; \x7b", RETROK_SEMICOLON},
|
||||
{ "Cap", "Cap", "Cap", RETROK_CAPSLOCK},
|
||||
|
||||
{ "Shf", "Shf", "Shf", RETROK_LSHIFT}, // page 2, line 5
|
||||
{ " z ", " Z ", "Z \x1a", RETROK_z},
|
||||
{ " x ", " X ", "X \x18", RETROK_x},
|
||||
{ " c ", " C ", "C \x03", RETROK_c},
|
||||
{ " v ", " V ", "V \x16", RETROK_v},
|
||||
{ " \x9d ", " \x9d ", " \x9d ", RETROK_DOWN},
|
||||
{ " n ", " N ", "N \x0e", RETROK_n},
|
||||
{ " m ", " M ", "M \x0d", RETROK_m},
|
||||
{ " , ", " [ ", ", \x00", RETROK_COMMA},
|
||||
{ " . ", " ] ", ". \x60", RETROK_PERIOD},
|
||||
{ " / ", " ? ", " / ", RETROK_SLASH},
|
||||
{ "Inv", "Inv", "Inv", RETROK_LSUPER},
|
||||
|
||||
{ "PG1","PG1" ,-2},//90+18
|
||||
{ "DSK","DSK" ,-5},
|
||||
{ "GUI","GUI" ,-13},
|
||||
{ "COL" ,"COL",-3},
|
||||
{ "CTRL" ,"CTRL" ,0x27},
|
||||
{ "SPC" ,"SPC" ,0x57},
|
||||
{ "SHFT" ,"SHFT" ,0x25},
|
||||
{ "ESC","ESC",0x82},
|
||||
{ "CLR" ,"CLR",0x20},
|
||||
{ "DEL" ,"DEL",0x97},
|
||||
{ "Ent" ,"Ent",0x22},
|
||||
{ "KBD" ,"KBD",-4},
|
||||
{ "PG1", "PG1", "PG1", -2}, // page 2, line 6
|
||||
{ "Spc", "Spc", "Spc", RETROK_SPACE},
|
||||
{ "Del", "Del", "Del", RETROK_DELETE},
|
||||
{ "Clr", "Clr", "Clr", RETROK_HOME},
|
||||
{ "Ins", "Ins", "Ins", RETROK_INSERT},
|
||||
{ " + ", " \\ ", " \x1e ", RETROK_PLUS},
|
||||
{ " _ ", " - ", " \x1c ", RETROK_UNDERSCORE},
|
||||
{ " = ", " | ", " \x1d ", RETROK_EQUALS},
|
||||
{ " * ", " ^ ", " \x1f ", RETROK_ASTERISK},
|
||||
{ " < ", " < ", " < ", RETROK_LESS},
|
||||
{ " > ", " > ", " > ", RETROK_GREATER},
|
||||
{ "PG1", "PG1", "PG1", -2},
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user