View Single Post
Old 05-15-2017, 07:40 AM   #53
GeoffR
Wizard
GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.GeoffR ought to be getting tired of karma fortunes by now.
 
GeoffR's Avatar
 
Posts: 3,821
Karma: 19162882
Join Date: Nov 2012
Location: Te Riu-a-Māui
Device: Kobo Glo
Keyboard template patches

Here are template patches for the three different keyboard layouts. I am assuming the layouts haven't changed, so let me know if they have.

To create a keyboard patch just replace the right-most value in each of the replace_string lines. Only 1- or 2-byte characters can be used, so keyboards for some languages are not possible.

Layout for Mini/Touch/Glo/Aura:
Code:
æ œ þ š ž ŀ ƒ μ ª º
à è ì ò ù á é í ó ú ý
â ê î ô û ä ë ï ö ü ÿ
  ã ñ õ å ß ç đ ø ij ł
`Keyboard template - Mini/Touch/Glo/Aura` (paste into libnickel.so.1.0.0.patch):
Spoiler:
Code:
<Patch>
patch_name = `Keyboard template - Mini/Touch/Glo/Aura`
patch_enable = `no`
# patch_group = `Keyboard alternatives`
#
## Replaces keys on the Extended Latin keypad with 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.
#
# Enable uppercase for `ß` (sharp s) key
replace_bytes = 708434, 00 26, 01 26
# Enable uppercase for `ƒ` (script f) key
replace_bytes = 708414, 80 F0 01 00, 01 20 01 20
# Replace layout sign
find_base_address = `ÉÀÇ`
replace_string = 0000, `ÉÀÇ`, `ÉÀÇ`
# Change keyboard layout
find_base_address = `ý\0ÿ\0š\0ž\0`
# Top row, left to right (10 keys):
replace_string = 000C, `æ`, `æ`
replace_string = 000F, `œ`, `œ`
replace_string = 0012, `þ`, `þ`
replace_string = 0006, `š`, `š`
replace_string = 0009, `ž`, `ž`
replace_string = 0018, `ŀ`, `ŀ`
replace_string = FFFFFF8C, `ƒ`, `ƒ`
replace_string = 001B, `μ`, `μ`
replace_string = 001E, `ª`, `ª`
replace_string = 0021, `º`, `º`
# Second row, left to right (11 keys):
replace_string = 0024, `à`, `à`
replace_string = 0036, `è`, `è`
replace_string = 0042, `ì`, `ì`
replace_string = 0045, `ò`, `ò`
replace_string = 0048, `ù`, `ù`
replace_string = 0027, `á`, `á`
replace_string = 0039, `é`, `é`
replace_string = 004B, `í`, `í`
replace_string = 004E, `ó`, `ó`
replace_string = 0051, `ú`, `ú`
replace_string = 0000, `ý`, `ý`
# Third row, left to right (11 keys):
replace_string = 002A, `â`, `â`
replace_string = 003C, `ê`, `ê`
replace_string = 0060, `î`, `î`
replace_string = 0054, `ô`, `ô`
replace_string = 0066, `û`, `û`
replace_string = 002D, `ä`, `ä`
replace_string = 003F, `ë`, `ë`
replace_string = 0063, `ï`, `ï`
replace_string = 0057, `ö`, `ö`
replace_string = 0069, `ü`, `ü`
replace_string = 0003, `ÿ`, `ÿ`
# Fourth row, left to right (10 keys):
replace_string = 0030, `ã`, `ã`
replace_string = 006C, `ñ`, `ñ`
replace_string = 005A, `õ`, `õ`
replace_string = 0033, `å`, `å`
replace_string = FFFFFF89, `ß`, `ß`
replace_string = 006F, `ç`, `ç`
replace_string = 0072, `đ`, `đ`
replace_string = 005D, `ø`, `ø`
replace_string = 0015, `ij`, `ij`
replace_string = 0075, `ł`, `ł`
</Patch>


Layout for AuraHD/GloHD/H2O (Top row cannot be changed.)
Code:
1 2 3 4 5 6 7 8 9 0
æ à è ì ò ù á é í ó ú ý
œ â ê î ô û ä ë ï ö ü ÿ
    ã ñ õ å ß ç đ ø ij ł
