Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > Kobo Reader > Kobo Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 09-29-2016, 06:51 AM   #16
oren64
I need a chapter break
oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.
 
oren64's Avatar
 
Posts: 4,042
Karma: 56058267
Join Date: Mar 2015
Location: Israel
Device: Kobo Glo
Quote:
Originally Posted by jamalau View Post
@GeoffR
Hallo, can you include the new Patches in your patcher, i dont know what i have to do with patch-nickel-css and makepatcher! Its easyer for me to use your patcher. Thank you!
Just copy the code inside spoiler to nickel.patch.
oren64 is offline   Reply With Quote
Old 10-01-2016, 09:32 PM   #17
dmapr
Evangelist
dmapr ought to be getting tired of karma fortunes by now.dmapr ought to be getting tired of karma fortunes by now.dmapr ought to be getting tired of karma fortunes by now.dmapr ought to be getting tired of karma fortunes by now.dmapr ought to be getting tired of karma fortunes by now.dmapr ought to be getting tired of karma fortunes by now.dmapr ought to be getting tired of karma fortunes by now.dmapr ought to be getting tired of karma fortunes by now.dmapr ought to be getting tired of karma fortunes by now.dmapr ought to be getting tired of karma fortunes by now.dmapr ought to be getting tired of karma fortunes by now.
 
Posts: 469
Karma: 600816
Join Date: Sep 2009
Device: Kobo Aura HD, Kobo Aura One
Quote:
Originally Posted by GeoffR View Post
The following patches are still missing:
Spoiler:

libadobe.so.patch:
`Remove PDF page turn arrows at left and right edges of page`

libnickel.so.1.0.0.patch:
`Brightness fine control`
`ePub adjustable top/bottom margins`
`Custom page refresh options (1,8,32,Chapter -- Aura only)`
`Custom page refresh options (1,32,99,Chapter -- Aura only)`
`Remove system fonts in Reader list`
`Remove non-system fonts in Reader list`
`Cyrillic keyboard`
`Arabic keyboard`
`Hebrew keyboard`
`Turkish keyboard`
`Bulgarian keyboard`
`Customise PinchGestureRecognizer`
`Margins fine tuning`
`Custom Sleep/Power-off timeouts`
`Change dicthtml strings to micthtml`

I might add some of these as I get time, but others will have to wait until a firmware version is released for other devices including my Glo. But if anyone else has patches for firmware 4.0.7523 post them here and I'll include them.
@GeoffR,

what's the prognosis for the keyboard patches? Is it just a matter of time and firmware availability or has Kobo changed something in a way that may prevent you from being able to discover them at all?
dmapr is offline   Reply With Quote
Advert
Old 10-01-2016, 09:51 PM   #18
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
Quote:
Originally Posted by dmapr View Post
@GeoffR,

what's the prognosis for the keyboard patches? Is it just a matter of time and firmware availability or has Kobo changed something in a way that may prevent you from being able to discover them at all?
I'm not sure yet, something has changed to break the old keyboard patches, but I haven't looked very hard yet so it might just be something simple.

Finding the brightness file control patch will probably have to start from scratch, the light controls have changed completely.

The sleep/power timeouts patch was broken because the strings that are used for the menu have been optimised by the compiler, they now overlap in memory to save space, and so some of the menu items can no longer be changed independently. A more limited patch that just changes some of the menu options should still be possible.
GeoffR is offline   Reply With Quote
Old 10-02-2016, 04:21 AM   #19
JSWolf
Resident Curmudgeon
JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.JSWolf ought to be getting tired of karma fortunes by now.
 
JSWolf's Avatar
 
Posts: 79,654
Karma: 145864619
Join Date: Nov 2006
Location: Roslindale, Massachusetts
Device: Kobo Libra 2, Kobo Aura H2O, PRS-650, PRS-T1, nook STR, PW3
To be honest, given that Kobo is supposed to be coming out with a new firmware soon, I would leave the keyboard patches alone and wait for the new firmware before trying to find them.
JSWolf is offline   Reply With Quote
Old 10-02-2016, 04:33 AM   #20
tshering
Wizard
tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.
 
