Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 12-16-2018, 01:50 AM   #1
mergen3107
Wizard
mergen3107 ought to be getting tired of karma fortunes by now.mergen3107 ought to be getting tired of karma fortunes by now.mergen3107 ought to be getting tired of karma fortunes by now.mergen3107 ought to be getting tired of karma fortunes by now.mergen3107 ought to be getting tired of karma fortunes by now.mergen3107 ought to be getting tired of karma fortunes by now.mergen3107 ought to be getting tired of karma fortunes by now.mergen3107 ought to be getting tired of karma fortunes by now.mergen3107 ought to be getting tired of karma fortunes by now.mergen3107 ought to be getting tired of karma fortunes by now.mergen3107 ought to be getting tired of karma fortunes by now.
 
mergen3107's Avatar
 
Posts: 1,059
Karma: 3000026
Join Date: Feb 2012
Location: Cape Canaveral
Device: Kindle Scribe
Wink Kindle Paperwhite 3 KAZAKH Keyboard

Dear MobileRead Kindle Community,

I am happy to tell you that I've built a Kazakh keyboard layout for my Kindle Paperwhite 3 (the original US one, black). Tested only on 5.9.7 with JB.
This method, I believe, can be used to add any other language.

I attach:
— a zip archive with all necessary files to create layouts,
— a ready keyboard image if you need Kazakh right away, and
— screenshots.

Proceed with caution, common sense, and consistency.
I have no responsibility if you brick your device.
Jailbreak required.

BIG THANKS to eureka and kaznelson from the-ebook.org for their implicit help!

INSTRUCTIONS:

Spoiler:

##### PREPARATION OF LAYOUT (Based on Russian one)

What I did:

1) In keymaps file, added "holds" above necessary letters which you want to have diacritics:
Code:
"hold": n,
where n is assigned diacritical number according to table below

2) Created sections for diacritical choices. See corresponding files.

3) Included (2) into the original keymap file's very end, right after last diacritic section,
but before keypad (just to be safe).

4) Added 'nearly equal' sign to diacritic 206 (=), keeping in mind coordinates change to existing diacritic keys.

5) Added symmetrical key for comma, to the left from spacebar.
The key takes x coordinate of spacebar, it is of the same width as that of period key.
The spacebar has new coordinate x equal to plus 1 comma key width of comma, and new width
equal to minus 1 comma key width in corresponding orientation.

6) Repeated (1-5) for landscape. Keep track of commas and curly bracket. Structure is crucially important!

7) Made two separate .gz (gzip) archives of these two keymap files via 7z:
Code:
ru-1072x1448.keymap.gz
ru-1448x1072.keymap.gz
#### INSTALLATION TO KINDLE
(BIG thanks for start-off thoughts to eureka from http://www.the-ebook.org/forum/viewt...026526#1026526 )
It looks complicated, but the logic is simple: compile new keyboard image (a 'driver' so to say), and replace the original one.
This image file is used by Kindle at the very boot.

1) Put keymaps folder with 2 .gz archives to root directory (/mat/us/)
The following actions require usbnet, or ssh, or Kindle terminal:
Line with $ at the beginning are command lines, followed by output (if it is important)

2) Make a backup of keyboard image file
Code:
$ mntroot rw
$ cp /usr/share/keyboard.sqsh /usr/share/keyboard.sqsh.bak
$ mntroot ro
3) Copy all original keyboard files to modify them, e.g.
Code:
$ cp -r /usr/share/keyboard /var/local/kb
4) Replace layouts' files with new layouts
Code:
$ mntroot rw
$ cp /mnt/us/keymaps/ru-1072x1448.keymap.gz /var/local/kb/ru/
$ cp /mnt/us/keymaps/ru-1448x1072.keymap.gz /var/local/kb/ru/
$ mntroot ro
5) Create a new image (or a 'driver'). See 'mksquashfs output' file in the archive for a good reference.
Code:
$ mksquashfs /var/local/kb /var/local/keyboard.sqsh
{should give you no errors. If it complains about availabe space, restart the framework}

