View Single Post
Old 03-16-2025, 06:56 PM   #1236
chubacca
Junior Member
chubacca began at the beginning.
 
Posts: 4
Karma: 10
Join Date: Mar 2025
Location: Ukraine
Device: Tolino Shine 5
Hi Guys, I just made the Cyrillic keyboard patch to work for Tolino Shine 5, so maybe Clara BW/Color will also be supported.

Thanks to grep, I found the order of additional symbols:
Code:
grep -ar "ÉÀÇ"
# and in the output
߃¡¿«»¢•°ýÿšžæœþijŀàáâäãåèéêëòóôöõøìíîïùúûüñçđłăąćěęńůřşśţźż`goKeyspaceKeyÉÀÇ
Previously, the patch failed due to the wrong offset after the first line, there was a gap, but in the example above we see that the à goes next to ŀ, so there's always a 4-byte offset.

Just in case, here's my version for Ukrainian layout:
Spoiler:

Cyrillic Keyboard (GloHD/ClaraHD/AuraOne/H2O2):
# Updated by Bald Eagle for 4.18.13737 (https://www.mobileread.com/forums/sh...5&postcount=84)
- Enabled: yes
- PatchGroup: Keyboard alternatives
- Description: |
Replaces keys on the Extended Latin keypad with Cyrillic alternatives.

Note that after the device boots, the keypad might just show blank squares
until after the first book has been opened.
Also note that long-pressing keys on the base keypad will no longer show
the appropriate list of Extended Latin keys.
# Replace layout sign
- FindBaseAddressString: "ÉÀÇ"
- ReplaceString: {Offset: 0, Find: "ÉÀÇ", Replace: "АБВ"}
# Change keyboard layout
- FindBaseAddressString: "ý\0\0ÿ\0\0š\0\0ž\0\0"
# Top row, left to right (10 keys):
- ReplaceString: {Offset: 0x00, Find: "ý\0", Replace: "'"}
- ReplaceString: {Offset: 0x04, Find: "ÿ\0", Replace: "є"}
- ReplaceString: {Offset: 0x08, Find: "š\0", Replace: "ä"}
- ReplaceString: {Offset: 0x0C, Find: "ž\0", Replace: "ö"}
- ReplaceString: {Offset: 0x10, Find: "æ\0", Replace: "ü"}
- ReplaceString: {Offset: 0x14, Find: "œ\0", Replace: "µ"}
- ReplaceString: {Offset: 0x18, Find: "þ\0", Replace: "ю"}
#- ReplaceString: {Offset: -56, Find: "ß\0", Replace: ","}
- ReplaceString: {Offset: 0x1C, Find: "ij\0", Replace: "х"}
- ReplaceString: {Offset: 0x20, Find: "ŀ\0", Replace: "ї"}
# Second row, left to right (10 keys):
- ReplaceString: {Offset: 0x24, Find: "à\0", Replace: "й"}
- ReplaceString: {Offset: 0x28, Find: "á\0", Replace: "ц"}
- ReplaceString: {Offset: 0x2C, Find: "â\0", Replace: "у"}
- ReplaceString: {Offset: 0x30, Find: "ä\0", Replace: "к"}
- ReplaceString: {Offset: 0x34, Find: "ã\0", Replace: "е"}
- ReplaceString: {Offset: 0x38, Find: "å\0", Replace: "н"}
- ReplaceString: {Offset: 0x3C, Find: "è\0", Replace: "г"}
- ReplaceString: {Offset: 0x40, Find: "é\0", Replace: "ш"}
- ReplaceString: {Offset: 0x44, Find: "ê\0", Replace: "щ"}
- ReplaceString: {Offset: 0x48, Find: "ë\0", Replace: "з"}
# Third row, left to right (10 keys):0x4C
- ReplaceString: {Offset: 0x4C, Find: "ò\0", Replace: "ф"}
- ReplaceString: {Offset: 0x50, Find: "ó\0", Replace: "і"}
- ReplaceString: {Offset: 0x54, Find: "ô\0", Replace: "в"}
- ReplaceString: {Offset: 0x58, Find: "ö\0", Replace: "а"}
- ReplaceString: {Offset: 0x5C, Find: "õ\0", Replace: "п"}
- ReplaceString: {Offset: 0x60, Find: "ø\0", Replace: "р"}
- ReplaceString: {Offset: 0x64, Find: "ì\0", Replace: "о"}
- ReplaceString: {Offset: 0x68, Find: "í\0", Replace: "л"}
- ReplaceString: {Offset: 0x6C, Find: "î\0", Replace: "д"}
- ReplaceString: {Offset: 0x70, Find: "ï\0", Replace: "ж"}
# Fourth row, left to right (8 keys):
- ReplaceString: {Offset: 0x74, Find: "ù\0", Replace: "я"}
- ReplaceString: {Offset: 0x78, Find: "ú\0", Replace: "ч"}
- ReplaceString: {Offset: 0x7C, Find: "û\0", Replace: "с"}
- ReplaceString: {Offset: 0x80, Find: "ü\0", Replace: "м"}
- ReplaceString: {Offset: 0x84, Find: "ñ\0", Replace: "и"}
- ReplaceString: {Offset: 0x88, Find: "ç\0", Replace: "т"}
- ReplaceString: {Offset: 0x8C, Find: "đ\0", Replace: "ь"}
- ReplaceString: {Offset: 0x90, Find: "ł\0", Replace: "б"}
chubacca is offline   Reply With Quote