`Keyboard template - AuraHD/GloHD/H2O` (paste into libnickel.so.1.0.0.patch):
Spoiler:
Code:
<Patch>
patch_name = `Keyboard template - AuraHD/GloHD/H2O`
patch_enable = `no`
# patch_group = `Keyboard alternatives`
#
## Replaces keys on the Extended Latin keypad with 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.
#
# Enable uppercase for `ß` (sharp s) key
replace_bytes = 708434, 00 26, 01 26
# Replace layout sign
find_base_address = `ÉÀÇ`
replace_string = 0000, `ÉÀÇ`, `ÉÀÇ`
# Change keyboard layout
find_base_address = `ý\0ÿ\0š\0ž\0`
# (Top row cannot be changed.)
# Second row, left to right (12 keys):
replace_string = 000C, `æ`, `æ`
replace_string = 0024, `à`, `à`
replace_string = 0036, `è`, `è`
replace_string = 0042, `ì`, `ì`
replace_string = 0045, `ò`, `ò`
replace_string = 0048, `ù`, `ù`
replace_string = 0027, `á`, `á`
replace_string = 0039, `é`, `é`
replace_string = 004B, `í`, `í`
replace_string = 004E, `ó`, `ó`
replace_string = 0051, `ú`, `ú`
replace_string = 0000, `ý`, `ý`
# Third row, left to right (12 keys):
replace_string = 000F, `œ`, `œ`
replace_string = 002A, `â`, `â`
replace_string = 003C, `ê`, `ê`
replace_string = 0060, `î`, `î`
replace_string = 0054, `ô`, `ô`
replace_string = 0066, `û`, `û`
replace_string = 002D, `ä`, `ä`
replace_string = 003F, `ë`, `ë`
replace_string = 0063, `ï`, `ï`
replace_string = 0057, `ö`, `ö`
replace_string = 0069, `ü`, `ü`
replace_string = 0003, `ÿ`, `ÿ`
# Fourth row, left to right (10 keys):
replace_string = 0030, `ã`, `ã`
replace_string = 006C, `ñ`, `ñ`
replace_string = 005A, `õ`, `õ`
replace_string = 0033, `å`, `å`
replace_string = FFFFFF89, `ß`, `ß`
replace_string = 006F, `ç`, `ç`
replace_string = 0072, `đ`, `đ`
replace_string = 005D, `ø`, `ø`
replace_string = 0015, `ij`, `ij`
replace_string = 0075, `ł`, `ł`
</Patch>


Layout for AuraOne:
Code:
ý ÿ š ž æ œ þ ß ij ŀ
à á â ä ã å è é ê ë
ò ó ô ö õ ø ì í î ï
  ù ú û ü ñ ç đ ł
`Keyboard template - AuraOne` (paste into libnickel.so.1.0.0.patch):
Spoiler:
Code:
<Patch>
patch_name = `Keyboard template - AuraOne`
patch_enable = `no`
# patch_group = `Keyboard alternatives`
#
## Replaces keys on the Extended Latin keypad with 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.
#
# Enable uppercase for `ß` (sharp s) key
replace_bytes = 708434, 00 26, 01 26
# Replace layout sign
find_base_address = `ÉÀÇ`
replace_string = 0000, `ÉÀÇ`, `ÉÀÇ`
# Change keyboard layout
find_base_address = `ý\0ÿ\0š\0ž\0`
# Top row, left to right (10 keys):
replace_string = 0000, `ý`, `ý`
replace_string = 0003, `ÿ`, `ÿ`
replace_string = 0006, `š`, `š`
replace_string = 0009, `ž`, `ž`
replace_string = 000C, `æ`, `æ`
replace_string = 000F, `œ`, `œ`
replace_string = 0012, `þ`, `þ`
replace_string = FFFFFF89, `ß`, `ß`
replace_string = 0015, `ij`, `ij`
replace_string = 0018, `ŀ`, `ŀ`
# Second row, left to right (10 keys):
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, `ë`, `ë`
# Third row, left to right (10 keys):
replace_string = 0045, `ò`, `ò`
replace_string = 004E, `ó`, `ó`
replace_string = 0054, `ô`, `ô`
replace_string = 0057, `ö`, `ö`
replace_string = 005A, `õ`, `õ`
replace_string = 005D, `ø`, `ø`
replace_string = 0042, `ì`, `ì`
replace_string = 004B, `í`, `í`
replace_string = 0060, `î`, `î`
replace_string = 0063, `ï`, `ï`
# Fourth row, left to right (8 keys):
replace_string = 0048, `ù`, `ù`
replace_string = 0051, `ú`, `ú`
replace_string = 0066, `û`, `û`
replace_string = 0069, `ü`, `ü`
replace_string = 006C, `ñ`, `ñ`
replace_string = 006F, `ç`, `ç`
replace_string = 0072, `đ`, `đ`
replace_string = 0075, `ł`, `ł`
</Patch>

Last edited by GeoffR; 05-15-2017 at 07:50 AM. Reason: spelling
GeoffR is offline   Reply With Quote