6) Check the image by test-mounting it:
Code:
$ mkdir /tmp/kb
$ mount -o loop /var/local/keyboard.sqsh /tmp/kb
$ ls /tmp/kb
ar da de en_GB en_US es es_419 fr fr_CA gu hi
images it ja ko ml mr nl no pt_BR ru sv ta zh_CN
zh_TW
$ umount /tmp/kb && rmdir /tmp/kb
7) Delete the folder
Code:
$ rm -rf /var/local/kb
##### ONCE THE IMAGE FILE READY
(you can start over from here if you have a new keyboard image )

8) Find processes that currently use keyboard folder:
Code:
$ lsof +D/usr/share/keyboard +c0
{gives only list of kb}

9) Stop keyboard process
Code:
$ stop kb
kb stop/waiting
10) Find loop device used for mounting that part of filesystem:
Code:
$ mount | grep ' on /usr/share/keyboard ' | awk '{print $1}'
dev/loop/6
11) Unmount this part of FS and make the device found above free
(path in 2nd command found by 'mount' command. See accroding output file):
Code:
$ umount /usr/share/keyboard
$ umount /chroot/usr/share/keyboard
$ losetup -d /dev/loop/6
12) Move new image to its place
Code:
$ mntroot rw
$ mv /var/local/keyboard.sqsh /usr/share
$ mntroot ro
13) Mount new keyboard image file
Code:
$ mount -o loop=/dev/loop/6,norelatime,nodiratime,noatime -t squashfs /usr/share/keyboard.sqsh /usr/share/keyboard
14) Start keyboard
Code:
$ start kb
15) If you added languages and want them to appear in the menu selection, restart the framework or restart Kindle
Code:
$ restart framework

#### APPENDICES

#### TABLE for diacritics' numbers
Although chosen arbitrarily, the numbers shouldn't repeat any existing diacritics' numbers.
(lowercase, uppercase, original letter/key to be held down, diacritics to be added):
401, 501 а ә
402, 502 ы і
403, 503 н ң
404, 504 г ғ
405, 505 у ү ұ
406, 506 о ө
407, 507 к қ
408, 508 х һ

410 + ± (plus/minus sign)
411 $ ₸ (Tenge sign)
412 - – — (hyphen, en dash, em dash)
(add to) 206 = ≈ (nearly equal sign)

#### SIZES (max screen resolutions is 1072x1448)

Width: 100 (portrait)
137 (landscape)

y-coordinates: -71 (portrait)
-69 (landscape)

x-coordinates:
2 diacritics: 436, 536 (portrait)
588, 725 (landscape)

3 diacritics: 385, 485, 585 (portrait)
519, 656, 793 (landscape)

These keys are already centered.
Thus, if you need more diacritics, start from these two cases (even or odd number),
and add/subtract 1 width from both sides symmetrically for new pair of diacritics.

####



I hope you enjoy your new keyboard!
Attached Thumbnails
Click image for larger version

Name:	screenshot_2018_12_16T01_20_38-0500.png
Views:	267
Size:	41.3 KB
ID:	168389   Click image for larger version

Name:	screenshot_2018_12_16T01_22_46-0500.png
Views:	217
Size:	56.1 KB
ID:	168390  
Attached Files
File Type: zip mergen3107 _ Kindle PW3 Kazakh Keyboard _ Final.zip (12.4 KB, 183 views)
mergen3107 is offline   Reply With Quote
Reply

Tags
kazakh, keyboard, layout, paperwhite 3

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Kindle Paperwhite Arabic Keyboard Aboyaman Kindle Developer's Corner 51 11-13-2017 06:04 PM
Kindle Keyboard or Paperwhite for PDF vaninder Which one should I buy? 15 04-15-2014 10:26 AM
Should I get a paperwhite or stick to my keyboard kindle............. NUT Which one should I buy? 16 06-03-2013 12:19 PM
Moving from a Kindle Keyboard to a Paperwhite Gunrun Amazon Kindle 10 10-25-2012 12:18 AM
Kindle Keyboard upgrade - Paperwhite laknights General Discussions 15 10-14-2012 05:45 AM


All times are GMT -4. The time now is 08:34 AM.


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