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; size_t index = -1;
for (size_t i = 0; i < ALPHABET_SIZE; ++i) for (size_t i = 0; i < ALPHABET_SIZE; ++i)
{ {
if (key_values[i] == value) if (key_values[i].hex == input_hex)
{ {
index = i; index = i;
break; break;
@ -62,7 +62,6 @@ void loop()
if (index == -1) if (index == -1)
return; return;
const String encoded_value = key_values[shift(index)]; const String encoded_letter = key_values[shift(index)].view;
// encoded_value вот тут надо как-то превратить в букву // отправить encoded_letter на экран
// и вывести на экран, хз как пока, надо курить
} }

View File

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