1
0
Fork 0
forked from Miroirs/x49gp

Compare commits

..

No commits in common. "0f9dffe8ea5eb0819eb171bcb9c02fdaba8cf6b0" and "90ef530c22699e23fec9476f0b1e4a0a303eef2f" have entirely different histories.

View file

@ -35,6 +35,9 @@
#define KB_WIDTH_6_KEYS 36
#define KB_WIDTH_5_KEYS 46
#define KB_WIDTH_6_KEYS 36
#define KB_WIDTH_5_KEYS 46
#define KB_HEIGHT_MENU_KEYS 22
#define KB_HEIGHT_SMALL_KEYS 28
#define KB_HEIGHT_BIG_KEYS 32
@ -55,12 +58,12 @@
#define KEYBOARD_PADDING ( TINY_TEXT_HEIGHT + 2 )
#define KEYBOARD_WIDTH ( ui_keys[ NB_KEYS - 1 ].x + ui_keys[ NB_KEYS - 1 ].width )
#define WINDOW_WIDTH ( KEYBOARD_WIDTH )
#define WINDOW_WIDTH ( ( 2 * KEYBOARD_PADDING ) + KEYBOARD_WIDTH )
#define LCD_PADDING ( ( WINDOW_WIDTH - LCD_WIDTH ) / 2 )
static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
{.css_class = "menu",
{.css_class = "button-menu",
.label = "F1",
.letter = "A",
.left = "Y=",
@ -75,7 +78,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 5 ),
.rowbit = ( 1 << 1 ),
.eint = 1},
{.css_class = "menu",
{.css_class = "button-menu",
.label = "F2",
.letter = "B",
.left = "WIN",
@ -90,7 +93,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 5 ),
.rowbit = ( 1 << 2 ),
.eint = 2},
{.css_class = "menu",
{.css_class = "button-menu",
.label = "F3",
.letter = "C",
.left = "GRAPH",
@ -105,7 +108,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 5 ),
.rowbit = ( 1 << 3 ),
.eint = 3},
{.css_class = "menu",
{.css_class = "button-menu",
.label = "F4",
.letter = "D",
.left = "2D/3D",
@ -120,7 +123,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 5 ),
.rowbit = ( 1 << 4 ),
.eint = 4},
{.css_class = "menu",
{.css_class = "button-menu",
.label = "F5",
.letter = "E",
.left = "TBLSET",
@ -135,7 +138,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 5 ),
.rowbit = ( 1 << 5 ),
.eint = 5},
{.css_class = "menu",
{.css_class = "button-menu",
.label = "F6",
.letter = "F",
.left = "TABLE",
@ -151,7 +154,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.rowbit = ( 1 << 6 ),
.eint = 6},
{.css_class = "function",
{.css_class = "button-function",
.label = "APPS",
.letter = "G",
.left = "FILES",
@ -159,82 +162,82 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.below = NULL,
.x = 0,
.y = KB_LINE_HEIGHT,
.width = KB_WIDTH_5_KEYS,
.width = KB_WIDTH_6_KEYS,
.height = KB_HEIGHT_SMALL_KEYS,
.column = 5,
.row = 7,
.columnbit = ( 1 << 5 ),
.rowbit = ( 1 << 7 ),
.eint = 7},
{.css_class = "function",
{.css_class = "button-function",
.label = "MODE",
.letter = "H",
.left = "CUSTOM",
.right = "END",
.below = NULL,
.x = KB_COLUMN_WIDTH_5_KEYS,
.x = KB_COLUMN_WIDTH_6_KEYS,
.y = KB_LINE_HEIGHT,
.width = KB_WIDTH_5_KEYS,
.width = KB_WIDTH_6_KEYS,
.height = KB_HEIGHT_SMALL_KEYS,
.column = 6,
.row = 5,
.columnbit = ( 1 << 6 ),
.rowbit = ( 1 << 5 ),
.eint = 5},
{.css_class = "function",
{.css_class = "button-function",
.label = "TOOL",
.letter = "I",
.left = "i",
.right = "I",
.below = NULL,
.x = 2 * KB_COLUMN_WIDTH_5_KEYS,
.x = 2 * KB_COLUMN_WIDTH_6_KEYS,
.y = KB_LINE_HEIGHT,
.width = KB_WIDTH_5_KEYS,
.width = KB_WIDTH_6_KEYS,
.height = KB_HEIGHT_SMALL_KEYS,
.column = 6,
.row = 6,
.columnbit = ( 1 << 6 ),
.rowbit = ( 1 << 6 ),
.eint = 6},
{.css_class = "function",
{.css_class = "button-function",
.label = "VAR",
.letter = "J",
.left = "UPDIR",
.right = "COPY",
.below = NULL,
.x = 4 * KB_COLUMN_WIDTH_5_KEYS,
.y = KB_LINE_HEIGHT,
.width = KB_WIDTH_5_KEYS,
.x = 0,
.y = 2 * KB_LINE_HEIGHT,
.width = KB_WIDTH_6_KEYS,
.height = KB_HEIGHT_SMALL_KEYS,
.column = 6,
.row = 7,
.columnbit = ( 1 << 6 ),
.rowbit = ( 1 << 7 ),
.eint = 7},
{.css_class = "function",
{.css_class = "button-function",
.label = "STO⏵",
.letter = "K",
.left = "RCL",
.right = "CUT",
.below = NULL,
.x = 0,
.x = KB_COLUMN_WIDTH_6_KEYS,
.y = 2 * KB_LINE_HEIGHT,
.width = KB_WIDTH_5_KEYS,
.width = KB_WIDTH_6_KEYS,
.height = KB_HEIGHT_SMALL_KEYS,
.column = 7,
.row = 1,
.columnbit = ( 1 << 7 ),
.rowbit = ( 1 << 1 ),
.eint = 1},
{.css_class = "function",
{.css_class = "button-function",
.label = "NXT",
.letter = "L",
.left = "PREV",
.right = "PASTE",
.below = NULL,
.x = KB_COLUMN_WIDTH_5_KEYS,
.x = 2 * KB_COLUMN_WIDTH_6_KEYS,
.y = 2 * KB_LINE_HEIGHT,
.width = KB_WIDTH_5_KEYS,
.width = KB_WIDTH_6_KEYS,
.height = KB_HEIGHT_SMALL_KEYS,
.column = 7,
.row = 2,
@ -242,68 +245,68 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.rowbit = ( 1 << 2 ),
.eint = 2},
{.css_class = "arrow",
.label = "",
{.css_class = "button-arrow",
.label = "",
.letter = NULL,
.left = NULL,
.right = NULL,
.below = NULL,
.x = 3 * KB_COLUMN_WIDTH_5_KEYS,
.y = KB_LINE_HEIGHT,
.width = KB_WIDTH_5_KEYS,
.height = KB_HEIGHT_SMALL_KEYS,
.x = 4 * KB_COLUMN_WIDTH_6_KEYS,
.y = 0.75 * KB_LINE_HEIGHT,
.width = KB_WIDTH_6_KEYS,
.height = KB_HEIGHT_BIG_KEYS,
.column = 6,
.row = 1,
.columnbit = ( 1 << 6 ),
.rowbit = ( 1 << 1 ),
.eint = 1},
{.css_class = "arrow",
.label = "",
{.css_class = "button-arrow",
.label = "",
.letter = NULL,
.left = NULL,
.right = NULL,
.below = NULL,
.x = 2 * KB_COLUMN_WIDTH_5_KEYS,
.y = 2 * KB_LINE_HEIGHT,
.width = KB_WIDTH_5_KEYS,
.height = KB_HEIGHT_SMALL_KEYS,
.x = 3.25 * KB_COLUMN_WIDTH_6_KEYS,
.y = 1.25 * KB_LINE_HEIGHT,
.width = KB_WIDTH_6_KEYS,
.height = KB_HEIGHT_BIG_KEYS,
.column = 6,
.row = 2,
.columnbit = ( 1 << 6 ),
.rowbit = ( 1 << 2 ),
.eint = 2},
{.css_class = "arrow",
.label = "",
{.css_class = "button-arrow",
.label = "",
.letter = NULL,
.left = NULL,
.right = NULL,
.below = NULL,
.x = 3 * KB_COLUMN_WIDTH_5_KEYS,
.y = 2 * KB_LINE_HEIGHT,
.width = KB_WIDTH_5_KEYS,
.height = KB_HEIGHT_SMALL_KEYS,
.x = 4 * KB_COLUMN_WIDTH_6_KEYS,
.y = 1.75 * KB_LINE_HEIGHT,
.width = KB_WIDTH_6_KEYS,
.height = KB_HEIGHT_BIG_KEYS,
.column = 6,
.row = 3,
.columnbit = ( 1 << 6 ),
.rowbit = ( 1 << 3 ),
.eint = 3},
{.css_class = "arrow",
.label = "",
{.css_class = "button-arrow",
.label = "",
.letter = NULL,
.left = NULL,
.right = NULL,
.below = NULL,
.x = 4 * KB_COLUMN_WIDTH_5_KEYS,
.y = 2 * KB_LINE_HEIGHT,
.width = KB_WIDTH_5_KEYS,
.height = KB_HEIGHT_SMALL_KEYS,
.x = 4.78 * KB_COLUMN_WIDTH_6_KEYS,
.y = 1.25 * KB_LINE_HEIGHT,
.width = KB_WIDTH_6_KEYS,
.height = KB_HEIGHT_BIG_KEYS,
.column = 6,
.row = 4,
.columnbit = ( 1 << 6 ),
.rowbit = ( 1 << 4 ),
.eint = 4},
{.css_class = "function",
{.css_class = "button-function",
.label = "HIST",
.letter = "M",
.left = "CMD",
@ -318,7 +321,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 4 ),
.rowbit = ( 1 << 1 ),
.eint = 1},
{.css_class = "function",
{.css_class = "button-function",
.label = "EVAL",
.letter = "N",
.left = "PRG",
@ -333,7 +336,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 3 ),
.rowbit = ( 1 << 1 ),
.eint = 1},
{.css_class = "function",
{.css_class = "button-function",
.label = "'",
.letter = "O",
.left = "MTRW",
@ -348,7 +351,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 2 ),
.rowbit = ( 1 << 1 ),
.eint = 1},
{.css_class = "function",
{.css_class = "button-function",
.label = "SYMB",
.letter = "P",
.left = "MTH",
@ -363,7 +366,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 1 ),
.rowbit = ( 1 << 1 ),
.eint = 1},
{.css_class = "function",
{.css_class = "button-function",
.label = "",
.letter = NULL,
.left = "DEL",
@ -379,7 +382,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.rowbit = ( 1 << 1 ),
.eint = 1},
{.css_class = "function",
{.css_class = "button-function",
.label = "Y<sup>x</sup>",
.letter = "Q",
.left = "𝑒<sup>x</sup>",
@ -394,11 +397,11 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 4 ),
.rowbit = ( 1 << 2 ),
.eint = 2},
{.css_class = "function",
.label = "𝓍",
{.css_class = "button-function",
.label = "𝔁",
.letter = "R",
.left = "𝓍<sup>2</sup>",
.right = "<sup>x</sup>√𝓎",
.left = "𝔁<sup>2</sup>",
.right = "<sup>x</sup>√y",
.below = NULL,
.x = KB_COLUMN_WIDTH_5_KEYS,
.y = 4 * KB_LINE_HEIGHT,
@ -409,7 +412,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 3 ),
.rowbit = ( 1 << 2 ),
.eint = 2},
{.css_class = "function",
{.css_class = "button-function",
.label = "SIN",
.letter = "S",
.left = "ASIN",
@ -424,7 +427,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 2 ),
.rowbit = ( 1 << 2 ),
.eint = 2},
{.css_class = "function",
{.css_class = "button-function",
.label = "COS",
.letter = "T",
.left = "ACOS",
@ -439,7 +442,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 1 ),
.rowbit = ( 1 << 2 ),
.eint = 2},
{.css_class = "function",
{.css_class = "button-function",
.label = "TAN",
.letter = "U",
.left = "ATAN",
@ -455,10 +458,10 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.rowbit = ( 1 << 2 ),
.eint = 2},
{.css_class = "function",
{.css_class = "button-function",
.label = "EEX",
.letter = "V",
.left = "10<sup>𝓍</sup>",
.left = "10<sup>𝔁</sup>",
.right = "LOG",
.below = NULL,
.x = 0,
@ -470,7 +473,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 4 ),
.rowbit = ( 1 << 3 ),
.eint = 3},
{.css_class = "function",
{.css_class = "button-function",
.label = "+/-",
.letter = "W",
.left = "",
@ -485,8 +488,8 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 3 ),
.rowbit = ( 1 << 3 ),
.eint = 3},
{.css_class = "function",
.label = "𝓍",
{.css_class = "button-function",
.label = "𝔁",
.letter = "X",
.left = "",
.right = "&gt;",
@ -500,8 +503,8 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 2 ),
.rowbit = ( 1 << 3 ),
.eint = 3},
{.css_class = "function",
.label = "1/𝓍",
{.css_class = "button-function",
.label = "1/𝔁",
.letter = "Y",
.left = "",
.right = ">",
@ -515,7 +518,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 1 ),
.rowbit = ( 1 << 3 ),
.eint = 3},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "÷",
.letter = "Z",
.left = "ABS",
@ -531,7 +534,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.rowbit = ( 1 << 3 ),
.eint = 3},
{.css_class = "alpha",
{.css_class = "button-alpha",
.label = "ALPHA",
.letter = NULL,
.left = "USER",
@ -546,7 +549,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = 0,
.rowbit = 0,
.eint = 4},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "7",
.letter = NULL,
.left = "S.SLV",
@ -561,7 +564,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 3 ),
.rowbit = ( 1 << 4 ),
.eint = 4},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "8",
.letter = NULL,
.left = "EXP&amp;LN",
@ -576,7 +579,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 2 ),
.rowbit = ( 1 << 4 ),
.eint = 4},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "9",
.letter = NULL,
.left = "FINANCE",
@ -591,7 +594,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 1 ),
.rowbit = ( 1 << 4 ),
.eint = 4},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "×",
.letter = NULL,
.left = "[ ]",
@ -607,7 +610,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.rowbit = ( 1 << 4 ),
.eint = 4},
{.css_class = "shift-left",
{.css_class = "button-shift-left",
.label = "",
.letter = NULL,
.left = NULL,
@ -622,7 +625,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = 0,
.rowbit = 0,
.eint = 5},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "4",
.letter = NULL,
.left = "CALC",
@ -637,7 +640,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 3 ),
.rowbit = ( 1 << 5 ),
.eint = 5},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "5",
.letter = NULL,
.left = "MATRICES",
@ -652,7 +655,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 2 ),
.rowbit = ( 1 << 5 ),
.eint = 5},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "6",
.letter = NULL,
.left = "CONVERT",
@ -667,7 +670,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 1 ),
.rowbit = ( 1 << 5 ),
.eint = 5},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "-",
.letter = NULL,
.left = "( )",
@ -683,7 +686,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.rowbit = ( 1 << 5 ),
.eint = 5},
{.css_class = "shift-right",
{.css_class = "button-shift-right",
.label = "",
.letter = NULL,
.left = NULL,
@ -698,7 +701,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = 0,
.rowbit = 0,
.eint = 6},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "1",
.letter = NULL,
.left = "ARITH",
@ -713,7 +716,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 3 ),
.rowbit = ( 1 << 6 ),
.eint = 6},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "2",
.letter = NULL,
.left = "DEF",
@ -728,7 +731,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 2 ),
.rowbit = ( 1 << 6 ),
.eint = 6},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "3",
.letter = NULL,
.left = "#",
@ -743,7 +746,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 1 ),
.rowbit = ( 1 << 6 ),
.eint = 6},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "+",
.letter = NULL,
.left = "{ }",
@ -759,7 +762,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.rowbit = ( 1 << 6 ),
.eint = 6},
{.css_class = "core",
{.css_class = "button-core",
.label = "ON",
.letter = NULL,
.left = "CONT",
@ -774,7 +777,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = 0,
.rowbit = 0,
.eint = 0},
{.css_class = "core-number",
{.css_class = "button-core-number",
.label = "0",
.letter = NULL,
.left = "",
@ -789,7 +792,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 3 ),
.rowbit = ( 1 << 7 ),
.eint = 7},
{.css_class = "core",
{.css_class = "button-core",
.label = ".",
.letter = NULL,
.left = ": :",
@ -804,7 +807,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 2 ),
.rowbit = ( 1 << 7 ),
.eint = 7},
{.css_class = "core",
{.css_class = "button-core",
.label = "SPC",
.letter = NULL,
.left = "𝚷",
@ -819,7 +822,7 @@ static x49gp_ui_key_t ui_keys[ NB_KEYS ] = {
.columnbit = ( 1 << 1 ),
.rowbit = ( 1 << 7 ),
.eint = 7},
{.css_class = "core",
{.css_class = "button-core",
.label = "ENTER",
.letter = NULL,
.left = "ANS",
@ -853,35 +856,35 @@ char* css_global = "window {"
" background-image: none;"
" padding: 0px;"
"}"
"button.menu {"
".button-menu {"
" background-color: #a9a9a9;"
"}"
"button.function {"
".button-function {"
" background-color: #696969;"
"}"
"button.arrow {"
".button-arrow {"
" background-color: #e0e0e0;"
"}"
"button.alpha {"
".button-alpha {"
" background-color: #fae82c;"
"}"
"button.core, button.core-number {"
".button-core, .button-core-number {"
" background-color: #080808;"
"}"
"button.alpha .label-key, button.arrow .label-key, button.menu .label-key {"
".button-alpha .label-key {"
" color: #080808;"
"}"
"button.shift-left {"
".button-shift-left {"
" background-color: %s;"
"}"
"button.shift-right {"
".button-shift-right {"
" background-color: #8e2518;"
"}"
"button.shift-left .label-key, button.shift-right .label-key {"
".button-shift-left .label-key, .button-shift-right .label-key, .button-arrow .label-key {"
" font-size: %ipx;"
" color: #080808;"
"}"
"button.core-number .label-key, button.arrow .label-key {"
".button-core-number .label-key {"
" font-size: %ipx;"
"}"
".label-key {"