Wizard
Posts: 3,821
Karma: 19162882
Join Date: Nov 2012
Location: Te Riu-a-Māui
Device: Kobo Glo
|
Quote:
Originally Posted by tshering
The main thing is that the encoding has changed. Previously one character was 4 byte, now one character is 3 byte.
|
Thanks tshering, with that I've adapted the keyboard patches below (all go in libnickel.so.1.0.0.patch):
(Edit: these are untested, probably don't work on the Aura One.)
Cyrillic keyboard:
Spoiler:
Code:
<Patch>
patch_name = `Cyrillic keyboard`
patch_enable = `no`
# patch_group = `Keyboard alternatives`
#
## Replaces keys on the Extended Latin keypad with Cyrillic alternatives.
#
# Enable uppercase for `ß` key
replace_bytes = 6FFB40, 00 26, 01 26
# Replace layout sign
find_base_address = `ÉÀÇ`
replace_string = 0000, `ÉÀÇ`, `абв`
# Change keyboard layout
find_base_address = `æ\0à\0è\0ì\0`
# Second row, left to right:
replace_string = 0000, `æ`, `й`
replace_string = 0003, `à`, `ц`
replace_string = 0006, `è`, `у`
replace_string = 0009, `ì`, `к`
replace_string = 000C, `ò`, `е`
replace_string = 000F, `ù`, `н`
replace_string = 0012, `á`, `г`
replace_string = 0015, `é`, `ш`
replace_string = 0018, `í`, `щ`
replace_string = 001B, `ó`, `з`
replace_string = 001E, `ú`, `х`
replace_string = 0021, `ý`, `ъ`
# Third row, left to right:
replace_string = 0024, `œ`, `ф`
replace_string = 0027, `â`, `ы`
replace_string = 002A, `ê`, `в`
replace_string = 002D, `î`, `а`
replace_string = 0030, `ô`, `п`
replace_string = 0033, `û`, `р`
replace_string = 0036, `ä`, `о`
replace_string = 0039, `ë`, `л`
replace_string = 003C, `ï`, `д`
replace_string = 003F, `ö`, `ж`
replace_string = 0042, `ü`, `э`
replace_string = 0045, `ÿ`, `ё`
# Bottom row, left to right:
replace_string = 0048, `ã`, `я`
replace_string = 004B, `ñ`, `ч`
replace_string = 004E, `õ`, `с`
replace_string = 0051, `å`, `м`
replace_string = 0054, `ß`, `и`
replace_string = 0057, `ç`, `т`
replace_string = 005A, `đ`, `ь`
replace_string = 005D, `ø`, `б`
replace_string = 0060, `ij`, `ю`
replace_string = 0063, `ł`, `.`
</Patch>
Arabic keyboard:
Spoiler:
Code:
<Patch>
patch_name = `Arabic keyboard`
patch_enable = `no`
# Multi-version patch: 4.0.7523 - 4.0.7523+
# patch_group = `Keyboard alternatives`
#
## Replaces keys on the Extended Latin keypad with Arabic alternatives.
## Note that after the device boots, the keypad will just show blank squares
## until the first book has been opened.
#
# Replace layout sign
find_base_address = `ÉÀÇ`
replace_string = 0000, `ÉÀÇ`, `ع`
# Change keyboard layout
find_base_address = `æ\0à\0è\0ì\0`
# Second row, left to right:
replace_string = 0000, `æ`, `ذ`
replace_string = 0003, `à`, `ص`
replace_string = 0006, `è`, `ث`
replace_string = 0009, `ì`, `ق`
replace_string = 000C, `ò`, `ف`
replace_string = 000F, `ù`, `غ`
replace_string = 0012, `á`, `ع`
replace_string = 0015, `é`, `ه`
replace_string = 0018, `í`, `خ`
replace_string = 001B, `ó`, `ح`
replace_string = 001E, `ú`, `ج`
replace_string = 0021, `ý`, `د`
# Third row, left to right:
replace_string = 0024, `œ`, `ض`
replace_string = 0027, `â`, `ش`
replace_string = 002A, `ê`, `س`
replace_string = 002D, `î`, `ي`
replace_string = 0030, `ô`, `ب`
replace_string = 0033, `û`, `ل`
replace_string = 0036, `ä`, `ا`
replace_string = 0039, `ë`, `ت`
replace_string = 003C, `ï`, `ن`
replace_string = 003F, `ö`, `م`
replace_string = 0042, `ü`, `ك`
replace_string = 0045, `ÿ`, `ط`
# Bottom row, left to right:
replace_string = 0048, `ã`, `ئ`
replace_string = 004B, `ñ`, `ء`
replace_string = 004E, `õ`, `ؤ`
replace_string = 0051, `å`, `ر`
replace_string = 0054, `ß`, `ى`
replace_string = 0057, `ç`, `ة`
replace_string = 005A, `đ`, `و`
replace_string = 005D, `ø`, `ز`
replace_string = 0060, `ij`, `ظ`
replace_string = 0063, `ł`, `.`
</Patch>
Hebrew keyboard:
Spoiler:
Code:
<Patch>
patch_name = `Hebrew keyboard`
patch_enable = `no`
# Multi-version patch: 4.0.7523 - 4.0.7523+
# patch_group = `Keyboard alternatives`
#
## Replaces keys on the Extended Latin keypad with Hebrew alternatives.
## Note that after the device boots, the keypad will just show blank squares
## until the first book has been opened.
#
# Replace layout sign
find_base_address = `ÉÀÇ`
replace_string = 0000, `ÉÀÇ`, `אב`
# Change keyboard layout
find_base_address = `æ\0à\0è\0ì\0`
# Second row, left to right:
replace_string = 0000, `æ`, `@`
replace_string = 0003, `à`, `'`
replace_string = 0006, `è`, `/`
replace_string = 0009, `ì`, `ק`
replace_string = 000C, `ò`, `ר`
replace_string = 000F, `ù`, `א`
replace_string = 0012, `á`, `ט`
replace_string = 0015, `é`, `ו`
replace_string = 0018, `í`, `ן`
replace_string = 001B, `ó`, `ם`
replace_string = 001E, `ú`, `פ`
replace_string = 0021, `ý`, `-`
# Third row, left to right:
replace_string = 0024, `œ`, `,`
replace_string = 0027, `â`, `ש`
replace_string = 002A, `ê`, `ד`
replace_string = 002D, `î`, `ג`
replace_string = 0030, `ô`, `כ`
replace_string = 0033, `û`, `ע`
replace_string = 0036, `ä`, `י`
replace_string = 0039, `ë`, `ח`
replace_string = 003C, `ï`, `ל`
replace_string = 003F, `ö`, `ך`
replace_string = 0042, `ü`, `ף`
replace_string = 0045, `ÿ`, `_`
# Bottom row, left to right:
replace_string = 0048, `ã`, `ז`
replace_string = 004B, `ñ`, `ס`
replace_string = 004E, `õ`, `ב`
replace_string = 0051, `å`, `ה`
replace_string = 0054, `ß`, `נ`
replace_string = 0057, `ç`, `מ`
replace_string = 005A, `đ`, `צ`
replace_string = 005D, `ø`, `ת`
replace_string = 0060, `ij`, `ץ`
replace_string = 0063, `ł`, `.`
</Patch>
Turkish keyboard:
Spoiler:
Code:
<Patch>
patch_name = `Turkish keyboard`
patch_enable = `no`
# patch_group = `Keyboard alternatives`
#
## Replaces keys on the Extended Latin keypad with Turkish alternatives.
#
# Enable uppercase for `ß` key
replace_bytes = 6FFB40, 00 26, 01 26
# Replace layout sign
find_base_address = `ÉÀÇ`
replace_string = 0000, `ÉÀÇ`, `EN/TR`
# Change keyboard layout
find_base_address = `æ\0à\0è\0ì\0`
# Second row, left to right:
replace_string = 0000, `æ`, `!`
replace_string = 0003, `à`, `q`
replace_string = 0006, `è`, `w`
replace_string = 0009, `ì`, `e`
replace_string = 000C, `ò`, `r`
replace_string = 000F, `ù`, `t`
replace_string = 0012, `á`, `y`
replace_string = 0015, `é`, `u`
replace_string = 0018, `í`, `ı`
replace_string = 001B, `ó`, `o`
replace_string = 001E, `ú`, `p`
replace_string = 0021, `ý`, `ü`
# Third row, left to right:
#replace_string = 0024, `œ\0`, `’`
replace_string = 0027, `â`, `a`
replace_string = 002A, `ê`, `s`
replace_string = 002D, `î`, `d`
replace_string = 0030, `ô`, `f`
replace_string = 0033, `û`, `g`
replace_string = 0036, `ä`, `h`
replace_string = 0039, `ë`, `j`
replace_string = 003C, `ï`, `k`
replace_string = 003F, `ö`, `l`
replace_string = 0042, `ü`, `ş`
replace_string = 0045, `ÿ`, `ğ`
# Bottom row, left to right:
replace_string = 0048, `ã`, `z`
replace_string = 004B, `ñ`, `x`
replace_string = 004E, `õ`, `c`
replace_string = 0051, `å`, `v`
replace_string = 0054, `ß`, `b`
replace_string = 0057, `ç`, `n`
replace_string = 005A, `đ`, `m`
replace_string = 005D, `ø`, `ö`
replace_string = 0060, `ij`, `ç`
replace_string = 0063, `ł`, `i`
</Patch>
Bulgarian keyboard:
Spoiler:
Code:
<Patch>
patch_name = `Bulgarian keyboard`
patch_enable = `no`
# patch_group = `Keyboard alternatives`
#
## Replaces keys on the Extended Latin keypad with Bulgarian alternatives.
#
# Enable uppercase for `ß` key
replace_bytes = 6FFB40, 00 26, 01 26
# Replace layout sign
find_base_address = `ÉÀÇ`
replace_string = 0000, `ÉÀÇ`, `абв`
# Change keyboard layout
find_base_address = `æ\0à\0è\0ì\0`
# Second row, left to right:
replace_string = 0000, `æ`, `!`
replace_string = 0003, `à`, `я`
replace_string = 0006, `è`, `в`
replace_string = 0009, `ì`, `е`
replace_string = 000C, `ò`, `р`
replace_string = 000F, `ù`, `т`
replace_string = 0012, `á`, `ъ`
replace_string = 0015, `é`, `у`
replace_string = 0018, `í`, `и`
replace_string = 001B, `ó`, `о`
replace_string = 001E, `ú`, `п`
replace_string = 0021, `ý`, `ч`
# Third row, left to right:
replace_string = 0024, `œ`, `?`
replace_string = 0027, `â`, `а`
replace_string = 002A, `ê`, `с`
replace_string = 002D, `î`, `д`
replace_string = 0030, `ô`, `ф`
replace_string = 0033, `û`, `г`
replace_string = 0036, `ä`, `х`
replace_string = 0039, `ë`, `й`
replace_string = 003C, `ï`, `к`
replace_string = 003F, `ö`, `л`
replace_string = 0042, `ü`, `ш`
replace_string = 0045, `ÿ`, `щ`
# Bottom row, left to right:
replace_string = 0048, `ã`, `з`
replace_string = 004B, `ñ`, `ь`
replace_string = 004E, `õ`, `ц`
replace_string = 0051, `å`, `ж`
replace_string = 0054, `ß`, `б`
replace_string = 0057, `ç`, `н`
replace_string = 005A, `đ`, `м`
replace_string = 005D, `ø`, `ю`
replace_string = 0060, `ij`, `,`
replace_string = 0063, `ł`, `.`
</Patch>
Greek keyboard:
Spoiler:
Code:
<Patch>
patch_name = `Greek keyboard`
patch_enable = `no`
# patch_group = `Keyboard alternatives`
#
## Replaces keys on the Extended Latin keypad with Greek alternatives.
#
# Enable uppercase for `ß` key
replace_bytes = 6FFB40, 00 26, 01 26
# Replace layout sign
find_base_address = `ÉÀÇ`
replace_string = 0000, `ÉÀÇ`, `EN/GR`
# Change keyboard layout
find_base_address = `æ\0à\0è\0ì\0`
# Second row, left to right:
replace_string = 0000, `æ`, `!`
replace_string = 0003, `à`, `ά`
replace_string = 0006, `è`, `ς`
replace_string = 0009, `ì`, `ε`
replace_string = 000C, `ò`, `ρ`
replace_string = 000F, `ù`, `τ`
replace_string = 0012, `á`, `υ`
replace_string = 0015, `é`, `θ`
replace_string = 0018, `í`, `ι`
replace_string = 001B, `ó`, `ο`
replace_string = 001E, `ú`, `π`
replace_string = 0021, `ý`, `-`
# Third row, left to right:
replace_string = 0024, `œ`, `?`
replace_string = 0027, `â`, `α`
replace_string = 002A, `ê`, `σ`
replace_string = 002D, `î`, `δ`
replace_string = 0030, `ô`, `φ`
replace_string = 0033, `û`, `γ`
replace_string = 0036, `ä`, `η`
replace_string = 0039, `ë`, `ξ`
replace_string = 003C, `ï`, `κ`
replace_string = 003F, `ö`, `λ`
replace_string = 0042, `ü`, `ή`
replace_string = 0045, `ÿ`, `ώ`
# Bottom row, left to right:
replace_string = 0048, `ã`, `ζ`
replace_string = 004B, `ñ`, `χ`
replace_string = 004E, `õ`, `ψ`
replace_string = 0051, `å`, `ω`
replace_string = 0054, `ß`, `β`
replace_string = 0057, `ç`, `ν`
replace_string = 005A, `đ`, `μ`
replace_string = 005D, `ø`, `,`
replace_string = 0060, `ij`, `.`
replace_string = 0063, `ł`, `ύ`
</Patch>
Things to check:
Does the upper-case still work on the `ß` key (for those languages with upper case.)
I don't think 3-byte codes will work anymore, this affects one key on the Turkish keyboard.
Is the Aura One keyboard layout the same as the H2O/GloHD?
The extra keys on the top row of the Touch/Glo/Mini/Aura can't be replaced anymore.
Edit: if anyone is running this firmware on an Aura 2ed. or a Touch/Glo/Mini/Aura could you describe or post a screenshot of the keyboard layout? Is it different to the layout shown in the screenshots in this post?
Last edited by GeoffR; 10-04-2016 at 09:31 PM.
Reason: Aura 2ed. layout?
|