Related
I'm now taking a break from the work on this mod due to serious lack of time. I've spent a huge amount of time on this mod already and also shared all my code and methods. I hope the community has benefited from this. You are all free to do whatever you want with my code if you want to make further improvements. I hope I can find some time to continue this little project later this summer. Thanks for all the encouraging words, feature suggestions and bug reports. Couldn't have done this without you all
Credits:
The old low res hack is based on the version posted by Cyanogen.
The new low res and high res hack is based on the version posted by modaco.
JesusFreke for smali/baksmali.
Couldn't do this without them.
Features:
(Compacted this list to save space, the point is that there are many features not to make this list readable )
Customizable language settings, Smileys hacked into the hide key (see screen shots), Swap Smiley/12# button, Custom smileys, Custom word candidate bar that raises the keyboards so dictionary won't cover the app you type in, Position of word candidate list is saved if you long press and move it, Left align word candidate list, Prediction in fields with own suggestions (search bar etc.), Prediction in fields that sets the filter flag, Prediction in URL fields, Disable automatic capitalization, Play sounds in silent mode, Set sound level, Custom sounds, Automatic space insertion, Enable prediction with cursor in or adjacent to existing words (QWERTY only), Enable a space bar key in URL keyboard, Support for German QWERTZ hard KB layout, Show voice input button for all keyboards with a settings button, Disable key preview popup, Use Google development server for voice (supports German but isn't online 24/7), MANY HTC bugs fixed, the changelog for a few of them, Droid SE X10 landscape support, User dictionary import/export, User dictionary accepts any character, not just HTC approved ones, Custom vibration length, Character replacement (can remove diacritic chars), Pipe key in qwerty mode, Move cursor with volume keys (for Sony Ericsson Xperia X10), Easier access to language specific chars in qwerty popups, Configurable gesture (swipe) actions, Gesture actions: Delete word, delete sentence, shift, hide kb, cursor after word, voice input, switch language, switch keyboard, Use phone keypad / compact qwerty symbol kb for QWERTY, Toggle accept dict. suggestion by space / period / comma, Fast language and keyboard switching by gestures, Version tracking by aTrackDog, Custom domains for .com key
And not least:
My source code is now available for your own modding pleasure
All hacks are configurable in the settings dialog.
Changelog for latest versions
Code:
/*
* 27
* Fixed: T9 is now disabled when adding words manually (sorry, missed that bug report on v26b1)
*/
/*
* 26
* Separate version for Froyo (2.2) due to changed voice input API:s
* Fixed: User dictionary should now be saved correctly on Sense ROMs (if installed correctly!)
* Fixed: Slightly better SMS detection
* Fixed: Custom popup domains will work without enabling custom popup time (caused by typo)
* Fixed: Smiley insertion right after period removed first smiley char
* Fixed: Settings not remembered for some locales
* Fixed: Tweaked space insertion around parentheses some
* Fixed: Fixed "Predict in Browser" option on Froyo (workaround for Android issue #8563)
* Fixed: Space deleted after period insertion and use of chars from symbol KB (HTC bug)
* Fixed: No auto add words didn't always work
* Fixed: Smiley button didn't work on symbol KB
* New: Calibration is considered for all layouts
* New: Modify button height/width on all layouts
* New: € £ added to f popup
* New: T9 toggle settings now remembered
* New: Export/import settings to/from SD card
* New: Pipe added to alt. symbol keyboard (page 4)
* Gesture: Cursor before word
*/
/*
* 25
* New: Move lang. specific popup chars closer to pressed key (help me support more langs!)
* Option: Replace chars only for SMS
* Option: Custom domains for .com key
* Option: Insert period on double space
* Option: Toggle accept dict. suggestion by 12# key
* Option: Configurable custom sounds
* Option: Change language with volume keys
* Option: Adjust portrait QWERTY key width
* Changed: Delete last sentence breaks on comma again.
* Fixed: Space insertion disabled for URI fields (causing problems)
* Fixed: Space insertion tweaked for French
* Fixed: Removed Romanian since not working (blame HTC)
* Fixed: Don't insert space if prediction is disabled in browser
* Fixed: Predict in URL working again.
* Fixed: Sound for HW KB working again
* Gesture: Toggle QWERTY prediction on/off
*/
Download
v27
High resolution version
High resolution version (Froyo/2.2)
Low resolution version for Android 1.6 and up
Low resolution version for Android 1.5 (no voice input)
Instructions:
Download and unzip (not flashable update.zip!)
Install the two apks (HTC_IME & Clicker) using your favorite method (via a file manager or adb install -r). Sense users shouldn't (and needn't) install Clicker.
There is no need to push anything to /system
Go to Menu, Settings, Language & Keyboard. Activate "HTC_IME mod"
To change keyboard, long press on lower left key on stock keyboard or any input field. Select input method in the menu.
See note below if you have earlier versions than v22 installed already!
Requirements:
Android
Compatible resolution screen
Compatible CPU. Sorry can't say which they are but I know some Samsung phones are not supported. This is due to the included HTC native prediction library.
Configuring my hacks
All configuration is now done in the settings dialog. No need for config files on SD card (v22 and up).
Some options modifies stuff that are set when the keyboard first loads. Thus you need to kill it for changes to take effect (or reboot).
Upgrade notes
Starting with v22 I now use my own java package name. This means that it can be installed in parallel with stock HTC_IME (no root needed on Sense).
Settings from v21 and earlier can't be read from v22 and up. You must enter them again. The user dictionary can be exported from v21 and imported into v22. Both versions can coexist during this process. This inconvenience will only happen between v21 and newer. Sorry for this, but this change will enable me do to more advanced mods in the future.
v23 has a hires Clicker. You should install it if not using Sense
Source code
Interested in how I do this? I've decided to share the sources for the mod so that the project can live on when I get tired of it. You can study it just for learning or implement your own mods. You are free to do whatever you want with if as long as you buy me a beer
Download source code
Please spend a few hours trying to set it up and figure out some stuff on your own before bombarding me with questions...
Feeling thankful?
Donations are appreciated. Donate here.
Changelog:
Version 25 Highres pre Froyo, High res Froyo, Lowres >= 1.6, Lowres 1.5
Version 24 hires lowres: Fixed: Droid/Milestone/X10 landscape kb broken due to upscaling, Alt. symbol kb. not set correctly on start input, FC on boot when using some locales, Delete last sentence tweaked
Version 23 hires lowres: Fixed: User dictionary broke in v22 due to changed package name. Sorry!
Version 22 hires lowres: New: My own package name, Fast language & keyboard switching by gestures, Settings dialog redesigned, No more .htcime on SD, all is now GUI based, Hires Clicker, Version tracking by aTrackDog. Fixed: Scale landscape KB on Droid/Milestone/X10, Add word dialog now shows kb automatically, FC on show add word dialog in landscape, Proper hires settings icon from Incredible, P and W in phone number keyboard, Workaround for back button bug in xScope browser Option: Configurable gesture actions, Show current language on start, Kill keyboard from settings, Disable voice button also for English, Use phone keypad / compact qwerty symbol kb for QWERTY, Toggle accept dict. suggestion by space, Toggle accept dict. suggestion by separators, Volume keys for dpad up/down, Gesture: Delete last sentence, Move to end of word, Cycle language, Cycle keyboard types
Version 21 hires lowres: Options: Move cursor with volume keys, Move Scandinavian popup chars closer to pressed key Fixed: More swipe detection tuning, Less laggy sound and vibration feedback with swiping enabled, Space insert more robust
Version 20 hires lowres: Options: Swipe up for shift, Swipe while composing a word (dict. showing), Swap Smiley/12# button, Insert word entered in add word dialog into edited text. Fixed: Swiping more robust, Long press on symbol key now working again, Tweaked candidate bar height calculation (Droid 2.1), Improved HTC popup timer when lag is detected (HTC bad design), Android smiley is :-\ and not :-/ , Bug in landscape autocompletion (gmail compose etc.), Autocap issues in certain cases (blame HTC ), Better handling of (pseudo) multi touch events (easier to press space and periods etc. more quickly)
Version 19 hires lowres:Lowres!, Options: Clear user dictionary, Swipe down to hide keyboard, Swipe left to delete last word, Character replacement (can remove diacritic chars), Custom smileys. Changed: Import/export of user dictionary is now threaded, Pipe key added to qwerty symbol keyboard, Fixed voice hack was enabled by default even if disabled in settings
Version 18: Changed: Hid HTC hidden settings again (caused too much trouble). Option: Smiley button instead of hide kb button, Custom vibration length, Toggle smiley dashes. Fixed: User dictionary editor no longer FC's on modaco custom rom, Word candidate bar now works on Droid 2.1
Version 17: Option: Toggle prediction on/off for single line browser forms
Version 16: Fixed: space insertion is now disabled for password fields with compact qwerty & phone keypad, Prediction cache was not emptied in some cases resulting in weird behavior when starting input next time (prediction continued where you left off last input)
Version 15: Fixed URL KB space hack caused FC on slash key in compact qwerty and phone keypad
Version 14: Option: Disable automatic adding to user dictionary, custom popup delay for secondary characters, swipe right for voice input, toggle space insertion after separators, access hidden HTC internal settings (control vibrator etc. TAKE CARE IN HERE!), prediction in URL fields, disable key preview popup. Fixed: cleaned up settings dialog a bit, deleting voice text by back space now works again, space insertion is now always disabled in some fields (browser URL etc. caused problems). New: My own (experimental!) hard keyboard mapping code (enables space in URL for hard KB, removes need for QWERTZ hack etc.), apk version now shows my version instead of HTC's version (smoother upgrades, more logical), Import/export user dictionary, Can now enter any character into user dictionary (HTC just allowed letters and digits)
Version 13: Option: left align word candidate list. Fixed: experimental Droid 2.1 landscape support, more robust period insertion on space double tap, rare FC when moving the candidate list (HTC bug), typing " I'm " with compact qwerty (HTC bug), FC when clicking on disabled T9 toggle button (HTC bug), better compatibility between space insertion and smileys, User dictionary is no longer a pain to manage due to scrolling (consequence of HTC incompetence, learn how to use ListViews and Adapters guys!)
Version 12: Fixed rotation issues in some apps (ie Terminal). T9/ABC setting is now remembered when switching between letter/number views (HTC's bug, not mine)
Version 11: Fixed saving position of word suggestion list (a typo caused the same value to be used for all orientations). Fixed auto cap in browser with physical keyboard.
Version 10: Many new options (see feature list). Fixes: voice input in all keyboards, voice input didn't capitalize correctly, "speak now" dialog showing to early, prediction not showing for passwords anymore, auto capitalization for T9/compact QWERTY now works in browser, smoother movement of word suggestion list, settings button showed "EN" (now scaled icon from lowres), Landscape now works on Droid (with resolution related glitches)
Version 9: Fixed the screwed up enter key in v8. Added experimental voice server settings. For German to work you will have to use the alternative server.
Version 8: Added custom word candidates bar. Fixed wacky SHIFT key. Word candidate list position now remembered. Configurable in settings dialog. Added some Extras to voice input Intent copied from stock KB (missed earlier). One step closer to Droid landscape support.
Version 7: Fixed compatibility with Terminal Emulator in CyanogenMod, KB going haywire in CoPilot and word candidate list shows to low (hid active input field sometimes like in stock messaging app). Lowered android:minSdkVersion from 7 to 3. This could mean stock Droid support, but don't complain when it FC's on Cupcake
Version 6: Tweaks to the sentence auto capitalization code. Should now work in most web browser forms such as the message composer on this forum. Tweaked enter key behavior a bit.
Version 5: Show voice input button for all languages instead of EN button in all keyboards that uses the same layouts as the English ones. To fix this in all other layouts, modding binary XML is required. I need help with that. Voice input seems to use your current locale if supported, and English as fallback.
Version 4: New voice input control logic that doesn't break Google Voice search. Changed voice processing URL from dev server to stock keyboard settings.
Version 3: Fixed FC in User Dictionary editor. Fixed HTC not obeying EditorInfo.imeOption flag flagNoEnterAction (caused two sends in stock messaging app)
Version 2: Fixed FC in user database
Version 1: Initial release featuring language settings hack with .htcime and dictionary support in web browser forms. Tested on N1. Clicker is low res for now.
Old low res:
Version 4: Better support for OpenEclair (at least one reported succes with Dutch on it)
Version 3: Supports Samsung Galaxy/Spica (this version has never been featured on xda)
Version 2: Dictionary support in web browser forms
Version 1: Initial release featuring language settings hack with .htcime
Hi
Is working right on lanscape?
Is this still the pixelated 320 pixel one?
Yes it does work in landscape, although It doesn't cover the whole screen. It's still usable in my opinion. All other versions of HTC_IME has this behavior on nexus. It's because it's designed for lower resolutions. I haven't changed this.
Edit: It's also pixelated due to the higher resolution on Nexus. Maybe we can use something from the upcoming Bravo. Time will tell.
And what about the HD2 skin
Never edited this apk, so i dunno if can be do it
Nice one. thanks for this.
I've been looking for a way to do this.
Since you can't post the link could you please tell me what file I need to change on the cyanogen version so that I can have multiple languages?
I've been paying around with it but wasn't successful.
Thanks
Lou
Swedish user
Works great! Thanks!
I'm still waiting for a mod to approve me as a non spammer so I can post the link
The main edit is done in SIPUtils.smali. This method originally loads languages from htc's customization provider.
.method public static localeLanguagePicker(Landroid/content/ContextI
I have replaced its content entirely. This is where I load the info from .htcime or in it's absence fall back on default values.
The key points here is the variables
Lcom/htc/android/htcime/HTCIMMData;->mSettingsLocaleData:[[Ljava/lang/String;
Lcom/htc/android/htcime/HTCIMMData;->mSettingsLocaleNumber:I
You must populate the array with your languages and set the number correctly.
In Java terms you have for example
Code:
int dims[] = new int[]{19, 2};
String[][] d = (String[][]) java.lang.reflect.Array.newInstance(String.class, dims);
d[0][0] = "English";
d[0][1] = "0";
d[1][0] = "Arabic";
d[1][1] = "14";
mSettingsLocaleData = d;
mSettingsLocaleNumber = 2;
This would give you English and Arabic. localeLanguagePicker must return the current selected language id as int, so you must read that from SharedPrecerences (key is "keyboard_language")
I have also removed a to call ListPreference.setValueIndex from
.method private localePicker
in KeyboardSettings.smali to avoid a FC.
It's complicated to explain in an easy way... I'll pm you the URL for my mod. baksmali it and diff it to cyanogens
This is the link to jonasl's work.
http://www.mediafire.com/file/gonyzgh0i3o/htc_ime_custom_settings.zip
thank you so much for this. I hope you can post this soon because many people have been waiting for this.
MERCI
GRACIAS
THANKS.
can we still use the voice dictation feature (the mic key in the google keyboard) to dictate commands with this apk?
No, there is no such button on the HTC keyboard and I have not added one. I have just fixed the language settings dialog. The keyboard is designed for Hero w. 1.5. voice input doesn't exist on it. Also some people like me don't use speech input so we don't miss it.
It's more like I have restored the original features on non-Hero phones than adding new ones.
Thanks so much! This is what I had been hoping for for a *very* long time.
samawil said:
thank you so much for this. I hope you can post this soon because many people have been waiting for this.
MERCI
GRACIAS
THANKS.
Click to expand...
Click to collapse
I already posted it for everyone since jonasl was not allowed to post links here yet.
So I installed the htc ime and put the .htcime file in the root of my sd, and get the htc keyboard now and can select Swedish as a language but its not like I get "åäö" keys or anything, what exactly is it you're supposed to get with this mod?
Swedish dictionary support. It will work exactly as on stock HTC Hero firmware. Set it to Swedish. Start write a SMS message. Tap in the word "nastan". It will suggest "nästan". To write åäö manually, press and hold a or o and slide to the correct character. This is the way the Hero keyboard works, no more no less.
jonasl said:
Swedish dictionary support. It will work exactly as on stock HTC Hero firmware. Set it to Swedish. Start write a SMS message. Tap in the word "nastan". It will suggest "nästan". To write åäö manually, press and hold a or o and slide to the correct character. This is the way the Hero keyboard works, no more no less.
Click to expand...
Click to collapse
Oh ok, Yeah I used the previous HTC_IME floating around before this and I was hoping for actual buttons, but the dictionary is a welcome addition!
The updated link...
http://www.mediafire.com/file/mmqmjuzorvm/htc_ime_custom_settings2.zip
Updated the mod to enable dictionary prediction in web forms in your browser. I've never seen that working on any HTC_IME before, not even on Hero. If you want that, download and install again. First version is still available in post #9.
when i choose arabic i dont see any arabic letters on the keyboard?!? i did this manually before this post but didnt work for arabic
Hi all!
A few days ago i found a really cool alternative keyboard to the stock one as well as to swype. Now, after i tested it for sometime, i wanted to share it with you.
So since i didn't find a thread for keyboards in here, i came to the idea to make a collection of alternative keyboards, where everyone can introduce his favourites and list the options of it.
I'll make the start:
Ultra Keyboard - a really good keyboard with loads of options, very precise swyping and, in my opinion, unmatched word suggestion. I'm using the version 5.6.3 right now.
PRO:
- faster word suggestion than swype
- in my opinion much better precision than the 2.44 version of swype (1.6 was much better, but did unfortunately expire)
- all important layouts (QWERTY, QWERTZ, AZERTY, Alphabetical, Compact Keyboard (T9), automatical switch to numeric pad, when in an appropiate field)
- many themes (presets or even self made)
- adjustable button height for perfect precision
- option to manually calibrate the keyboard
- gesture support (for example to cange dictionary language, i use it to change from english to german and back)
- built-in translation feature
- speech-to-text
- camera mode for "transparent" screen (useful if you're typing while you walk)
- easily add and delete words in your user dictionary
- much more ... just try it!
- available dictionaries: english, german, french, italian, dutch, spanish
CONTRA:
- like all good things, it's not free
Price: 2,00 € (about 2.50$)
Homepage: http://www.facebook.com/pages/Binary-Bulge-Software/122539557777039
QR:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
So that's all i remember right now. Oh, just to add that: This is no advertisement and I'm not connected to the developer in any way
So what keyboards can you suggest?
I started using HTC mod then I used Smart Keyboard PRO
this was very easy and I find that it have the most effective error correction ability. means you can trype the word but you will never touch correct key always. but touching the next key to the desired key and still you will end up getting the correct word at the end.
Then I switched to SwiftKey Keyboard
It has unique ability to lean my way of typing and suggest my next word. so far it made my typing faster.
Check it out...
I'm using SlideIT. If you choose free (demo) version it has some limitations like 10 custom words in memory. It expires after some time but then I just reinstall it and it works like a charm again...
So, long story short you have free keyboard with swyping support and tons of different languages.
HTC IME.....
jonasl said:
I'm now taking a break from the work on this mod due to serious lack of time. I've spent a huge amount of time on this mod already and also shared all my code and methods. I hope the community has benefited from this. You are all free to do whatever you want with my code if you want to make further improvements. I hope I can find some time to continue this little project later this summer. Thanks for all the encouraging words, feature suggestions and bug reports. Couldn't have done this without you all
Credits:
The old low res hack is based on the version posted by Cyanogen.
The new low res and high res hack is based on the version posted by modaco.
JesusFreke for smali/baksmali.
Couldn't do this without them.
Features:
(Compacted this list to save space, the point is that there are many features not to make this list readable )
Customizable language settings, Smileys hacked into the hide key (see screen shots), Swap Smiley/12# button, Custom smileys, Custom word candidate bar that raises the keyboards so dictionary won't cover the app you type in, Position of word candidate list is saved if you long press and move it, Left align word candidate list, Prediction in fields with own suggestions (search bar etc.), Prediction in fields that sets the filter flag, Prediction in URL fields, Disable automatic capitalization, Play sounds in silent mode, Set sound level, Custom sounds, Automatic space insertion, Enable prediction with cursor in or adjacent to existing words (QWERTY only), Enable a space bar key in URL keyboard, Support for German QWERTZ hard KB layout, Show voice input button for all keyboards with a settings button, Disable key preview popup, Use Google development server for voice (supports German but isn't online 24/7), MANY HTC bugs fixed, the changelog for a few of them, Droid SE X10 landscape support, User dictionary import/export, User dictionary accepts any character, not just HTC approved ones, Custom vibration length, Character replacement (can remove diacritic chars), Pipe key in qwerty mode, Move cursor with volume keys (for Sony Ericsson Xperia X10), Easier access to language specific chars in qwerty popups, Configurable gesture (swipe) actions, Gesture actions: Delete word, delete sentence, shift, hide kb, cursor after word, voice input, switch language, switch keyboard, Use phone keypad / compact qwerty symbol kb for QWERTY, Toggle accept dict. suggestion by space / period / comma, Fast language and keyboard switching by gestures, Version tracking by aTrackDog, Custom domains for .com key
And not least:
My source code is now available for your own modding pleasure
All hacks are configurable in the settings dialog.
Changelog for latest versions
Code:
/*
* 27
* Fixed: T9 is now disabled when adding words manually (sorry, missed that bug report on v26b1)
*/
/*
* 26
* Separate version for Froyo (2.2) due to changed voice input API:s
* Fixed: User dictionary should now be saved correctly on Sense ROMs (if installed correctly!)
* Fixed: Slightly better SMS detection
* Fixed: Custom popup domains will work without enabling custom popup time (caused by typo)
* Fixed: Smiley insertion right after period removed first smiley char
* Fixed: Settings not remembered for some locales
* Fixed: Tweaked space insertion around parentheses some
* Fixed: Fixed "Predict in Browser" option on Froyo (workaround for Android issue #8563)
* Fixed: Space deleted after period insertion and use of chars from symbol KB (HTC bug)
* Fixed: No auto add words didn't always work
* Fixed: Smiley button didn't work on symbol KB
* New: Calibration is considered for all layouts
* New: Modify button height/width on all layouts
* New: € £ added to f popup
* New: T9 toggle settings now remembered
* New: Export/import settings to/from SD card
* New: Pipe added to alt. symbol keyboard (page 4)
* Gesture: Cursor before word
*/
/*
* 25
* New: Move lang. specific popup chars closer to pressed key (help me support more langs!)
* Option: Replace chars only for SMS
* Option: Custom domains for .com key
* Option: Insert period on double space
* Option: Toggle accept dict. suggestion by 12# key
* Option: Configurable custom sounds
* Option: Change language with volume keys
* Option: Adjust portrait QWERTY key width
* Changed: Delete last sentence breaks on comma again.
* Fixed: Space insertion disabled for URI fields (causing problems)
* Fixed: Space insertion tweaked for French
* Fixed: Removed Romanian since not working (blame HTC)
* Fixed: Don't insert space if prediction is disabled in browser
* Fixed: Predict in URL working again.
* Fixed: Sound for HW KB working again
* Gesture: Toggle QWERTY prediction on/off
*/
Download
v27
High resolution version
High resolution version (Froyo/2.2)
Low resolution version for Android 1.6 and up
Low resolution version for Android 1.5 (no voice input)
Instructions:
Download and unzip (not flashable update.zip!)
Install the two apks (HTC_IME & Clicker) using your favorite method (via a file manager or adb install -r). Sense users shouldn't (and needn't) install Clicker.
There is no need to push anything to /system
Go to Menu, Settings, Language & Keyboard. Activate "HTC_IME mod"
To change keyboard, long press on lower left key on stock keyboard or any input field. Select input method in the menu.
See note below if you have earlier versions than v22 installed already!
Requirements:
Android
Compatible resolution screen
Compatible CPU. Sorry can't say which they are but I know some Samsung phones are not supported. This is due to the included HTC native prediction library.
Configuring my hacks
All configuration is now done in the settings dialog. No need for config files on SD card (v22 and up).
Some options modifies stuff that are set when the keyboard first loads. Thus you need to kill it for changes to take effect (or reboot).
Upgrade notes
Starting with v22 I now use my own java package name. This means that it can be installed in parallel with stock HTC_IME (no root needed on Sense).
Settings from v21 and earlier can't be read from v22 and up. You must enter them again. The user dictionary can be exported from v21 and imported into v22. Both versions can coexist during this process. This inconvenience will only happen between v21 and newer. Sorry for this, but this change will enable me do to more advanced mods in the future.
v23 has a hires Clicker. You should install it if not using Sense
Source code
Interested in how I do this? I've decided to share the sources for the mod so that the project can live on when I get tired of it. You can study it just for learning or implement your own mods. You are free to do whatever you want with if as long as you buy me a beer
Download source code
Please spend a few hours trying to set it up and figure out some stuff on your own before bombarding me with questions...
Feeling thankful?
Donations are appreciated. Donate here.
Changelog:
Version 25 Highres pre Froyo, High res Froyo, Lowres >= 1.6, Lowres 1.5
Version 24 hires lowres: Fixed: Droid/Milestone/X10 landscape kb broken due to upscaling, Alt. symbol kb. not set correctly on start input, FC on boot when using some locales, Delete last sentence tweaked
Version 23 hires lowres: Fixed: User dictionary broke in v22 due to changed package name. Sorry!
Version 22 hires lowres: New: My own package name, Fast language & keyboard switching by gestures, Settings dialog redesigned, No more .htcime on SD, all is now GUI based, Hires Clicker, Version tracking by aTrackDog. Fixed: Scale landscape KB on Droid/Milestone/X10, Add word dialog now shows kb automatically, FC on show add word dialog in landscape, Proper hires settings icon from Incredible, P and W in phone number keyboard, Workaround for back button bug in xScope browser Option: Configurable gesture actions, Show current language on start, Kill keyboard from settings, Disable voice button also for English, Use phone keypad / compact qwerty symbol kb for QWERTY, Toggle accept dict. suggestion by space, Toggle accept dict. suggestion by separators, Volume keys for dpad up/down, Gesture: Delete last sentence, Move to end of word, Cycle language, Cycle keyboard types
Version 21 hires lowres: Options: Move cursor with volume keys, Move Scandinavian popup chars closer to pressed key Fixed: More swipe detection tuning, Less laggy sound and vibration feedback with swiping enabled, Space insert more robust
Version 20 hires lowres: Options: Swipe up for shift, Swipe while composing a word (dict. showing), Swap Smiley/12# button, Insert word entered in add word dialog into edited text. Fixed: Swiping more robust, Long press on symbol key now working again, Tweaked candidate bar height calculation (Droid 2.1), Improved HTC popup timer when lag is detected (HTC bad design), Android smiley is :-\ and not :-/ , Bug in landscape autocompletion (gmail compose etc.), Autocap issues in certain cases (blame HTC ), Better handling of (pseudo) multi touch events (easier to press space and periods etc. more quickly)
Version 19 hires lowres:Lowres!, Options: Clear user dictionary, Swipe down to hide keyboard, Swipe left to delete last word, Character replacement (can remove diacritic chars), Custom smileys. Changed: Import/export of user dictionary is now threaded, Pipe key added to qwerty symbol keyboard, Fixed voice hack was enabled by default even if disabled in settings
Version 18: Changed: Hid HTC hidden settings again (caused too much trouble). Option: Smiley button instead of hide kb button, Custom vibration length, Toggle smiley dashes. Fixed: User dictionary editor no longer FC's on modaco custom rom, Word candidate bar now works on Droid 2.1
Version 17: Option: Toggle prediction on/off for single line browser forms
Version 16: Fixed: space insertion is now disabled for password fields with compact qwerty & phone keypad, Prediction cache was not emptied in some cases resulting in weird behavior when starting input next time (prediction continued where you left off last input)
Version 15: Fixed URL KB space hack caused FC on slash key in compact qwerty and phone keypad
Version 14: Option: Disable automatic adding to user dictionary, custom popup delay for secondary characters, swipe right for voice input, toggle space insertion after separators, access hidden HTC internal settings (control vibrator etc. TAKE CARE IN HERE!), prediction in URL fields, disable key preview popup. Fixed: cleaned up settings dialog a bit, deleting voice text by back space now works again, space insertion is now always disabled in some fields (browser URL etc. caused problems). New: My own (experimental!) hard keyboard mapping code (enables space in URL for hard KB, removes need for QWERTZ hack etc.), apk version now shows my version instead of HTC's version (smoother upgrades, more logical), Import/export user dictionary, Can now enter any character into user dictionary (HTC just allowed letters and digits)
Version 13: Option: left align word candidate list. Fixed: experimental Droid 2.1 landscape support, more robust period insertion on space double tap, rare FC when moving the candidate list (HTC bug), typing " I'm " with compact qwerty (HTC bug), FC when clicking on disabled T9 toggle button (HTC bug), better compatibility between space insertion and smileys, User dictionary is no longer a pain to manage due to scrolling (consequence of HTC incompetence, learn how to use ListViews and Adapters guys!)
Version 12: Fixed rotation issues in some apps (ie Terminal). T9/ABC setting is now remembered when switching between letter/number views (HTC's bug, not mine)
Version 11: Fixed saving position of word suggestion list (a typo caused the same value to be used for all orientations). Fixed auto cap in browser with physical keyboard.
Version 10: Many new options (see feature list). Fixes: voice input in all keyboards, voice input didn't capitalize correctly, "speak now" dialog showing to early, prediction not showing for passwords anymore, auto capitalization for T9/compact QWERTY now works in browser, smoother movement of word suggestion list, settings button showed "EN" (now scaled icon from lowres), Landscape now works on Droid (with resolution related glitches)
Version 9: Fixed the screwed up enter key in v8. Added experimental voice server settings. For German to work you will have to use the alternative server.
Version 8: Added custom word candidates bar. Fixed wacky SHIFT key. Word candidate list position now remembered. Configurable in settings dialog. Added some Extras to voice input Intent copied from stock KB (missed earlier). One step closer to Droid landscape support.
Version 7: Fixed compatibility with Terminal Emulator in CyanogenMod, KB going haywire in CoPilot and word candidate list shows to low (hid active input field sometimes like in stock messaging app). Lowered android:minSdkVersion from 7 to 3. This could mean stock Droid support, but don't complain when it FC's on Cupcake
Version 6: Tweaks to the sentence auto capitalization code. Should now work in most web browser forms such as the message composer on this forum. Tweaked enter key behavior a bit.
Version 5: Show voice input button for all languages instead of EN button in all keyboards that uses the same layouts as the English ones. To fix this in all other layouts, modding binary XML is required. I need help with that. Voice input seems to use your current locale if supported, and English as fallback.
Version 4: New voice input control logic that doesn't break Google Voice search. Changed voice processing URL from dev server to stock keyboard settings.
Version 3: Fixed FC in User Dictionary editor. Fixed HTC not obeying EditorInfo.imeOption flag flagNoEnterAction (caused two sends in stock messaging app)
Version 2: Fixed FC in user database
Version 1: Initial release featuring language settings hack with .htcime and dictionary support in web browser forms. Tested on N1. Clicker is low res for now.
Old low res:
Version 4: Better support for OpenEclair (at least one reported succes with Dutch on it)
Version 3: Supports Samsung Galaxy/Spica (this version has never been featured on xda)
Version 2: Dictionary support in web browser forms
Version 1: Initial release featuring language settings hack with .htcime
Click to expand...
Click to collapse
Want to skin it?.....
gIMpSTa said:
I have created an "online kitchen" of sorts for creating custom skinned, signed, HTC_IME high and low res apk files. This means you guys can very easily create your own skins and customize the ones I've created!
What is this?
A website you can visit on your computer or directly from your phone that will let you a> create a custom skinned keyboard based off of any of the images currently in the library (various colored keys, backgrounds, etc) with whatever text color you want and b> customize existing "skins" (will be known as "presets") however your heats desire.
Currently, it should be considered very beta. All the features that are here should be working 100%.
Why beta, that sounds scary?
It's beta for a couple of reasons, 1 because it's currently UGLY as sin (concentrated on features and back end first) and 2 because I'm actively working on it which means it could break at any time.
What is the point of this?
Besides the fact that you can now customize the hell out of the way your keyboard looks, it drastically reduces the amount of work I have to do in the future. Currently, i'm uploading 46 pre-themed apk files for every single update. While this isn't really a big deal since I automated the process, it slows down how quickly I can put up updates. With this new method, all I have to do is upload the original unthemed keyboard apk and classes.dex for each new version and my work is done!
Everything else:
If you select a preset, you will still be asked to choose each portion of the keyboard (background, buttons, text color etc). The image with the yellow border around it (you'll see what I mean) is the default "piece" for the preset.
One last thing, depending on server load it could take anywhere from 30 seconds to 5 minutes to generate the keyboard. Most of the time I suspect it will be < 1 minute tho.
I don't mind if you use this to generate a keyboard and include it with something (theme/morph) or post it somewhere, just give due credit
URL for HIGH RES online kitchen: http://www.gimpsta.com/themer/
URL for LOW RES online kitchen: http://www.gimpsta.com/themerlo/
Current feature list / changelog:
Start from a "preset" (any of my current themes) and change any component of it.
Choose any of my current backgrounds
Choose any of my current primary/function key styles
Choose any of my current "symbol sets"
Choose any of my current space bar logo/images
Upload your own spacebar logo
Choose any color text for letters and alternate characters
Built in bug reporting/feature requests (for new image sets, for example)
Choose any color for background image
Preview keyboard before generating it
Option to see/reuse all skins you have generated
Option to see/reuse last 25 skins anyone has generated
Choose any color for symbol sets
Added lowres kitchen
Added option to choose between 1.5 only and 1.6+ low res versions in low res kitchen.
Added v25 froyo version.
Added all v26 versions to kitchen!
Added all v27 versions to kitchen!
Added v27-froyo lowres version to kitchen!
New option: Create your own primary/function keys is FINALLY here!
Click to expand...
Click to collapse
swiftkey is the best for me too...
Smart Keyboard Pro suits best for me, I've tried almost all alternative keyboards.
swiftkey is pretty freakin perfect for me
Sent from my X10a using XDA App
I'm liking the ultimate keyboard it seems more accurate then swype thanks OP for mentioning it.
Sent from my X10a using XDA App
urs74 said:
I'm liking the ultimate keyboard it seems more accurate then swype thanks OP for mentioning it.
Sent from my X10a using XDA App
Click to expand...
Click to collapse
No problem
I think the same, i just started looking for other swyping keyboards because the latest release of Swype is a big step backwards from version 1.6 regarding accuracy and speed. But i'm glad I started looking, there are a lot of better keyboards out there, and right now ultra keyboard seems perfect for me
qwer23 said:
No problem
I think the same, i just started looking for other swyping keyboards because the latest release of Swype is a big step backwards from version 1.6 regarding accuracy and speed. But i'm glad I started looking, there are a lot of better keyboards out there, and right now ultra keyboard seems perfect for me
Click to expand...
Click to collapse
I agree swype did fail with the newest version.
Sent from my X10a using XDA App
I'm Portuguese and because SwiftKey can use 2 dictionaries simultaneously he is the best 4 me.
Sent from my X10i using XDA App
just started using ultra, one question regarding x10...can it do voice to text? when i press the button it says speech to text support not found on device
goothu99 said:
just started using ultra, one question regarding x10...can it do voice to text? when i press the button it says speech to text support not found on device
Click to expand...
Click to collapse
It works for me.
installed ultra
can anyone please tell me the perfect settings for ultra..
the settings section looks mess for me...
i feel it very complicated...
i got used to swype...
so any of you please tell me the exact settings to be put in ultra to make it more better than swype!
I tried Ultra too...
I didn't like it so, i'm with swype till gets out of bet and will cost money.
After, i'll have to decide which one i will use.
What i don't like about swype is the small selection of dictonaries while for Ultra probably you can create your own.
nagrockz said:
installed ultra
can anyone please tell me the perfect settings for ultra..
the settings section looks mess for me...
i feel it very complicated...
i got used to swype...
so any of you please tell me the exact settings to be put in ultra to make it more better than swype!
Click to expand...
Click to collapse
Well, for a start, just the keyboard options that you find here:
- Enable tracing. That's the swipe option in Ultra keyboard.
- set key height to a value that fits you perfect. Just try writing a few sentences till it feels right.
- Choose your Layout (QWERTZ, QWERTY, Compact (T9), AZERTY, Alphabetical)
Now, the other options (you find them, if you scroll the options bar on the keyboard horizontally, symbol is two crossed tools ):
- under "Typing" you can calibrate the keyboard so that you're able to hit the keys precisely. Calibrate both portrait and landscape mode.
- Under "Gestures" you can set, well, gestures There are a lot of options, I use a swipe down to chose my second dictionary. Set it to whatever you like
- under "Suggestions" you can choose to add contact names to the dictionary or blacklist words you don't need.
- note that Ultra keyboard repeats letters if you pause over a key, that's different than Swype is doing. You can enable/disable that under "Tracing"
That's some points I can think of right now. If there is something you want to change/ do or if you don't understand, just ask
Cheers
qwer23
when i "trace" lol it always comes up as LOL and then id have to select the undercase option, how do i get it to stop automatically capitalizing my "lol"s?
thanks
swiftkey here and never looked back. have every single keyboard installed on the market almost.
nothing beats next word prediction!
goothu99 said:
when i "trace" lol it always comes up as LOL and then id have to select the undercase option, how do i get it to stop automatically capitalizing my "lol"s?
thanks
Click to expand...
Click to collapse
you can blacklist LOL and add lol to user dictionary. didn't try it though but it should work...
Hey guys ,
Is there a good azerty keyboard whit dutch/netherlands support for words suggestions ??
Thanks in advanced !!!
Hey guys/girls! Just bought this little device and I'm having a really great time. However, there's a reaally major downside of it: I can't type in my native language (lithuanian) while using the dock. So, I wonder: is it possible to add another language to ASUS keyboard (or maybe edit an existing one)?
It wouldn't be much of a change (1 would be ą, 2 - č, 3 - ę, 4 - ė, 5 - į, 6 - š, 7 - ų, 8 - ū, = - ž). I found this thread, but as I understand, it would be a permanent change, and I'd want a flexible 2-language setting, where I could change quickly between english (could type numbers) and lithuanian (could type dialect letters). So, any ideas?
Thanks in advance,
Lukas aka Bronislovas
I believe that it is possible to create a very usable on-screen keyboard for a smart watch. Traditional keyboards are too small. I think we need completely different approaches for smart watches. This thread is to see hat ideas other people have and offer my concept.
My watch is a Zgpax smartwatch phone with 240 X 240 pixels. The idea could be adapted to other sizes.
I think the following are basic requirements:
1. Keys must be large enough to use easily.
2. You must be able to see what you type.
3. User configurable. Full configurability is probably a luxury but desirable. To keep the keyboard App as small as possible a separate configuration App could be used.
My idea is to use a 5X5 grid of “keys” which take up the whole screen area but have a transparent background.
Obviously we cannot fit 26 keys in a 5X5 grid so I suggest putting those less commonly used onto a 'numeric' keyboard and 'swiping' to that when they are required. Multiple keyboards can be used and called up depending on the 'swipe' direction e.g. UP to toggle case, RIGHT for numbers etc. Left for Symbols and left from Symbols for lesser symbols. 3. The background will be a transparent grey and the default colour of the symbols on the keys will be white.
The colour of the key symbols will be user definable to contrast with the text colour of whatever field is being filled. In addition the size of the key symbols should be adjustable within the constraints of key size and readability.
I think that on each 'keyboard' we could accommodate a destructive and non-destructive back key, a non-destructive forward key, a space key and a 'Return' or 'Enter' key. This would result in the letters a to t, being on the main keyboard with u to z being on the numeric keyboard. Personally I would swap J and U, as U is used more frequently than J and they have a similar shape to remind the user.
The numeric keyboard should consist of the digits 0 to 9 together with the keys excluded from the main keyboard (by default u to z). This leaves 9 keys for the user to define. Suggested defaults are , ' “ @ - x Enter and the user's national currency symbol. Note that Enter is only generally used once per field and often follows '.' so can be placed here.
A further Symbol keyboard can contain up to 25 symbols including enter. These symbols should be those most commonly used and should include Enter. Some keys may – and probably should – duplicate the functions of those on the other keyboard screens.
A further screen keyboard containing less common symbols should be provided. Again, Enter and common duplicates should be included.
If desired, a further screen of macros and / or emoticons could be provided. The macro keys could be used to enter common data such as your email addresses, your name, home address and commonly used web addresses.
Done as separate post as the list of keyboard switch logic was blocked!!
Suggest UP swipe be used to return to main keyboard from any of the others.
An alternative I've seen to swiping is to do a long press on a key to capitalise letters for example. Would this be a preferable alternative or a useful addition?
·
Attached are some preliminary ideas for 5X5 240X240 pixel keyboard layouts.
This idea probably has a few things which could be improved. Comments, suggestions and criticisms are welcome.
If anyone wishes to develop a keyboard using the above then I place it in the public domain. If they do so, an acknowledgement would be nice. Mainly, I just want a usable on-screen keyboard!
A further idea is for a standard transparent querty keyboard. When you tap a letter a 3X3 full screen transparent keyboard of the letters surrounding the tapped letter appear for you to tap the one required. This would be a little slow but offers great accuracy.
I created this thread to spread the love for the Jbak2 keyboard. Although I love it on my 10.4" tablet I prefer the MultiLing O keyboard for my phone. Link to my shared pCloud here http://pc.cd/VJ47
I've been using Android devices for about 10 years?, I think, and since the beginning have been on a quest for a good keyboard—'good' being a keyboard with:
4 directional arrow keys
Always-on number row
Alternate characters displayed on keyboard
A REAL delete key like on a PC keyboard (aka 'forward delete')
Extreme configurability (compare to MultiLingO, which I've also used)
Add whatever key you want, wherever you want.
Editable emoji keyboard; place the ones you use most often in the quick-access secondary/emoji keyboard.
Many other configuration options.
Minimal permissions:
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.VIBRATE
android.permission.SYSTEM_ALERT_WINDOW
android.permission.READ_EXTERNAL_STORAGE
I found all these things, and much more, such as:
Built-in Copy/Paste
Text Selection key
Undo/Redo
in the Jbak2 keyboard https://play.google.com/store/apps/details?id=com.jbak2.JbakKeyboard (not to be confused with the abandoned Jbak keyboard, of which this a kind of a 'fork').
It's only drawbacks, imo, are that it's made by a Russian dev and not everything is translated to English, and it's Autocomplete dictionary is somewhat lacking.
As for the first thing, I've used online translators to learn some of the more esoteric things (all the basic/setup stuff is already translated, so this is not a hindrance to using the app). And for the second, I've been adding new words to the app's English dictionary as I encounter them (just one click does it), so my personal English dictionary ('user_vocab.cdb', which I have backed up and copied to any new device) is pretty well fleshed out with the words I use.
In over a year of use I've configured what I consider to be a nearly perfect keyboard and I share with you the fruits of my labor here http://u.pc.cd/pPtctalK (old link removed 12 Apr 22)
If you decide to try out the keyboard, I suggest going through the initial installation, including downloading and installing the language dictionary. After completing installation, and skipping any configuration options that are not absolutely required, use the files as described below. This will give you 'my vision' of how it should be set up (see screenshots), and is at least a good starting point for your own exploration of the settings.
13 MAY 2020 EDIT:
I uploaded to the pCloud site an alternative emoji keyboard. You'll just need to copy all four "smile_San..." files to the 'keyboards' directory and it will then be an option in Languages and layouts—>Emoji keyboard.
This is what I'm currently using, as it gives you many more emoji to choose from—via the page selection buttons on the left.
And, fyi, you can always edit the .xml files to include whatever emoji you so desire.
Place the 'en_qwerty_tabletTiTiB.xml' file in
/storage/emulated/0/jbak2Keyboard/keyboards [this is the layout file]
For emoji support (which is accessed by long-pressing Return, if you use my settings file), place the
'smile_San_keyboard.xml' file also in
/storage/emulated/0/jbak2Keyboard/keyboards
Place the settings file (perfected over a year of use)
'settings_backup.xml' file in
/storage/emulated/0/jbak2Keyboard
overwriting the existing file if necessary.
Next, select it in setup, Other settings>Load settings
That's it! You now have a nearly perfect keyboard
EDIT 13 MAY 2020:
I uploaded to the pCloud site an alternative emoji keyboard. You'll just need to copy all four "smile_San..." files to the 'keyboards' directory and it will then be an option in Languages and layouts—>Emoji keyboard.
This is what I'm currently using, as it gives you many more emoji to choose from—via the page selection buttons on the left.
And, fyi, you can always edit the .xml files to include whatever emoji you so desire.
EDIT 12 APR 2022:
Newer Layout and Functionality info at http://u.pc.cd/pPtctalK
# New layout Jan 2022.
Changes were made to accommodate quicker text editing and my many-times-daily use of the pipe | symbol in my Markdown files. (In fact I'm using Markor right now).
One of the more useful capabilities of this keyboard is the 'sel'/Select key. Use it in combination with the Arrows and Gestures.
Of particular interest to those who edit large text files are the 'Top' and 'Btm' keys which move the cursor to top or bottom of the text file. (Of course you can change these, create your own gestures, and modify almost anything else about this keyboard!).
### Gestures (some new):
Swipe Up - To Start of string (line)
Swipe Down - To End of string (line)
Swipe Left - Delete word to Left of cursor
Swipe Right - To End of Paragraph
SpaceBar Left - Select All
SpaceBar Right - Open the Main Menu
The ⦚ replaces the '123/opt' key of old. Tap ABC/opt to return to QWERTY.
...then, Longpress 'ABC/opt' for other cool stuff. Tap ABC/opt to return to QWERTY.
Longpress 'uppercase/pencil' key to see the 'TextEditing' screen. Tap ABC/opt to return to QWERTY.
Longpress 'return/smiley face' key for emoji. Tap 123/opt to return to QWERTY.
Thanks so much...i regard this as the best keyboard...very lightweight and well fleshed
Simple keyboard, multilingo and Anysoft keyboard comes next
Thank you for your settings...i was already contemplating the time I'll spend adding taste
It seems you discovered the same rough diamond I do.
I'm using the jbak then jbak2 keyboards from a while (years) and discussing some issues with the programmer (who is not the most friendly guy I met) I could get them partially corrected, finally.
The project is rather laying around with no updates. He didn't react positively to my cooperation proposal...
Since this keyboard is a fork from another already existing one I'll look at the possibility to get a fork permission from the originator too.
We'll see what happens.
Raart said:
It seems you discovered the same rough diamond I do.
I'm using the jbak then jbak2 keyboards from a while (years) and discussing some issues with the programmer (who is not the most friendly guy I met) I could get them partially corrected, finally.
The project is rather laying around with no updates. He didn't react positively to my cooperation proposal...
Since this keyboard is a fork from another already existing one I'll look at the possibility to get a fork permission from the originator too.
We'll see what happens.
Click to expand...
Click to collapse
Great news!