Replace strings for hex with Key structures

This commit is contained in:
NaiJi ✨ 2022-03-17 19:27:47 +03:00
parent e6b8d65949
commit 2bdc3f93c8
2 changed files with 38 additions and 33 deletions

View File

@ -10,12 +10,12 @@ PS2KeyAdvanced keyboard;
// в её алфавитный индекс;
//
// возвращает индекс буквы
size_t toKeyIndex(const String& value)
size_t toKeyIndex(const String& input_hex)
{
size_t index = -1;
for (size_t i = 0; i < ALPHABET_SIZE; ++i)
{
if (key_values[i] == value)
if (key_values[i].hex == input_hex)
{
index = i;
break;
@ -62,7 +62,6 @@ void loop()
if (index == -1)
return;
const String encoded_value = key_values[shift(index)];
// encoded_value вот тут надо как-то превратить в букву
// и вывести на экран, хз как пока, надо курить
const String encoded_letter = key_values[shift(index)].view;
// отправить encoded_letter на экран
}

View File

@ -1,35 +1,41 @@
#define ALPHABET_SIZE 26
#define WHEELS_AMOUNT 3
// Латинский алфавит в HEX представлении
const String key_values[ALPHABET_SIZE] =
struct Key
{
"51", // Code51 - q
"57", // Code57 - w
"45", // Code45 - e
"52", // Code52 - r
"54", // Code54 - t
"59", // Code59 - y
"55", // Code55 - u
"49", // Code49 - i
"4F", // Code4F - o
"50", // Code50 - p
"41", // Code41 - a
"53", // Code53 - s
"44", // Code44 - d
"46", // Code46 - f
"47", // Code47 - g
"48", // Code48 - h
"4A", // Code4A - j
"4B", // Code4B - k
"4C", // Code4C - l
"5A", // Code5A - z
"58", // Code58 - x
"43", // Code43 - c
"56", // Code56 - v
"42", // Code42 - b
"4E", // Code4E - n
"4D" // Code4D - m
String hex; // HEX представление символа
String view; // его удобочитаемая форма
};
// Латинский алфавит в HEX представлении
const Key key_values[ALPHABET_SIZE] =
{
{"51", "q"}, // Code51 - q
{"57", "w"}, // Code57 - w
{"45", "e"}, // Code45 - e
{"52", "r"}, // Code52 - r
{"54", "t"}, // Code54 - t
{"59", "y"}, // Code59 - y
{"55", "u"}, // Code55 - u
{"49", "i"}, // Code49 - i
{"4F", "o"}, // Code4F - o
{"50", "p"}, // Code50 - p
{"41", "a"}, // Code41 - a
{"53", "s"}, // Code53 - s
{"44", "d"}, // Code44 - d
{"46", "f"}, // Code46 - f
{"47", "g"}, // Code47 - g
{"48", "h"}, // Code48 - h
{"4A", "j"}, // Code4A - j
{"4B", "k"}, // Code4B - k
{"4C", "l"}, // Code4C - l
{"5A", "z"}, // Code5A - z
{"58", "x"}, // Code58 - x
{"43", "c"}, // Code43 - c
{"56", "v"}, // Code56 - v
{"42", "b"}, // Code42 - b
{"4E", "n"}, // Code4E - n
{"4D", "m"} // Code4D - m
};
// Сдвиг в алфавите для каждого из "дисков".