One page VKBD layout

Atari keyboard fits in one page!
This commit is contained in:
Pecusx
2021-05-08 12:25:59 +02:00
parent dea2319c2c
commit 1055dbefa3
3 changed files with 50 additions and 23 deletions
+1 -1
View File
@@ -42,7 +42,7 @@ extern char Key_Sate2[512];
extern int pauseg;
#define NPLGN 12
#define NLIGN 5
#define NLIGN 6
#define NLETT 5
#define XSIDE (CROP_WIDTH/NPLGN -1)
+7 -7
View File
@@ -24,7 +24,7 @@ unsigned *pix=(unsigned*)buffer;
unsigned short *pix=(unsigned short *)buffer;
#endif
page = (NPAGE == -1) ? 0 : 5*NPLGN;
page = (NPAGE == -1) ? 0 : NLIGN*NPLGN;
coul = RGB565(28, 28, 31);
BKGCOLOR = (KCOL>0?0xFF808080:0);
@@ -50,15 +50,15 @@ unsigned short *pix=(unsigned short *)buffer;
}
// draw Shift and Control keys status
// Shift - position 0,3
// Shift - position 0,4
if (SHIFTON==1)
{
Draw_text((char*)pix,XBASE0-2+0*XSIDE ,YBASE0+YSIDE*3,RGB565(2,2,31), BKGCOLOR ,1, 1,3,MVk[(3*NPLGN)+0+page].shift);
Draw_text((char*)pix,XBASE0-2+0*XSIDE ,YBASE0+YSIDE*4,RGB565(2,2,31), BKGCOLOR ,1, 1,3,MVk[(4*NPLGN)+0+page].shift);
}
// Control - position 0,2
// Control - position 0,3
if (CTRLON==1)
{
Draw_text((char*)pix,XBASE0-2+0*XSIDE ,YBASE0+YSIDE*2,RGB565(2,2,31), BKGCOLOR ,1, 1,3,MVk[(2*NPLGN)+0+page].ctrl);
Draw_text((char*)pix,XBASE0-2+0*XSIDE ,YBASE0+YSIDE*3,RGB565(2,2,31), BKGCOLOR ,1, 1,3,MVk[(3*NPLGN)+0+page].ctrl);
}
DrawBoxBmp((char*)pix,XBASE3+vx*XSIDE,YBASE3+vy*YSIDE, XSIDE,YSIDE, RGB565(31, 2, 1));
@@ -74,11 +74,11 @@ unsigned short *pix=(unsigned short *)buffer;
{
Draw_text((char*)pix,XBASE0-2+vx*XSIDE ,YBASE0+YSIDE*vy,RGB565(2,31,1), BKGCOLOR ,1, 1,3,MVk[(vy*NPLGN)+vx+page].norml);
}
if (vx==0 && vy==3 && SHIFTON==1) // diferent Shift color if Shift is ON - position 0,3
if (vx==0 && vy==4 && SHIFTON==1) // diferent Shift color if Shift is ON - position 0,4
{
Draw_text((char*)pix,XBASE0-2+vx*XSIDE ,YBASE0+YSIDE*vy,RGB565(2,31,21), BKGCOLOR ,1, 1,3,MVk[(vy*NPLGN)+vx+page].shift);
}
if (vx==0 && vy==2 && CTRLON==1) // diferent Conrol color if Control is ON - position 0,2
if (vx==0 && vy==3 && CTRLON==1) // diferent Conrol color if Control is ON - position 0,3
{
Draw_text((char*)pix,XBASE0-2+vx*XSIDE ,YBASE0+YSIDE*vy,RGB565(2,31,21), BKGCOLOR ,1, 1,3,MVk[(vy*NPLGN)+vx+page].ctrl);
}
+42 -15
View File
@@ -8,9 +8,23 @@ typedef struct {
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", "Esc", RETROK_ESCAPE},//0
{ "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},
{ "Del", "Del", "Del", RETROK_DELETE},
{ "Esc", "Esc", "Esc", RETROK_ESCAPE}, // page 1, line 2
{ " 1 ", " ! ", " \xb1 " , RETROK_1},
{ " 2 ", " \" ", " \xb2 ", RETROK_2},
{ " 3 ", " # ", " \xb3 ", RETROK_3},
@@ -23,7 +37,7 @@ Mvk MVk[NPLGN*NLIGN*2]={
{ " 0 ", " ) ", " \xb0 ", RETROK_0},
{ "Brk", "Brk", "Brk", RETROK_PAUSE},
{ "Tab", "Tab", "Tab", RETROK_TAB}, //10+2
{ "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},
@@ -36,7 +50,7 @@ Mvk MVk[NPLGN*NLIGN*2]={
{ " p ", " P ", "P \x10", RETROK_p},
{ "Ret", "Ret", "Ret", RETROK_RETURN},
{ "Ctl", "Ctl", "Ctl", RETROK_LCTRL}, //20+4
{ "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},
@@ -49,7 +63,7 @@ Mvk MVk[NPLGN*NLIGN*2]={
{ " ; ", " : ", "; \x7b", RETROK_SEMICOLON},
{ "Cap", "Cap", "Cap", RETROK_CAPSLOCK},
{ "Shf", "Shf", "Shf", RETROK_LSHIFT}, //30+6
{ "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},
@@ -59,24 +73,24 @@ Mvk MVk[NPLGN*NLIGN*2]={
{ " m ", " M ", "M \x0d", RETROK_m},
{ " , ", " [ ", ", \x00", RETROK_COMMA},
{ " . ", " ] ", ". \x60", RETROK_PERIOD},
{ " / ", " ? ", " / ", RETROK_SLASH},
{ " \x9c ", " \x9c ", " \x9c ", RETROK_UP},
{ "Inv", "Inv", "Inv", RETROK_LSUPER},
{ "PG2", "PG2", "PG2", -2}, //40+8
{ "Spc", "Spc", "Spc", RETROK_SPACE}, // page 1, 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_SLASH},
{ " < ", " < ", " < ", RETROK_LESS},
{ " > ", " > ", " > ", RETROK_GREATER},
{ "PG2", "PG2", "PG2", -2},
{ " \x9e ", " \x9e ", " \x9e ", RETROK_LEFT},
{ " \x9d ", " \x9d ", " \x9d ", RETROK_DOWN},
{ " \x9f ", " \x9f ", " \x9f ", RETROK_RIGHT},
{ "Esc", "Esc", "Esc", RETROK_ESCAPE},//50+10
{ "Esc", "Esc", "Esc", RETROK_ESCAPE}, // page 2, line 1
{ "HLP", "HLP", "HLP", RETROK_F6},
{ "STA", "STA", "STA", RETROK_F4},
{ "SEL", "SEL", "SEL", RETROK_F3},
@@ -89,7 +103,20 @@ Mvk MVk[NPLGN*NLIGN*2]={
{ "GUI", "GUI", "GUI", RETROK_F1},
{ "Brk", "Brk", "Brk", RETROK_PAUSE},
{ "Tab", "Tab", "Tab", RETROK_TAB}, //60+12
{ "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},
{ "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},
@@ -102,7 +129,7 @@ Mvk MVk[NPLGN*NLIGN*2]={
{ " p ", " P ", "P \x10", RETROK_p},
{ "Ret", "Ret", "Ret", RETROK_RETURN},
{ "Ctl", "Ctl", "Ctl", RETROK_LCTRL}, //70+14
{ "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},
@@ -115,7 +142,7 @@ Mvk MVk[NPLGN*NLIGN*2]={
{ " ; ", " : ", "; \x7b", RETROK_SEMICOLON},
{ "Cap", "Cap", "Cap", RETROK_CAPSLOCK},
{ "Shf", "Shf", "Shf", RETROK_LSHIFT}, //80+16
{ "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},
@@ -128,7 +155,7 @@ Mvk MVk[NPLGN*NLIGN*2]={
{ " / ", " ? ", " / ", RETROK_SLASH},
{ "Inv", "Inv", "Inv", RETROK_LSUPER},
{ "PG1", "PG1", "PG1", -2},//90+18
{ "PG1", "PG1", "PG1", -2}, // page 2, line 6
{ "Spc", "Spc", "Spc", RETROK_SPACE},
{ "Del", "Del", "Del", RETROK_DELETE},
{ "Clr", "Clr", "Clr", RETROK_HOME},