Posts: 3,489
Karma: 2914715
Join Date: Jun 2012
Device: kobo touch
Quote:
Originally Posted by GeoffR View Post
I'm not sure yet, something has changed to break the old keyboard patches, but I haven't looked very hard yet so it might just be something simple.
The main thing is that the encoding has changed. Previously one character was 4 byte, now one character is 3 byte.
tshering is offline   Reply With Quote
Advert
Old 10-02-2016, 11:38 PM   #21
davidfor
Grand Sorcerer
davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.
 
Posts: 24,905
Karma: 47303824
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
Quote:
Originally Posted by JSWolf View Post
To be honest, given that Kobo is supposed to be coming out with a new firmware soon, I would leave the keyboard patches alone and wait for the new firmware before trying to find them.
Except that Kobo have changed enough things in this firmware that the more work done on it now will mean the faster the patches for next firmware will appear. And as you are someone who's first post after a firmware release is "When will the patches be available?", it's in your interest to encourage this as much as possible.
davidfor is offline   Reply With Quote
Old 10-03-2016, 01:18 AM   #22
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
Quote:
Originally Posted by tshering View Post
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?
GeoffR is offline   Reply With Quote
Old 10-03-2016, 03:51 AM   #23
tshering
Wizard
tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.tshering ought to be getting tired of karma fortunes by now.
 
Posts: 3,489
Karma: 2914715
Join Date: Jun 2012
Device: kobo touch
Quote:
Originally Posted by GeoffR View Post
The extra keys on the top row of the Touch/Glo/Mini/Aura can't be replaced anymore.
You might take a look at the modification of bad eyes patch for FW 4.0.7523. In part 3, I was to lazy to figure out which Arabic character should be there, so I simply took for the time being "x" as a placeholder.


Spoiler:
<patch>
name=keyboard Arabic (part 1)
enabled=false
position=autodetect
action=replace_utf8chars_3
oldpart=æàèìòùáéíóúýœâêîôûäëïöüÿãñõåßçđøijł
newpart=ذصثقفغعهخحجدضشسيبلاتنمكطئءؤرىةوزظ.
combineparts
</patch>

<patch>
name=keyboard Arabic (part 2)
enabled=false
position=autodetect
action=replace_utf8chars_3
oldpart=šžþŀμªº
newpart=أإآ,()-
combineparts
</patch>

<patch>
name=keyboard Arabic (part 3)
note=will the anker for the base address hold for some firmwares?
enabled=false
setbaseaddress=[with View = QWidget*]\x00\xc6\x92
position=17
action=replace_utf8chars_3
oldpart=ƒ
newpart=x
combineparts
</patch>

Last edited by tshering; 10-03-2016 at 11:06 AM.
tshering is offline   Reply With Quote
Old 10-03-2016, 10:47 AM   #24
Bald Eagle
Connoisseur
Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.
 
Bald Eagle's Avatar
 
Posts: 93
Karma: 1228255
Join Date: May 2009
Device: Aura H2O, Aura One, Libra Colour
Extended characters layout on the KA1 is completely different from the one on the H2O (and, presumably, all others, too).
Attached Thumbnails
Click image for larger version

Name:	lower.jpg
Views:	298
Size:	18.0 KB
ID:	152133   Click image for larger version

Name:	upper.jpg
Views:	361
Size:	19.4 KB
ID:	152134  
Bald Eagle is offline   Reply With Quote
Old 10-04-2016, 09:29 PM   #25
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
Quote:
Originally Posted by Bald Eagle View Post
Extended characters layout on the KA1 is completely different from the one on the H2O (and, presumably, all others, too).
Thanks, so the keyboard patches in post #22 won't work properly on the Aura One.

I don't know how that layout is constructed though, so what would help is if someone with an Aura One could try one of the keyboard patches in post #22 and see what happens: does it have no effect at all, or does it change some of the keys but result in a jumbled layout?
GeoffR is offline   Reply With Quote
Old 10-05-2016, 02:59 AM   #26
Bald Eagle
Connoisseur
Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.
 
Bald Eagle's Avatar
 
