I've modified the LatinIME kbd_qwerty.xml file to use the Dvorak keyboard layout.
It seems to work pretty well on my phone, a Nexus One running Cyanogenmod 6 Nightly 203.
I backed up the original LatinIME as LatinIME.orig incase anything went wrong, and then used adb to push this to /system/app (make it writable first).
I make no guarantee that this will work for anybody else, I just know it (mostly) works for me.
I would like to be able to create my own local with this layout xml file, but I couldn't figure out at all how to do that, so I just settled with modifying the kbd_qwerty.xml file. If anybody can explain how to create another input language or local, or show me a guide on how to do it, it would be much appreciated.
Installing this will remove the qwerty layout. It will also screw up your "input languages" option in your settings. In fact, if you go to that in the options, you won't be able to use the keyboard until you reboot.
So yes, it's very buggy, but this is the first time I've ever tried to do anything in Android, so it's the best I could do. Any help on making this a finished product would be much appreciated.
Screenshot here. Still playing with the top row, might add more symbols.
184.72.239.143/mu/4ac00b2c-3b48-86f5.jpg
First of all, do not get too excited, you will still need a binary dictionary file (main.dict) to implement in the keyboard.
If you do not know how to get this, I cannot help you as I am pretty sure all the ones I know off are copyrighted.
If you on the other hand know how to find one, it is dead easy implementing the dictionary file in this keyboard.
I used the Gingerbread keyboard from LeeDroid where the & symbol has been fixed (with thanks to -snq).
Using 7-Zip or WinRAR, navigate to /system/app and open LatinIME.apk (still in 7-Zip or WinRAR)
Navigate to res/raw and replace the main.dict with your custom one.
Close up and flash the zip in recovery after making nandroid and toggling verification.
Remember that I am not responsible for any damage you may encounter flashing edited apks!
I have only tested this with Danish, but it should in theory work with any language.
If anyone know of any binary dictionaries that are free to use, you are welcome to post them in this thread.
If you want to contribute making one yourself, then follow the guidelines from google code:
http://code.google.com/p/softkeyboard/wiki/BinaryDictionaries
You are very welcome to post them in this thread afterwards.
Just a quick thought:
Might it be possible to use the word databae from the Hunspell project (http://hunspell.sourceforge.net/)? They are opensource. We would have to think how to transfer the data to google's format. I am very bad in scripting, but I will spend some thoughts on this.
LK
For a dutch dictionary, check this post
http://forum.xda-developers.com/showpost.php?p=11454619&postcount=203
Further details
Hi. I am also looking for a danish spell-check (for CM7 on Legend)
What is the purpose in opening the file you have uploaded and navigate to the LatinIME.apk file? When I open it, it wants to install it.
Another noob question, where to find "res/raw" directory?
Thanks in advance.
How to add/remove languages to swype.
Preparation
* Get a tool capable of working in zip files. I use WinRar. WinZip, Total Commander or anything else should also work.
* Get a Swype Version which works on your device (QVGA for Galaxy 3). Install and test it! This is your base - it has to run propperly so you customize it. You can find swype keyboard swype inside a stock rom.
* Check your swype version & download a swype (With any resolution).
* When i refer to "dummyfile.apk", that is always meant without quotation marks.
Customization
* When you find your swype that suits to your device, we start. I refer to it now as "myswype.apk"
* Open "myswype.apk" in WinRar/Total Commander/Winzip/WhateverYouLike - we wont unpack it, we work inside it.
* Delete the "META-INF/" Folder inside "myswype.apk"
* Go to "Assets/Files" inside "myswype.apk"
* Each standard language consists of 3 Files here: "Language.htm", "Language-full.htm", "Language.le" - some complicated languages like korean may consist of up to 5 files.
* Delete the Languages you dont need.
* Dont delete anything else! Important files are "languages.lst", "license.dat", the two "Numbers-XX-Latin1.zkb.le" files, the four "QwertX-XX-Latin1.zkb.le" files and all .png's!
* Now copy additional languages from the other swype with the languages you want here. Of course it is in the same location: "theotherswype.apk/assets/files/" - remember: 3 files per language!
* Open "languages.lst" in any text editor - even notepad will do! (I use Notepad++)
* Write a list of Languages you wanna use here. The name to use is the name of the .htm file without .htm. This is case sensitive!
* The Contents of the original language.lst as an example: "EnglishUS,Spanish,Italian,PortuguesePT,German"
* Open "helplanguages.lst" in any text editor and repeat above steps
* Delete unneeded keyboards from "assets/keyboards/". The "SwypeRef*" are QWERTY default, the rest is self-explaining like QWERTY or AZERTY. There is no way to see what language needs what keyboard. You either know or you have to test.
* Delete chinese help-file from "res/raw/dict_pinyin.mp3". It's only needed if you use chinese.
* Recheck all your steps and close your zip-tool!
Optional: Customize Skin and Sound
* If you wanna change the skin, modify the .png files at "myswype.apk/assets/keyboards" - the other .png files in the .apk are only for tutorial and help.
* There are some skins at XDA forum, which already made it to a custom .apk file.
* The one and only soundfile, played when typing or finishing a word, is located at "myswype.apk/res/raw/beep.mp3" - change this if you like
Finalization
* Download a sign tool from xda (Auto-apk-tool v1.0.7 its nice)
* Open it and press "10". Drag "myswype.apk" to the command and press enter.
* A file will be created (myswype_signed.apk).
* Thats it! you are done! install the .apk and have a nice day!
Troubleshooting
* If you find your language not working, that usually got one of 3 Reasons:
* You messed something up. Recheck your "language.lst" and "helperlanguage.lst" file and see if you have all needed language files in "assets/files"
* Your language is not allowed by our included license file. That happens a lot with new languages like the Chinese in 2.10.52. Users reported workarounds with renaming the language to some supported language. Like renaming Serbian to Croation.
* The language files you got are not supported by the latest swype version. Rule of thumb is, 1.x swype language files wont work with 2.x language files, but 2.x language files are compatible with each other. As far as i know this rule applys in most but not all cases. So search for another swype version containing your desired language and try that file.
* We obtained another license file. Right now, it is unknown which languages it supports, but it is from swype 2.7 asia galaxy s. the license we currently use is 2.4.44 based. give it a try, it might work with your language. please also give feedback, which language works/doesnt work. copy it it "assets/files/" and overwrite the exiting license.dat
* Swype languages from swype 2.XX dont work on swype 3.XX!
kyrillos13 said:
* If you wanna change the skin, modify the .png files at "myswype.apk/assets/keyboards" - the other .png files in the .apk are only for tutorial and help.
Click to expand...
Click to collapse
Kyrillos,
is it enough to resize the keyboard images from the other APK, or is there other trickery?
debaj said:
Kyrillos,
is it enough to resize the keyboard images from the other APK, or is there other trickery?
Click to expand...
Click to collapse
I havent tried it but it will work
I have installed Swype 3.xx from official site and procedure. Licensed.
Worked at first but after reboot, it started giving FCs. Nothing else can be done with anything related to swype now. I do have the apk backed up. Using that backed up apk, i re-installed it but now it says Invalid License and will work with limited functionality. which is basically no swyping at all!!
How do I get it to work again???
I did a search for "Auto-apk-tool v1.0.7" but results showed me only earlier versions.
Where can I get the version you mentioned?
jinxskore said:
I have installed Swype 3.xx from official site and procedure. Licensed.
Worked at first but after reboot, it started giving FCs. Nothing else can be done with anything related to swype now. I do have the apk backed up. Using that backed up apk, i re-installed it but now it says Invalid License and will work with limited functionality. which is basically no swyping at all!!
How do I get it to work again???
I did a search for "Auto-apk-tool v1.0.7" but results showed me only earlier versions.
Where can I get the version you mentioned?
Click to expand...
Click to collapse
Hm, you installed the swype.apk? sign apk with the auto apk tool http://forum.xda-developers.com/showpost.php?p=13254186&postcount=2
Thanks. Will try n let u know...
used your guide to add engish uk to wqvga on us english only. it worked perfectly have now integrated this uk only swype into my jpq! ty!
kyrillos13 said:
Hm, you installed the swype.apk? sign apk with the auto apk tool http://forum.xda-developers.com/showpost.php?p=13254186&postcount=2
Click to expand...
Click to collapse
Not working.
Used AutoApkTool you provided. Signed my Swype 3.xx.apk. Got a resulting Swype 3.xx_signed.apk.
Copied to SD.
Then using Root Explorer, copied apk to /system/app
Went to Locale & Text...
Saw Swype Settings (but the was no "Enable Swype" checkbox)
Tried entering Swype Settings. Gives force close.
Uninstalled!!
Went to SD. Tried installing directly by clicking on the Signed.apk.
Installed like any normal app.
Went to Locale & Text...
Saw Swype Settings (this time, there was "Enable Swype" checkbox also)
Checked it.
Entered Swype Settings. Language, audio & vibration were grayed out, cant select (not that i want them though )
Went to text input box, new message compose.
Selected Swype as Input Method.
BACK TO SQUARE ONE. "Invalid License. Will have limited functionality"
Cant SWYPE at all!!!
Yeah. If you take swype beta, you need a licence (which mean you need a cracked swype 3 qvga). So you can take one from a rom, or you should find one (type "mobilism swype" in google)
kyrillos13 said:
Yeah. If you take swype beta, you need a licence (which mean you need a cracked swype 3 qvga). So you can take one from a rom, or you should find one (type "mobilism swype" in google)
Click to expand...
Click to collapse
haha. Oh. is it? LOL
KK. will try that again.
Would I need to sign the new apk from mobism?
And what install method would you prefer?
Click install or Root Explorer method?
Thanks for previous help and thanks in advance for reply.
kyrillos13 said:
Yeah. If you take swype beta, you need a licence (which mean you need a cracked swype 3 qvga). So you can take one from a rom, or you should find one (type "mobilism swype" in google)
Click to expand...
Click to collapse
haha. Oh. is it? LOL
KK. will try that again.
Would I need to sign the new apk from mobism?
And what install method would you prefer?
Click install or Root Explorer method?
Thanks for previous help and thanks in advance for reply.
EDIT:
It works! It works! It works!!!! Thanks man. U the MAN!!!
But I didnt use the QVGA, I used the WQVGA one.
Didnt sign it again as I saw it was already signed.
Installed it like any other app.
Exellent guide. 5 stars . Thanks
how can I get Swype Keyboard v3.25 from your rom? Do I have to install it first and then find swype on my Galaxy 3? Can sbd upload it here?
I know this thread is probably forgotten (which is a shame, its great) but I feel like responding regardless.
1. Extracting Swype from a rom:
windows- "Disk internals linux reader" can do apparently do it for windows. Thanks -Vinne2-
linux-extract factroryfs.rfs from the rom .tar. in a terminal cd to the folder with the file, then run (as root)
Code:
#mkdir mount
#mount -o -loop factoryfs.rfs mount
now the folder mount will be like the system folder in yourt phone, so go to the folder app and copy Swype.apk somewhere else.
mac - I don't have mac experience, but I think there might be a method similar to the one above for linux
Phone
Flash the rom, copy the file from /system/app/ (of course)
Put factoryfs.rfs on your sd card, do the same as for linux (isn't it great when your smartphone can do something that windows cant )
2. Installing your SwypeIf you want to install it as a system app, you also have to put libSwypeCore.so in /system/lib. You can find libSwypeCore.so in the Swype apk in the lib folder. If you do this you can also delete the lib folder from the apk to save more space!
You can install it like a normal app (will go to data).
3. Signing the apk / -linuxThere is no auto apk tool for linux so I made this script (well I didn't actually make it, I stripped down APK manager, so credits to Daneshm90( java is required, and I guess a chmod 755 may be necessary.
Extract, place the apk as Swype.apk in the "Swype-signing" folder, then run the script
Code:
$chmod 755 Script.sh
$./Script.sh
P.S. There was something else I wanted to say,... oh yeah, I dont know if I can post Swype here so if somebody wants it, I can send them the one from kyrillos's cm7/gingy rom (the 20+mb one with a lot of languages), just pm me and hopefully I'll see it soon afterwards .
I still have the feeling that I'm forgetting something
eidt: forgot the attachment
edit 2: forgot that our phone is linux based, updated the part about getting Swype.apk from a rom
stubborn_d0nkey said:
I know this thread is probably forgotten (which is a shame, its great) but I feel like responding regardless.
1. Extracting Swype from a rom:
windows- I dont know of any method. I dont think windows can access .rfs files.
linux-extract fa(...)
Click to expand...
Click to collapse
Try "Disk internals linux reader". http://forum.xda-developers.com/showpost.php?p=21569967&postcount=298
since I'm using Galaxy Tab 7.7, don't really know where to ask but here goes... My phone have Swype and I'd like to add additional language in Swype. How can I do this?
Followed all the steps, but
getting force close when trying to use
If i am trying to install from apk(and not by file delete and copy) I get "application not installed.
What can I do?
I want to add hebrew to my swype on Galaxy 3
Hey chaps,
the Swype that comes with any Samsung is version 3.26.92.39150, it comes with many language options but with no arabic. This guy has an earleir version of swype with arabic. http://forum.xda-developers.com/showthread.php?t=1588906
Can you please do me an apk file with arabic files from the link above into a swype of version 3.26.92.39150? Thanks. I tried the steps from the 1st post, but it aint working. I even tried this but did not work:
Rename arabic files to greek ones, and replace the original greek files, in a plan to select greek, but get arabic. but it aint working.
Please advise.
I have a Samsung Note 3 with Swype that allows me to download some additional languages, does anyone know where those language files are located? Thanks.
awdrifter said:
I have a Samsung Note 3 with Swype that allows me to download some additional languages, does anyone know where those language files are located? Thanks.
Click to expand...
Click to collapse
same question.
I'm trying to add portuguese language using swype "add language" function but every try show me "error" so I want to download manually the language dictionary and also add manually to the direction/file where could be located and be "readable" by swype.
Thanks in advance for your help
So I've been flashing the newest Shift Deck ICS prebeta ROMs, and I've always had to flash a separate keypad fix (that I found on XDA) for the physical keyboard to correct some of the keys. No big deal. However, even with the keypad fix, there are still some keys that are wrong, very minor keys, but I'd like to change them just for my OCD's sake. I thought to myself, "why not just open up the keypad fix .zip file and take a look inside, maybe you can change them yourself!"
Subsequently, I found a "speedy-keypad.kcm" file that had exactly what I was looking for, all the keys mapped out with their base, shift, caps lock, and alt values that I could change. "Easy," I thought. I changed the values and zipped the folders back up. I tried to flash the new .zip from recovery, and the installation aborted. So, from what I understand, you can't just zip the folders up, you have to compile it somehow and probably sign the package, newb mistake.
I've done some Googling but I can't find an obvious solution. Does anyone have a guide on how to compile things like this for a tech savvy person who has never developed Android software? I have the Android SDK, for what its worth. I would post this in the Development subforum, but I've been a long-time lurker and don't have sufficient access yet.
tl;dr I want to compile my own physical keypad fix for the HTC Evo Shift 4G on Ice Cream Sandwich (via Shift Deck ICS PreBeta). How do I go about doing this?
Thank you!
TimeBomb006 said:
So I've been flashing the newest Shift Deck ICS prebeta ROMs, and I've always had to flash a separate keypad fix (that I found on XDA) for the physical keyboard to correct some of the keys. No big deal. However, even with the keypad fix, there are still some keys that are wrong, very minor keys, but I'd like to change them just for my OCD's sake. I thought to myself, "why not just open up the keypad fix .zip file and take a look inside, maybe you can change them yourself!"
Subsequently, I found a "speedy-keypad.kcm" file that had exactly what I was looking for, all the keys mapped out with their base, shift, caps lock, and alt values that I could change. "Easy," I thought. I changed the values and zipped the folders back up. I tried to flash the new .zip from recovery, and the installation aborted. So, from what I understand, you can't just zip the folders up, you have to compile it somehow and probably sign the package, newb mistake.
I've done some Googling but I can't find an obvious solution. Does anyone have a guide on how to compile things like this for a tech savvy person who has never developed Android software? I have the Android SDK, for what its worth. I would post this in the Development subforum, but I've been a long-time lurker and don't have sufficient access yet.
tl;dr I want to compile my own physical keypad fix for the HTC Evo Shift 4G on Ice Cream Sandwich (via Shift Deck ICS PreBeta). How do I go about doing this?
Thank you!
Click to expand...
Click to collapse
Easiest way to do this is simply pull the speedy-keypad.kcm file. Keep the original unmodified keypadfix.zip. Make your edits to the file and using 7zip open the original keypadfix.zip then overwrite the previous speedy-keypad.kcm (drag and drop). So basically just replace the old speedy-keypad.kcm with your modified one with the same name but use 7zip not winzip. Winzip by default incorrect compression in my experience.
Sent from my PG06100 using xda premium
Cool, I'll give that a try, although I probably should have mentioned I'm on OS X, so I just use the built-in compression utility. Follow-up to come!
EDIT: How would I associate '.com' with a key? I see some keys have Unicode characters attached to them, but I don't know how I'd get .com in there. The following code doesn't work, at least for me:
key PERIOD {
label, number: '.'
base: '.'
shift: '>'
ctrl, alt, meta: '.com'
}
Hello just wondering if theres a way to change this. I had bought the phone through Amazon.de and it has a qwertz set up for the keyboard. Is there a way to swap the Z and Y?
Sent from my MB632 using XDA
HI,
Have the same question, is it possible to switch Y - Z behaviour via software?
Thanks!
Someone can help?
You have to root your phone and use button remapper or use another rom that had qwerty I also have qwertz changet to qwerty
Sent from my DROID Pro using xda app-developers app
Hey mulat666, check PM pls
So, finally I managed to find the solution. Button Remapper didn't work for me as it was possible only to modify 3 buttons (although rooted phone) and none of those was keyboard one.
I have switched the behaviour Y-Z and 6 and _ are at proper places now, i.e. "6" in a row with other numbers and "_" on the left bottom, next to shift. So full QWERTY now from QWERTZ layout on Motorola Pro+
How to:
1. Root your phone - solution found here: http://ivehadmine.blogspot.com/2012/05/root-motorola-pro-plus.html worked quick and with perfect result
2. In order to view and change system files I used Root Browser Lite (you need to give all superuser permissions)
3. Navigate to (use Root Browser) "system/usr/keylayout" and you'll see several files ending with"_keypad.kl". You will need to find out which one is responsible for your layout (e.g. mine was "surf_keypad.kl"). I modified each file one by one and after restarting device was verifying if change in respective file caused any change in QWERTZ layout. Before any modifications backup original files (e.g.copy to other destination but not in system folders)
3. Modification in .kl file is quick and simple - using text editor switch Y and Z positions, so now key 21 is assigned to Z and key 44 to Y. Save file and restart device (Quick boot app makes things quicker)
4. If you do it correctly, after restart you will have "semi" QWERTY layout. It means that pressing physical Z you will get Y, however alt+Z will result in "_" not "6". Same story with Y. To fix that you'll need to modify .bin file.
5. Go to "system/usr/keychars" and again you'll see several files with ".kcm.bin" extension. You have to find the one with same name as .kl file which you modified in step #3. In my case it was "surf_keypad.kcm.bin"
6. I modified ".kcm.bin" file on PC using XVI32 Hex editor (can be found here: http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm#download). After opening file modify following strings:
"Z 6 z Z 6 6 6" to "Z _ z Z _ _ 6" and "Y _ y Y _ _ 7" to "Y 6 y Y 6 6 7"
Save file and replace original system one. Remember to backup/copy original file! Restart device,
After reboot you should get QWERTY layout with proper 6 and _ placement :fingers-crossed:
Hi,
Is your solution should work on a droid 3 or 4 ?