Posts: 93
Karma: 1228255
Join Date: May 2009
Device: Aura H2O, Aura One, Libra Colour
I did not even try to apply the patch because I don't think that
Code:
find_base_address = `æ\0à\0è\0ì\0`
would work with the KA1 layout.
Hmm, maybe
Code:
find_base_address = `ý\0à\0á\0â\0`
What will go wrong if there is no match?
Bald Eagle is offline   Reply With Quote
Old 10-05-2016, 03:21 AM   #27
oren64
I need a chapter break
oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.oren64 ought to be getting tired of karma fortunes by now.
 
oren64's Avatar
 
Posts: 4,042
Karma: 56058267
Join Date: Mar 2015
Location: Israel
Device: Kobo Glo
Quote:
Hmm, maybe
Code:
find_base_address = `ý\0à\0á\0â\0`
What will go wrong if there is no match?
You get an ERROR because it can't find the address, and it will not create KoboRoot.tgz file.

Last edited by oren64; 10-05-2016 at 04:26 AM.
oren64 is offline   Reply With Quote
Old 10-05-2016, 05:39 PM   #28
Bald Eagle
Connoisseur
Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.
 
Bald Eagle's Avatar
 
Posts: 93
Karma: 1228255
Join Date: May 2009
Device: Aura H2O, Aura One, Libra Colour
I stand corrected, the patch applies with the old find_base_address statement.

With the new key order the cyrillic patch now reads as follows:

Spoiler:
Code:
<Patch>
patch_name = `Cyrillic keyboard`
patch_enable = `yes`
# 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`
# Top row
replace_string = 0021, `ý`, `ё`
# overflow from third row
replace_string = 0045, `ÿ`, `э`
# overflow from bottom row
replace_string = 0054, `ß`, `ю`
# overflow from second row
replace_string = 0060, `ij`, `х`
replace_string = 0E8F, `ŀ`, `ъ`
# Second row, left to right:
replace_string = 0003, `à`, `й`
replace_string = 0012, `á`, `ц`
replace_string = 0027, `â`, `у`
replace_string = 0036, `ä`, `к`
replace_string = 0048, `ã`, `е`
replace_string = 0051, `å`, `н`
replace_string = 0006, `è`, `г`
replace_string = 0015, `é`, `ш`
replace_string = 002A, `ê`, `щ`
replace_string = 0039, `ë`, `з`
# Third row, left to right:
replace_string = 000C, `ò`, `ф`
replace_string = 001B, `ó`, `ы`
replace_string = 0030, `ô`, `в`
replace_string = 003F, `ö`, `а`
replace_string = 004E, `õ`, `п`
replace_string = 005D, `ø`, `р`
replace_string = 0009, `ì`, `о`
replace_string = 0018, `í`, `л`
replace_string = 002D, `î`, `д`
replace_string = 003C, `ï`, `ж`
# Bottom row, left to right:
replace_string = 000F, `ù`, `я`
replace_string = 001E, `ú`, `ч`
replace_string = 0033, `û`, `с`
replace_string = 0042, `ü`, `м`
replace_string = 004B, `ñ`, `и`
replace_string = 0057, `ç`, `т`
replace_string = 005A, `đ`, `ь`
replace_string = 0063, `ł`, `б`
</Patch>


Since the lines are shorter than a standard keyboard the second, third and fourth row end keys flow over into the top row, the second to the right of top row, the third to the left and the fourth to the right again, as follows

Code:
ё э(from 3rd) [unchanged keys] ю(from 4th) х ъ(from 2nd)
й ц у к е н г ш щ з
ф ы в а п р о л д ж
  я ч с м и т ь б
Bald Eagle is offline   Reply With Quote
Old 10-05-2016, 11:00 PM   #29
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
Thanks for testing that Bald Eagle.

With such different layouts for different devices, maintaining patches for each combination of language and device is going to be a lot of work. As well, the Aura One keyboard has fewer keys than the other devices, and I don't know how the layout of the custom keyboards should be changed to fit.

This is a Keyboard template patch for the Aura One, it just needs the replacement keys to be filled in according to this pattern:
Code:
Row:  Position
---:-----------
Top: 0123456789
2nd: 0123456789
3rd: 0123456789
Bot:  12345678
Keyboard template (Aura One), paste into libnickel.so.1.0.0.patch:
Spoiler:
Code:
<Patch>
patch_name = `Keyboard template (Aura One)`
patch_enable = `yes`
# patch_group = `Keyboard alternatives`
#
## Replaces keys on the Extended Latin keypad.
#
# Aura One keyboard layout:
#
# Row:  Position
# ---:-----------
# Top: 0123456789
# 2nd: 0123456789
# 3rd: 0123456789
# Bot:  12345678
#  
# Untested: Enable uppercase for `ß` key (Top row, pos 7)
#replace_bytes = 6FFB40, 00 26, 01 26
#
# Replace layout sign (Cyrillic example)
find_base_address = `ÉÀÇ`
replace_string = 0000, `ÉÀÇ`, `абв`
# Change keyboard layout
find_base_address = `š\0ž\0þ\0ŀ\0`
# Top row, pos 2-3
replace_string = 0000, `š`, `2`
replace_string = 0003, `ž`, `3`
# Top row, pos 6
replace_string = 0006, `þ`, `6`
# Top row, pos 9
replace_string = 0009, `ŀ`, `9`
#
find_base_address = `æ\0à\0è\0ì\0`
# Top row, pos 0-1
replace_string = 0021, `ý`, `0`
replace_string = 0045, `ÿ`, `1`
# Top row, pos 4-5
replace_string = 0000, `æ`, `4`
replace_string = 0024, `œ`, `5`
# Top row, pos 7-8
replace_string = 0054, `ß`, `7`
replace_string = 0060, `ij`, `8`
# Second row, left to right:
replace_string = 0003, `à`, `0`
replace_string = 0012, `á`, `1`
replace_string = 0027, `â`, `2`
replace_string = 0036, `ä`, `3`
replace_string = 0048, `ã`, `4`
replace_string = 0051, `å`, `5`
replace_string = 0006, `è`, `6`
replace_string = 0015, `é`, `7`
replace_string = 002A, `ê`, `8`
replace_string = 0039, `ë`, `9`
# Third row, left to right:
replace_string = 000C, `ò`, `0`
replace_string = 001B, `ó`, `1`
replace_string = 0030, `ô`, `2`
replace_string = 003F, `ö`, `3`
replace_string = 004E, `õ`, `4`
replace_string = 005D, `ø`, `5`
replace_string = 0009, `ì`, `6`
replace_string = 0018, `í`, `7`
replace_string = 002D, `î`, `8`
replace_string = 003C, `ï`, `9`
# Bottom row, left to right:
replace_string = 000F, `ù`, `1`
replace_string = 001E, `ú`, `2`
replace_string = 0033, `û`, `3`
replace_string = 0042, `ü`, `4`
replace_string = 004B, `ñ`, `5`
replace_string = 0057, `ç`, `6`
replace_string = 005A, `đ`, `7`
replace_string = 0063, `ł`, `8`
</Patch>
GeoffR is offline   Reply With Quote
Old 10-06-2016, 03:10 AM   #30
Bald Eagle
Connoisseur
Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.Bald Eagle ought to be getting tired of karma fortunes by now.
 
Bald Eagle's Avatar
 
Posts: 93
Karma: 1228255
Join Date: May 2009
Device: Aura H2O, Aura One, Libra Colour
Hello GeoffR,

thank you for identifying the base address and the remaining characters of the top row.
I thought about that only after I had already posted my layout patch, by then it was already late at night and I moved it to 'later'. Now I can customize the top row a bit more and move in some characters I like better than the ones there.

Your patch collection is awesome and makes the Kobos even better than they already where.

Thanks a lot!
Bald Eagle is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Patching firmware 4.0.7523 JSWolf Kobo Developer's Corner 97 09-30-2016 01:09 PM
Instructions for patching firmware 3.16.0 GeoffR Kobo Developer's Corner 74 08-12-2015 02:12 PM
Instructions for patching firmware 3.11.0 GeoffR Kobo Developer's Corner 226 06-01-2015 05:32 AM
Instructions for patching firmware 3.3.x, 3.4.x, 3.5.x GeoffR Kobo Developer's Corner 285 08-27-2014 10:06 AM
Instructions for patching firmware 3.1.1 GeoffR Kobo Developer's Corner 64 04-18-2014 01:23 PM


All times are GMT -4. The time now is 06:38 AM.


MobileRead.com is a privately owned, operated and funded community.