Related
{
"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"
}
For VGA and QVGA we recommend that you install Giannis86 versions, since they contain all language layouts. New Giannis QVGA fixed cabs are now available, as well as official WVGA / WQVGA with small updates in layouts for: Greek, Spanish and Hebrew languages.
>>> HOT! Giannis86 VGA with arrows cab / all languages included and some extra features!
>>> HOT! Giannis86 QVGA with arrows cab / all languages included and some extra features!
>>> HOT! Giannis86 QVGA without arrows cab / all languages included and some extra features!
>>> Available for download: Giannis86 VGA without arrows cab / all languages included and some extra features! You can read more about Giannis86 VGA version in a dedicated thread.
>>> Available for download: WVGA & WQVGA (all languages)
>>> Available for download: VGA & QVGA - utak3r editions
(not all languages included)
Check out FingerKeyboard video demonstration:
Please note that the speed of typing in
this video is intentionally slightly slowed
down - this was done so that it is easier
to see what buttons are being typed
during the demonstration.
BEFORE INSTALLATION:
Before installing FingerKeyboard2, please make sure you find out what is the correct installation version for your device. You will see that we have attached several different versions - they're designed to work on specific device resolutions.
Do not download before you know exactly what you need for your specific device! Explanation of how to discover what resolution your device has is described in HELP AND FAQ document listed few posts below!
Speaking of which - READ the whole HELP AND FAQ text; it will help you understand how to configure and use this keyboard!
INSTALLATION:
- IF YOU HAVE OLDER VERSIONS OF FINGERKEYBOARD, PLEASE UNINSTALL THEM BEFORE INSTALLING V2.1! After removing old version, please restart the device and remove FingerKeyb folder before proceeding!
- Run the attached .cab file (recommend you install to device memory).
- The keyboard will install into /Program files/FingerKeyb. There is also a link to Configuration tool in the Start > Programs.
- After installation, a Configuration utility will open. Here you can customize the layouts, choose color schemes and configure various options of FingerKeyboard2.
- Click on OK and softreset the device.
- Open up your standard keyboard (in SMS for example), click on the small arrow next to the middle keyboard icon and go to "Other input options".
- FingerKeyb should be listed there, select it and you're good to go!
- If you wish to set FingerKeyb as default keyboard, even after restart of your device, use SIP change application. Remember to set the time-delay to 40-50 seconds!
HOW TO UNINSTALL?
Go into Settings > System > Remove programs. It is listed as "Exidler's FingerKeyboard".
CREDITS:
Created and programmed by Exidler
Designed by Rozenthal
Main tester ChrisCross
Big thanks to people who helped us in creating this application (in no special order): Berkut_G, utak3r, GoldCoin, Cerato, Schreda, Panosha, JBouRas, SBS, BadCluster, Taiseer999, Borchert, Hanackin, Iligcons, Allbercik, Ombre.px, Nvidia32, derfler, ilovepunani, elite-fusion, RoozbehDream, Giannis86, parasite81, bugsykoosh, Reefhunter49, Chompy18 (if I forgot someone, please PM me!)
PROGRESS:
v2.1 - new and improved FKBD2 with unique features (5. april, 2009)
v2.0 - official release of updated FingerKeyboard
v1.4 to v2.0 beta - closed beta testing (link to 1.4 thread)
v1.4 - alternate language layout for landscape mode. New vertical num pad.
v1.3 - updated landscape graphics and layout, fixed bugs.
v1.2 - updated vertical layout, now supports limited landscape mode, new .dll and register files.
v1.1 - vertical support for 2 languages + numeric keypad, new graphics, new layout
v1.0 - exidler's original version
DISCLAIMER / LICENSE / EULA
Please read carefully the terms and conditions of this End User License Agreement ("EULA") before installing FingerKeyboard software ("Software").
This EULA provides a license agreement between authors of FinkerKeyboard ("Licensors") and you (person) ("Licensee") to use the Software and contains warranty information and liability disclaimers.
By installing and using the Software you accept and agree to the terms of this EULA. If you do not agree with these terms and conditions, you must cancel the installation or, if the Software is already installed on your device, promptly uninstall it.
OWNERSHIP
The Licensee acknowledges and agrees that the Software is a product of the Licencors. It is protected under international copyright law. All copyrights are exclusively owned by Exidler and Rozenthal.
LICENSE GRANT
The Software is freeware. However, the Licensee may use it only and exclusively for private personal and non-commercial usage, and only under conditions which do not contradict the restrictions noted below. If you want to use Software for anything else, you must contact the Licencors. Software may not be bundled or distributed with any other package without written permission of the Licensors.
NO WARRANTIES
The Software is distributed "as is" WITHOUT WARRANTY OF ANY KIND. The Licensee uses the Software at his own risk. The Licencors shall not be liable to the Licensee for any kind of consequences, which occur or not occur while installing, using or uninstalling the Software.
RESTRICTIONS
In accepting the EULA granted by Licensor, Licensee agrees that he shall not
1. Sublicense, sell, lease, rent, permit use of, give, or lend the Software
or any copy or portion thereof;
2. Decompile, disassemble, reverse engineer, analyze, or otherwise attempt to
discover the source code of the Software;
3. Use or incorporate the Software or any portion thereof in any other product
without the prior written permission of the Licensor;
4. Remove, alter, or obscure the copyright, trademark, proprietary, or other
notices from the Software or any of its components.
Licensee is allowed to edit existing or create new language layouts, and share them with other users. Licensee is allowed to edit existing or create new graphic elements, but only with respect to copyright and trademark notices.
DISTRIBUTION
The Licensee may NOT redistribute the Software by any mean (CD, DVD, Web site...) without permission from Licencors.
TERMINATION
The Licensee may terminate the EULA at any time. Also, the EULA will terminate automatically if Licensee fails to comply with the restrictions described above. Upon termination of the EULA, the Licensee shall remove all copies of the Software from his (her, its) device and all storage media.
Here you can say "Thank you" to us
Help and faq
HELP / FAQ / TROUBLESHOOTING
Read this whole text before using the FingerKeyboard or asking for help! If your question is already answered in FAQ it will be ignored. Don't be lazy!
What version should I install on my XYZ device? / What is WVGA, WQVGA, VGA and QVGA?
To successfully install Fingerkeyboard on your device, you need to pick the correct version for your phone. For example, let's say you want to find out what resolution Samsung Omnia has. Type "Samsung Omnia review" into Google, and among the first few results usually you'll get the most popular review sites listed. Reviews always contain resolution information, so we easily find out that Samsung Omnia has a 400x240 pixels resolution. That means you should install FingerKeyboard WQVGA cab.
Here's the list of supported resolutions for FingerKeyboard, with their standard abbreviations:
WVGA - 800x480
WQVGA - 400x240
VGA - 640x480
QVGA - 320x240
Why does FingerKeyboard look differently on my device then on the screenshots?
There can be some small differences between the screenshots and what you see on your screen. The reason for this is that different layouts can have different features, graphic elements or button layouts. We consider English layout to be the "standard" layout, with best combination of button size and positions.
How can I type those special characters that appear above normal characters?
Press and hold a key.
How to switch to full CAPS?
Press and hold the shift button.
Spacebar
If you press and hold spacebar button it will write a dot followed by a space.
How to use text selection?
Switch to full CAPS mode and then use arrow buttons to select text.
How to use cut / copy / paste / undo?
Switch to full CAPS mode, select the text you want to cut or copy, and press and hold ^c or ^x characters. Then press and hold ^v to paste. On some layouts these are named "cut", "copy" and "pst". Same thing with "undo" option - you can use "undo" at any moment, and it will take you back for unlimited number of steps.
Where is that Config tool you mention?
After you install FingerKeyboard, go to Start > Programs > Finger Keyboard.
How can I switch to numeric keyboard?
Press 123 button. If your layout does not have dedicated 123 button, press Shift and 123 will appear on your Language toggle button. Behavior of Language toggle button can be customized in Configuration tool.
How can I change a color scheme of the keyboard?
Config tool > Main > Color scheme: select which ever you like and press OK or Apply.
How can I select language layouts?
Config tool > Main: you will see a list of all language layouts you have in your FingerKeyboard folder. Put a tick next to the layouts you want to use and press OK or Apply. We also advise you to physically delete layouts you don't want to use from oyur device (Program files / FingerKeyb / Skins). This will make Config tool start up a little bit faster and use less memory.
What are all those Backspace options in Config tool?
Behavior of Backspace key can be customized to suit your needs. You can separately control what will Backspace do on short click and long press, as well as how it will behave in small caps or caps lock mode.
How to minimize or turn off the keyboard?
Short press the keyboard toggle button (the one with small keyboard or switch sign on it). Long press on this button will turn off FingerKeyboard and switch to default HTC keyboard.
How to disable click sound?
Run FingerKeyboard Config tool. Under "Options" tab you will find a "Press sound" box. Here you can select from several different click sounds, all of which have "quiet" and "loud" versions. This is useful if you want a subtle click sound, but don't want to lower the volume for the whole System. There is also a "no sound option".
How can I get vibration feedback?
Config tool > Options tab > Press vibrate. Here you can select how long you want the vibration feedback to last. Minimum of 20ms will get you a barely noticeable vibration effect, while 80ms will be very strong.
Vibration feedback don't work on my device. Why is this?
If you're having problems with vibration feedback, it's most likely that our autodetect LED vibration feature don't work well on your device. However, you can play around with "VibrateLed 1" string in skin-01-global.txt (Program Files\FingerKeyb\Skins) and see if perhaps changing to another LED number will work for you.
How can I control the key-press delay? / What is "Hold time" / Can I make the keys repeat on press+hold?
"Hold time" option in Config tool is a cool option you can use to control how long it will be needed for a key to be continuously pressed before it writes a letter or performs an action. This part of the "Hold time" function is controlled with numbers in the first box. The second box controls how long will it take for a key to be continuously pressed before it starts repeating itself. So, if you put 500ms in the first box, and 200ms in the second box, that means you will have to press a key for 500ms before it performs it's "long press" action, and 200ms more before it starts repeating that function. If you hold the key even longer, it will then gradually accelerate.
Can I hide / show Windows menu bars?
Yes, go to Config tool and under "Options" tab select how you want the keyboard to display in Portrait and Landscape mode. We suggest selecting "Show bar" for portrait, and "Hide bar" for landscape.
I want the pop-up images to stay longer on screen. How can I do this?
In Config tool, Options tab, there is a "Popup time" box. Here you can select how long will the pop-up image stay on screen after a key has been pressed. If you set pop-up time to 1500ms, this means the pop-up image will stay on screen for 1.5 seconds, or until next key is pressed. Pop-up image delay affects ONLY the normal character keys (A,B,C,D etc). Special action keys, such as Shift, Space, Backspace etc. have default short time and will not stay on your screen. This is done to avoid action keys images covering large areas of the screen with their larger pop-up images.
What are Smiles / Shortcuts?
This is a feature that no other keyboard has. It allows you to control what any of the several predefined actions keys will do when you press and hold them. Almost all layouts have these special actions included (between 7 and 11 actions on most of the layouts). You can control what will show up on a key when you open the keyboard, as well as what that key will write when you press+hold it. For example, you can type into "Key text" box "info" and into "Action text" you could type "John Smith, gsm:00123456789, e-mail: [email protected]". Or maybe your favorite web address. Or your signature. Or your wife's name. Or your lover's name for all we care The possibilities are endless! You can do the same thing for smiles - if you don't like the default ones, use your own, or something else!
A special key I need is missing / Can I customize smiles / Can I change shortcuts?
If there's a key missing in your language layout, you can easily add it yourself by using either Smiles or Shortcuts tab in Config tool. Simply type the missing key into two of the horizontal boxes and the key will appear when you long press a button that has that Smiles / Shortcut action.
Why does XYZ language layout have only a few smiles / shortcuts buttons?
Some language layouts have very high demands regarding the number of characters they need to occupy. Because of this there are a few language layouts that may have a smaller number of smiles / shortcuts spaces reserved. We have tried to include as many as possible, believe us!
How can I make FingerKeyboard a default keyboard? / How can I keep FingerKeyboard as default keyboard even after reset?
You can use a small program called SIP Change. Look it up on XDA-developers.com forum, and remember to set delay to 40-50 seconds.
"Where is XYZ language layout? Why is it not included!?"
If you want a certain language layout, first check FingerKeyboard2.1 thread on XDA-developers.com forum if someone maybe already made an additional layout and posted it there. If not, the best thing you can do is to make your own layout and share it with other people. If your layout is good, we'll probably include it in next version. Please do not spam us with "I WANT THIS LANGUAGE!!!" messages. All language layouts depend exclusively on the community to produce them. If no one can't be bothered to make your language layout, we can't really help you.
Editing instructions:
You can use the existing layouts to make it custom layouts! The easiest way is to open one of the layout skin txt files and replace the existing characters with your own. Experiment a bit, and you will soon get the hang of it. Same applies if you want to make your own skin - edit the included bitmaps, and change the appropriate lines in txt files. Everything you want to know about FingerKeyboard actions, layouts, colors and resolutions is explained in "doc-about-skin.txt" that is located in the root of the FingerKeyb folder. Read it first before asking for help!
XT9 and Word suggestion
XT9 & TEXT SUGGESTION:
This keyboard does not support T9. However, there is an option to enable standard Windows Mobile word suggestion, as well as SMS contact name suggestion. There are two ways to do this.
First way is to use the FingerKeyboard Config tool and select what you want to use (Word / SMS suggestion, or both). SMS suggestions will work normally, but for WinMo word suggestion to function, you will need to switch to HTC default keyboard and manually turn on XT9 on the little T9 switch. After that, you can reload FingerKeyboard and everything will work normally. This can be a good way for people who like to use T9 on other keyboards, but also want to use FingerKeyboard without T9. This approach also makes it possible to use new HTC style suggestion windows (the ones with small arrows on each side, where you can flip between names / words).
To avoid messing around with XT9 switch on HTC keyboard you can simply globally disable XT9 across the whole system. That means that T9 will not work even on system keyboards that have T9 support, but SMS / Word suggestions will both work. This will disable the HTC style suggestion windows, and use the default WinMo style (opens a simple white window with list of suggested words or names). The patch file which disables XT9 globally is attached in this post. This patch can be uninstalled. If you already have it installed, you do not have to remove it or reinstall it. Also, please note that when you install this patch, you will not be able to select SMS /Word options in FingerKeyb config tool - they will always be grayed out.
It might be best to install the FingerKeyb cab and test it first. You can always globally disable XT9 later on if you decide so.
There is a known bug with Word suggestion, that has been almost fully fixed in this version of FingerKeyboard. The bug manifests itself like this:
- if you have "Text word suggestion" turned on, and you type an SMS message, the "home" and "end" buttons will not work while the word suggestion window is open on the screen. If you select a word, those keys will work normally. Unfortunately, this isn't our fault - it's actually a bug in Word suggestion app.
Bug tracker
BUG TRACKER for v2.1
This space is reserved for bug tracking.
Even though the latest version of FingerKeyboard2 has been tested on multiple devices with different ROM-s for more then 20 days, it's very likely that we missed some bugs.
When reporting bugs, please try to be as detailed as possible. The more information you supply, the easier it will be to find the bug and squash it. And we like squashing bugs! Some bugs with previous versions of FingerKeyboard were caused by 3rd party software. The usual suspects are other 3rd party keyboards.
DEBUG LOGGER! PLEASE USE IT IF YOU HAVE PROBLEMS!
Attached below, you will find Fingerkeyb_debug.dll file. This file will create a debug log which you can then send to us, so we can detect problems and try to fix them in the next release. It is mostly aimed at solving the problem that some people have with landscape mode, but it can be used to track any other problems as well. Debug logger is not that painless to use, but if you really want our help, this is the best way for us to detect what the problem is.
To start using this, you will need Resco Explorer or Total Commander CE.
Go into FingerKeyb folder (Program Files).
1. rename Fingerkeyb.dll to something else (example: Fingerkeyb_.dll)
2. Copy FingerKeybd_debug.dll to Program Files/FingerKeyb directory.
3. Rename FingerKeyb_debug.dll to FingerKeyb.dll
4. Softreset the phone
5. Open the FingerKeyboard, press 1-10 random keys on keyboard.
6. Minimize the keyboard, rotate the phone and open the keyboard again, after the phone is in landscape mode. Try to press 1-10 random keys again.
7. If you encounter the landscape bug, switch to HTC keyboard, making sure that it shows in landscape correctly.
8. Copy the FingerKeyb.log in working directory to a different folder on your device or PC and after that select FingerKeyboard again.
9. You will now have 2 log files. Rename them so they don't have the same file name and send them to Rozenthal or Exidler.
If you do not have Resco File Explorer or Total Commander CE, you can try this procedure:
0. Unregister keyboard using the old Fingerkeyb_register.exe (found in v1.4 thread) and then softreset
1. same as above
2. same as above
3. same as above
4. Register keyboard with the Fingerkeyb_register.exe
5. same as above
6. same as above
7. same as above
8. same as above
9. same as above
The logging tool will seem very slow, that's normal - it needs to write a bunch of info on every keypress, so take it easy. After you're done, you can simply reverse the procedure: remove the debug.dll, rename back the original Fingerkeyb.dll, and continue using the keyboard normally.
The log files can be sent to us via private messages here on XDA. Also, please do not expect to instantly receive a magical solution for your problem. If a simple solution exists, we will message you on how to apply it. If it's an issue that requires changing FingerKeyboard core files, it's more likely that the issue will be fixed in future versions of the software.
__________________________________
>>> B U G L I S T <<<
[06. april, 2009]
- Some color schemes in WQVGA have problems (FIXED)
- Some layouts in WQVGA version are causing problems / stuck in numerical keypad (FIXED)
- Samsung Omnia problems with Contact name suggestion (FIXED by installing T9 disable patch)
- Contact name SMS suggestion not working for some people on Touch HD with Dutty 2.6 ROM (FIXED by installing T9 disable patch)
[07. april, 2009]
- Switching from landscape back to portrait can sometimes result in a few pixels big square in top left corner of the device screen. This square looks like a piece of keyboard and can be pressed. The square goes away if you run Config tool or reload keyboard. (unresolved)
Using FKBD2.1 in ROMs
If you are a ROM cooker and wish to use FingerKeyboard2 bundled in your ROM, please notify us first. All ROM-usage requests will be granted, but we wish to know where the keyboard is being used. ROM chefs may find the following info useful:
Registering keyboard in system.
- register dll as com object
or
- add to registry this values:
=====================================
[HKEY_CLASSES_ROOT\CLSID\{C03755DF-3EE7-41DF-AE5E-3FBBCA603F1A}]
@="FingerKeyb"
[HKEY_CLASSES_ROOT\CLSID\{C03755DF-3EE7-41DF-AE5E-3FBBCA603F1A}\DefaultIcon]
@="\\Program Files\\FingerKeyb\\FingerKeyb.dll,0"
[HKEY_CLASSES_ROOT\CLSID\{C03755DF-3EE7-41DF-AE5E-3FBBCA603F1A}\IsSIPInputMethod]
@="1"
[HKEY_CLASSES_ROOT\CLSID\{C03755DF-3EE7-41DF-AE5E-3FBBCA603F1A}\InprocServer32]
@="\\Program Files\\FingerKeyb\\FingerKeyb.dll"
=====================================
Path to .dll can be different.
In registry is saved only which skin files need to load and
which layout was last for each process.
[HKEY_CURRENT_USER\Software\FingerKeyb]
list of exe names and which layout must be restored for this process.
[HKEY_CURRENT_USER\Software\FingerKeyb\SkinFiles]
list of skin files names in _lowercase_
skin-00-scheme-blackblue.txt = DWORD:0 -this means "don't load this skin file"
skin-00-scheme-blackred.txt = DWORD:1 -this means "load this skin file"
Skin files that do not exists in this key will be loaded by keyboard automatically.
Skins directory is relative to place of keyboard DLL.
=====================================
All other settings are saved in skin files (mostly in skin-01-global.txt)
Exception is HTC T9 settings:
[HKEY_LOCAL_MACHINE\Software\Tegic\eT9]
IsSupportMSSIPContact = DWORD:1 - sms name suggestion
XT9SupportMSSip = DWORD:1 - word
But this settings is applied only if:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\Layouts\e0010409]
"Ime File" = "et9ime.dll"
Media kit
Media kit for media / press / bloggers
If you are a representative of the media, and wish to cover FingerKeyboard2 in your magazine, portal or blog, below you will find a ZIP-ed media kit.
Inside it is a short text about FingerKeyboard v2.1, several full size screenshots, high-quality FingerKeyboard logo as well as some other graphics that can be used in publications of any kind.
If you have any additional questions, you will find the needed contacts within the info-text.
We would also kindly ask you to inform us when you publish your cover on FingerKeyboard.
Very nice, is there a skins thread/section yet though? O_O
Hi, thanks.
I dunno if it's because everyone likes the default color schemes (there is a lot of them included), but very few people actually played with graphics for FKBD so far.
And those that did were mostly making small changes here and there, no big overhauls.
Your thumbs are appearing as blocked images...
http://www.imagesforme.com/skin/default/sys_icons/HotLink.gif
downloading now to test this out! Thanks!
very very nice!!!!!!
One question only, where are the settings stored so we can edit them (language selected, vibration enabled, sond type etc) and cook it into our ROM's
Need The ARABIC Language For QVGA
Any One Can Make it
i have already asked the authors in the main thread, Sorry Guys For double posts, but i need it
GREAT KEYBOARD, You have done the Best!!!
jtreminio said:
Your thumbs are appearing as blocked images...
http://www.imagesforme.com/skin/default/sys_icons/HotLink.gif
downloading now to test this out! Thanks!
Click to expand...
Click to collapse
You sure? Works perfectly fine for me :/
dody said:
Need The ARABIC Language For QVGA
Any One Can Make it
i have already asked the authors in the main thread, Sorry Guys For double posts, but i need it
GREAT KEYBOARD, You have done the Best!!!
Click to expand...
Click to collapse
It is available for VGA Giannis edition, but not for the utak3r QVGA.
However, we will make a QVGA version that will be just the same as WVGA / VGA with all language layouts included. Hang on for a day or so, and it will be posted!
p.s. Thank you!
Warmax88 said:
very very nice!!!!!!
One question only, where are the settings stored so we can edit them (language selected, vibration enabled, sond type etc) and cook it into our ROM's
Click to expand...
Click to collapse
Check Program Files\FingerKeyb\Skins - everything is in simple TXT files.
If you want to cook this into your ROM, we would kindly request that you first contact us and tell us what are you working on.
We will grant all requests for ROM inclusion, we just want to know where and how is the keyboard being used.
Whoa, i didn't notice that you have a thread in dev&hacking - i was about to suggest creating it instead of staying hidden in the blackstone section
Maybe it would be a good idea to lock the old one to keep the discussion in one place?
I am having trouble with the Giannis86 VGA cab. It wont install on my touch pro. I get an unsuccessful installation message.
rozenthal said:
it is available for vga giannis edition, but not for the utak3r qvga.
However, we will make a qvga version that will be just the same as wvga / vga with all language layouts included. Hang on for a day or so, and it will be posted!
P.s. Thank you!
Click to expand...
Click to collapse
thanks alot!!!!!!!!!!!
Waiting......
Thank you for this very customizable and user-friendly sip
Great work guys! This app has just hit Maturity 2.0 . It had some things needed to be fixed, but I had not expected this. Thanks
im confused.. this keyboard isnt correcting what i type
have i done somtn wrong? i evn checkd both boxes in htcxt9 options in fingerkeyboard settings
using qvga
any help would be much apprecaited
htctoucher
This isn't compatible with most KitKat ROMs!
Not sure how many of you are using the MMS/SMS app that comes with AOSP, CM and most other ROMs. It's good enough for my usage (don't text much), but I never liked those smileys. I do love the ones I use in Miranda though (from Kolobok).
So here is a solution to that problem, at least if you have root access. I developed a module for my Xposed framework. For those who haven't seen it yet, it can do many modifications to the system and apps in memory, without modifying any APKs. This makes it easy to try out and many modules can work for a broad range of ROMs.
I you want to try it, follow these steps:
1. Install the Xposed framework as described in this thread (REQUIRES ROOT!)
2. Install the attached APK and activate the module in the Xposed installer (this is also described in the framework thread)
3. Reboot
Then, download at least one smiley pack to your phone (see second post) and follow these steps to use it:
4. Import the smiley pack into the app
4a. Start the Smiley Replacer app
4b. Click "Choose a smiley pack"
4c. Click the "add" button (you might need to press the menu key if there is no such button)
4d. Use your favorite file browser to select the smiley pack
4e. Click "Start import"
5. Choose the smiley pack you just imported from the list
6. Restart the MMS/SMS app (there is a button for that which makes sure that the app is properly killed before)
This will only work for 4.0+ ROMs and only for the standard MMS/SMS app, assuming it's based on AOSP and the smiley renderer is not drastically modified. For example, I'm using CM10.1 (Android 4.2.1), but it also worked for Tungstwenty on a Samsung stock ROM with Android 4.0.3. Even though we both have a Galaxy S2, this module will also work on other devices. It only depends on a small subset of the MMS/SMS app code. So I hope this is the correct subforum (if not, feel free to move it).
Some things to note:
- This module doesn't include any smileys itself. You will need a smiley pack, which is easy to create (see second post)
- Smileys can be animated gif files. :victory: This makes it different from simply replacing the images. Please note that this requires many refreshes of the UI. On my phone, the CPU load is still ok, but maybe for some devices with less performance will have problems.
- Source code: https://github.com/rovo89/Smiley-Replacer
Changelog:
1.0: Initial version [116 downloads]
1.1: Fix cut-off smileys and MMS/SMS restart, add size selector [21 downloads]
1.2: Added an option to disable auto-resizing [10 downloads]
1.3: Fixed: Static smileys were still resized even when this was disabled
Example smiley packs / Format description
Smiley packs
AOSP: Default smileys from AOSP 4.2. That's not a big effect as your phone probably uses them already, but might be a good starting point for smiley packs. Especially if you have replaced the smiley graphics in the MMS.apk previously as you just need to replace the images.
Kolobok (attached): I use this one for myself. It contains the animated Kolobok smileys, which are simply lovely.
HTC Sense by noooooo
Emoji by noooooo
Facebook by Suprash
Facebook Messenger by Suprash/saywhatt
ICQ by noooooo
Yolks by saywhatt/bad-blood
IconTexto by saywhatt/IconTexto
Sony Xperia by m1l4droid
Hangouts by noooooo
tuzki animated transparent by justnoone
Skype smiley (Animated) by sasadara
Samsung ChatOn Emoticons by justnoone
Full Yahoo Emoticons Pack by MFaust
Galaxy Note Stock Emojis by justnoone
Cut the Rope by AlkaDragos
Facebook stickers by noooooo
BlackBerry Messenger by marsigliah
Huawei by MFaust
Kik Smileys by marsigliah
HeyWire Emoticons by marsigliah
LINE Stickers by marsigliah
Xperia Z1 by beatrat
Square by daniel_m
And a bit special, for those who don't want to have any smileys at all:
No smileys by m477m
File format
General
A smiley pack is a zip file consisting of a few text files for the metadata and of course the images, all directly in the zip (no subfolders).
I recommend to use "xyz.smileys.zip". Files ending with ".smileys.zip" can be opened and imported directly (unless your file browser insists on opending zip files itself).
In case you want to use characters like umlauts, you need to use UTF-8 character encoding without Byte Order Mark (BOM). I'm using Notepad++, where you can easily select this from the menu.
There is no limit of smileys, however keep in mind that quantity is not everything and that the smileys are local to the phone where the smiley pack is installed. Limit yourself to smileys you and your conversation partners actually send.
Images
I recommend to use png for static smileys and gif for animated smileys. In theory, other file formats like bmp should be supported, but it's untested and probably doesn't add any value. Transparency has to be included in the file itself, i.e. you should see it in the Windows image preview or whatever you are using.
The image size should be something between 20-30px, close to what they are normally display. The images are scaled automatically to match the text height.
info.txt
The first line of this file is the title of the smiley pack. All following lines are the summary.
codes.txt
This file contains a mapping between the images and the codes they replace. There is one line per smiley, empty lines and lines starting with a hash (#) are ignored. Each line has to start with the filename, then one or more blanks, then the main code (which is displayed in the "insert smiley" dialog), then optionally further codes, separated by one or more blanks. For example:
Code:
smile.gif :) :) =)
This would define a smiley with the (animated) image smile.gif, the main code "" as well as further codes "" and "=)". Any occurences of these codes will be replaced with the smiley image.
Only smileys defined in this file will be considered, any other images will be ignored. This file also defines the order of the smileys in various lists. The first smiley in this file will be used for the preview in the "choose smiley pack" screen.
descriptions.txt
Here, the texts displayed next to the smileys are defined. The format is similar to the one of codes.txt. The first field is again the filename, which is followed by one or more blanks. Everything after that is the smiley text. If no description is given for a smiley, the filename without extension will be used.
I recommend to re-use the texts of the builtin smileys if possible. You can do that with the dummy description "DEFAULT:XYZ", where XYZ stands for default smiley. Have a look at the AOSP smileys for a list of all supported smileys and the corresponding texts. As the texts will be taken from the installed MMS/SMS app, the text might vary slightly. But the good thing is: Translations are applied as well, so you profit from a wide range of supported languages.
Examples:
Code:
smile.gif I'm so happy
sad.gif DEFAULT:SAD
Translations
As mentioned in the previous section, the easiest way to get translations is using "DEFAULT:XYZ" whenever possible. However, you might want to add completely new smileys. If you just add the text to descriptions.txt, it will be used for all languages.
To add translations for selected smileys, you can create files like "descriptions-de.txt" (language) and "descriptions-pt-rBR" (language and region). This is the same naming convention as used for Android resources. In these files, you use the same format as in descriptions.txt, however you should only include those smileys which you want to translate. Other texts are inherited from more general files, which means that everything not translated in e.g. descriptions-pt-rBR.txt will be taken from descriptions-pt.txt. If it doesn't exist there either, it's taken from descriptions.txt. The last fallback is the filename without extension as mentioned before. So you don't need to repeat the text from those general files, especially not the "DEFAULT:XYZ" texts.
That's it, I think that should cover it all. For examples, look at existing smiley packs. If you have created a new smiley pack, ping me and I will add a link in this post.
Re: [MOD][XPOSED][4.0+] Smiley Replacer
Working perfectly on stock based 4.1.2 Samsung ROM, on my Note 2. Amazing work, thanks
sent from somewhere
Re: [MOD][XPOSED][4.0+] Smiley Replacer
Great job man
Re: [MOD][XPOSED][4.0+] Smiley Replacer
what about iPhone emoji which is basically what the droidified ones represent ?
Sent from my HTC Sensation using xda app-developers app
Emoji are left untouched by this mod. I haven't looked into them for a couple of reasons:
- Both sender and receiver need a phone that supports emoji
- For you to see an icon, the sender needs to actually insert an emoji, so you don't have the control yourself
- I have never sent or received an emoji
- I think emoji are a bit more standardized than smileys, so I'm not sure if they should be changed too much
I just added the file format descriptions to the second post for anyone who would like to create their own smiley pack.
Confirmed working on 4.2! Great work man! I had been looking for something similar for ages! 2proposal if i can say them:
1 maybe add a facebook and sense 4.5 static pack
2 maybe make them quite bigger
however, fantastic work!
I love the Kolobok smileys, so I'm not gonna use any others. But opinions differ, that's why I chose not to hardcode my preferred smileys but created a file format that is open and it doesn't require any programming skills. Create whatever you like and please share the results.
About smiley sizes: I thought it would be good that they are just as high as the text around them, so that the line height and the space between the lines is unchanged. I have just tried and applied a hardcoded scaling factor - it works, but to me it doesn't look nice because the line spacing is uneven.
rovo89 said:
I love the Kolobok smileys, so I'm not gonna use any others. But opinions differ, that's why I chose not to hardcode my preferred smileys but created a file format that is open and it doesn't require any programming skills. Create whatever you like and please share the results.
About smiley sizes: I thought it would be good that they are just as high as the text around them, so that the line height and the space between the lines is unchanged. I have just tried and applied a hardcoded scaling factor - it works, but to me it doesn't look nice because the line spacing is uneven.
Click to expand...
Click to collapse
I've tried to make an xperia mod pack but it recognises only the smileys i haven't changed, can you help me?
You are using many png files, but all of the smileys in codes.txt are .gif. You have changed descriptions.txt, but most important is codes.txt: "Only smileys defined in this file will be considered, any other images will be ignored."
So, here's the one X pack and, if possible tell me what to modify if i want them quite bigger!, thanks!
In the class MovieSpan, add one line:
Code:
public int getSize(Paint paint, CharSequence text, int start, int end, Paint.FontMetricsInt fm) {
if (fm == null)
fm = new FontMetricsInt();
paint.getFontMetricsInt(fm);
[B][COLOR="DarkGreen"]fm.ascent = fm.top = (int)(fm.ascent * 1.2);[/COLOR][/B]
if (mVerticalAlignment == ALIGN_BASELINE)
fm.descent = fm.bottom = 0;
mScale = (float)(fm.descent - fm.ascent) / mMovieHeight;
return (int)(mMovieWidth * mScale + 0.5f);
}
Same in AutoHeightImageSpan (well, actually you need to copy the whole method as I forget to make it similar to the one in MovieSpan):
Code:
public int getSize(Paint paint, CharSequence text, int start, int end, FontMetricsInt fm) {
if (fm == null)
fm = new FontMetricsInt();
paint.getFontMetricsInt(fm);
[B][COLOR="DarkGreen"]fm.ascent = fm.top = (int)(fm.ascent * 1.2);[/COLOR][/B]
if (mVerticalAlignment == ALIGN_BASELINE)
fm.descent = fm.bottom = 0;
int height = fm.descent - fm.ascent;
float scale = (float)height / mDrawableHeight;
int width = (int)(mDrawableWidth * scale + 0.5f);
mDrawable.setBounds(0, 0, width, height);
return width;
}
Note that this will not scale the smiley by exactly 120%, but something close to it. This is because the top of the drawing area is moved up, whereas the bottom stays the same. With this, at least only the space before the line increases, not the space after the line. That said, I can only repeat that I don't think it looks nice with uneven spacing, but if there is a high demand for this, I might make this an option.
Thanks but i thinks it's too complicate for me i'll keep the small one
Well, as I said: Maybe that will be an option one day. However, maybe you can say anyway what you think about the downside of the larger smileys: the uneven spacing. This makes it a no-go for me, but maybe other think it's fine.
yeah i noticed too that some smileys are cut
What do you mean with "cut"? I had a short look at our smileys and they were fine. If you mean the conversation list, then it's normal that the text (including smileys) is cut off at the right-hand side.
One more question: You describe your smileys as "Sense" smileys. So that means they are the default ones from HTC Sense?
R: [MOD][XPOSED][4.0+] Smiley Replacer
And yes,the default ones
Inviato dal mio HTC Sensation con Tapatalk 2
great job man!!
great job
noooooo said:
And yes,the default ones
Click to expand...
Click to collapse
Ah yes, this is what I had fixed for the animated smileys, but forgot for the normal ones. Happens when there are only smileys in one line, no text. I have a fix for this (I think), but not enough time today to release it.
Goodmorning to all, i'm new in the android world but very interested in his potentiality, i would ask some questions about the possibility to modify the aspect structure via ROM or via launcher or custom app.
I'm interested and i'm working on embed multimedia system by a year or more in freetime, i would like to replicate on android the new project interface i'm making (showed in picture) if is possibile:
h_ttp://oi49.tinypic.com/iedlx2.jpg (i can't embed directly the picture cause under 10posts :angel
* The green rectangle is the visible area of app to run, the bottom and top bar must be visible (and if possible to hide top and down bar on event then the app resize to full screen)
So in the end what i would like to ask:
- Is technically possible to change the aspect structure of android like this? no sub menus just this and icons on center that link to the desidered place (Musi, Video, Internet, Settings)
This Rom / Launcher / Structure will be used or on an anodrid develpoment board or over a tablet for test
Thanks for have read
Hello everyone. I have started to learn making android apps. I have just played wid buttons textviews editTexts layouts.
So now I have planned to make something usefull which can be used by other. I have think of to make app which can take attendance directly in our phone.
For that I need a 1st page just to display the welcome screen and author name etc. then I need a second page in which the actual content will be there I.e my attendance stuff with button etc.
So I have created a splash. xml in which there a custom background which I made in PS , a analog clock in middle of layout and a textView.
the text of textView is "press to continue" and I have set the property clickable to true so that if I press on that textView I want to transfer my control from splash.xml to main_activity.xml.
So my questions is
1. how to transfer control from one .xml to another .xml
2. how to add a list in layout which is scrollable
3. how to store abset and present list separately in sdcard and each time the user save the result it should keep all the record and should not erase the previously saved records
This is related to the i9300... how? Just because you own one?
Why not try posting here?
http://forum.xda-developers.com/android/help
Choristav said:
This is related to the i9300... how? Just because you own one?
Why not try posting here?
http://forum.xda-developers.com/android/help
Click to expand...
Click to collapse
Sure mate.
I will be if I get any help from anywhere
DOCUMENTATION: Project GreatFit
{
"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"
}
IntroductionThis project scopes to provide an easy way to create Amazfit APK watchfaces even without coding skills!
On the other hand, the provided code is clear (still working on this ), contains many comments and is at "the state of the art" when it comes to Amazfit APK watchfaces development.
This code refers to both designers and programmers so feel free to skip the parts about developers.
THIS TUTORIAL IS DEPRECATED WITH THE NEW SOURCES. Most parameters are now gathered in one file: GreatFit\app\src\main\res\values\arrays.xml, read that file, it's quite easy to make changes now. I haven't been able to update the tutorial since I improve GreatFit and its connection with Amazmod.
FeaturesWhy to use these APK watchface sources and not an *.wfz file or other sources? Because:
Customize hours and minutes separate
Display custom battery/steps/daily steps progress bars
Display custom battery/weather icons
Display date/month/day separate
Display more weather info (humidity, wind direction and strength, UV status, city)
Display next watch alarm
Display air pressure
Show/hide units (for calories, distance, temperature)
Easy to enable/disable elements
Easy to position elements in the screen (same positions for screen on and off modes!)
Easy to set element colors
Preparation:
With or without coding skills, you will have to download and install Android Studio in order to compile the java sources to an APK.
Additionally, you will need to download the sources from here.
Project's Structure:Run Android studio, click file->open and select the sources folder. In Studio's left column you will now see project's structure.
View attachment 4559933
You only have to edit 3 things to make a watchface:
Watchface's parameters (elements' positions in the screen and other features)
Images
Fonts
For developers
To start with, you can add more watchfaces in the same APK by editing the manifest and creating 2 new java classes identical to GreatFit and GreatFitSltp.
Within each of these classes you will be able to load each watchface's widgets. There are currently 8 widgets:
- MainClock, where all the time and date elements are handled
- Circle widget, where battery (as number), calories, steps and distance elements alongside with the progress circles/bars are handled.
- Heart rate widget
- Battery widget, that handles the battery images
- Floor widget
- Weather widget, where the weather magic happens
- Great widget, where I try to make new elements work (like am/pm, next alarm and Xdrip)
Watchface's parameters:There are 5 files containing watchface's parameters inside "app\src\main\res\values":
bool.xml (Show/hide: elements, units, progressbars, icons & set the text aligment center or left for each element)
colors.xml (Show/hide: elements, units, progressbars, icons & set the text aligment center or left for each element)
dimens.xml (Change elements' positions in the screen and their font size)
integer.xml (Change progressbars angles and their screen off color, and define the font_ratio)
strings.xml (Change watchface name & style author)
bool.xml:
You can show or hide an element by turning the value to "true" or "false". Additionally you can enable or disable the "flashing_indicator" (the : between hours and minutes) or the "flashing_heart_rate_icon" which will show or hide the "flashing_heart.png" image every second.
Examle, turn seconds off:
Code:
//The original line with the seconds is:
<bool name="seconds">false</bool>
//And seconds are shown by turning the false to true
<bool name="seconds">true</bool>
Additionally with enabling or disabling element, in this file you would set text alignment for each element. Currently, only left and center alignmet types are supported.
Examle, detting steps' alignment:
Code:
//To align the text left:
<bool name="steps_left_align">true</bool>
//To align the text in the center:
<bool name="steps_left_align">false</bool>
colors.xml:
- Under construction
dimens.xml:
- Under construction
integer.xml:
- Under construction
strings.xml:
- Under construction
Fonts:All the used fonts are located in "app\src\main\assets\fonts" folder. Currently you are unable to use more than one font without changing the java code. To change the font, just replace the "font.ttf" file with your font (keep the same name, both .OTR and .TTF files will work).
Causion: If you change the font, you will have to change the "font_ratio" parameter inside the "app\src\main\res\values\integer.xml" file. This parameter shows the position of font's vertical center (from the top in percent of its height). We need this value in order to calculate the same positions for both screen on and off modes (don't ask why ).
Sooo... we need "y" in terms of height%. To calculate it you can just see if the texts moves between screen on/off. Raise or decrease "font_ratio" until you find the perfect spot
If you want to know more about this...
When screen is on, vertical positions are based on the vertical center of the font. On the other hand, when screen is off, texts are like images thus the positions are based on the top left corner of the font. However, i have found a way to calculate horizontal and vertical centers. For more take a look at each widget's slpt code...
For developers
To add more fonts in your code, edit the "app\src\main\java\com\dinodevs\greatfitwatchface\resource\ResourceManager.java" file. Then you have to change these code for every element you whant to change to a second font:
Code:
//Screen on: in the init function, Screen off: in the buildSlptViewComponent function
ResourceManager.getTypeFace(service.getResources(), ResourceManager.Font.FONT_FILE)
Images:When screen is on:
All "screen on" images are gathered in the "res" folder (this is the default images directory on android projects). These images can be in any rgb color.
When screen is off (slpt mode):
On the other hand, all "screen off" images are gathered in the "assets" folder. These images must have a specific color pallete consist of 8 colors:
#ffffff
#ffff00
#ff00ff
#ff0000
#00ffff
#00ff00
#0000ff
#000000
Here is the pallete i use in gimp: View attachment amazfit_palette.zip (css exported pallete, unzip it and import it).
If you don't convert the screen off images in this pallete, at best the image would be converted automatically or they will not show up at all.
I will explain all the images included in this project in the next update. To be continued...
Awesome job, man! Very well documented too, thanks a lot!
I am waiting for daily distance based on steps (like in Mi Fit). I would like to see this function
Awesome...i was waiting for this..thanks man..
jugglerpl said:
I am waiting for daily distance based on steps
Click to expand...
Click to collapse
I suppose this will require you to input your height in order to be more precise... Maybe I can search for an average value for now
i was waiting for this..thanks
What changes did u make in the .jar lib?
Hi,
As I am new to this. Please help me to find out the changes that u made in the .jar file to make it work. I also want to know that how u narrowed down these changes in the .jar file.
Thansk,
Vivek
Nice tutorial(for your first one) .
How do I change the hour digit size;
Is it easy to add more widgets?
In the OP photo i can see at least 3 more widgets
vivek3507 said:
Hi,
As I am new to this. Please help me to find out the changes that u made in the .jar file to make it work. I also want to know that how u narrowed down these changes in the .jar file.
Click to expand...
Click to collapse
Smali editing is not so easy. If you use an older jar file you don't need to make any changes in it.
vd69 said:
Nice tutorial(for your first one) .
How do I change the hour digit size;
Is it easy to add more widgets?
In the OP photo i can see at least 3 more widgets
Click to expand...
Click to collapse
This tutorial is deprecated with the newer sources. Most parameters are now gathered in one file: GreatFit\app\src\main\res\values\arrays.xml
Read that file, it is quite easy to change things now
GreatApo said:
Smali editing is not so easy. If you use an older jar file you don't need to make any changes in it.
This tutorial is deprecated with the newer sources. Most parameters are now gathered in one file: GreatFit\app\src\main\res\values\arrays.xml
Read that file, it is quite easy to change things now
Click to expand...
Click to collapse
I made some changes concernig hour digit size and widget font sizes .Then i pressed build apk and tryed to install it after unnistalling previous version with huami tool (like i do with every version of Greatfit.apk) .Every time the result was failure .
vd69 said:
I made some changes concernig hour digit size and widget font sizes .Then i pressed build apk and tryed to install it after unnistalling previous version with huami tool (like i do with every version of Greatfit.apk) .Every time the result was failure .
Click to expand...
Click to collapse
Unfortunately you have to uninstall with ADB. For some reason various programs do not completely install the apps.
GreatApo said:
Unfortunately you have to uninstall with ADB. For some reason various programs do not completely install the apps.
Click to expand...
Click to collapse
I did it.Thank you so much
Is there a way to see virtually the changes in android studio before applying it
vd69 said:
Is there a way to see virtually the changes in android studio before applying it
Click to expand...
Click to collapse
Unfortunately no. The only thing you can do is setup a layout with the parameters but I have never done it.
Just install it from ADB directly, the watchface will just refresh,l. Next time, just press the up arrow in console and Enter...
GreatApo said:
Unfortunately no. The only thing you can do is setup a layout with the parameters but I have never done it.
Just install it from ADB directly, the watchface will just refresh,l. Next time, just press the up arrow in console and Enter...
Click to expand...
Click to collapse
Thanks
In arrays where the widgets are is written "add a widget here and in widget list". Widget list its before the widgets.? If so, what are the numbers written in every widget 2,12 and so on?
vd69 said:
In arrays where the widgets are is written "add a widget here and in widget list". Widget list its before the widgets.? If so, what are the numbers written in every widget 2,12 and so on?
Click to expand...
Click to collapse
Just copy the previous widget (ex. widget 5) and paste it directly under it. Then add one more element in the "widgets" array (the numbers you are saying). Those numbers are the order number of the default widget you place there (calories, steps etc). You can see them in the "supported widgets" array.
So, lets say you want to add one more widget, which by default floor is selected. You copy the 5th widget, you paste it under 5th, rename it to 6th ("widget6"), change the positions etc. Then you have to add it in the widgets array, make a new item under "<item>22</item>" and input floors' order number which is 6.
Let me know if you got it
GreatApo said:
Just copy the previous widget (ex. widget 5) and paste it directly under it. Then add one more element in the "widgets" array (the numbers you are saying). Those numbers are the order number of the default widget you place there (calories, steps etc). You can see them in the "supported widgets" array.
So, lets say you want to add one more widget, which by default floor is selected. You copy the 5th widget, you paste it under 5th, rename it to 6th ("widget6"), change the positions etc. Then you have to add it in the widgets array, make a new item under "22" and input floors' order number which is 6.
Let me know if you got it
Click to expand...
Click to collapse
Thanks. I will try when I return from work tonight or tomorrow morning. If I put 0 or 25 is by default none?
vd69 said:
Thanks. I will try when I return from work tonight or tomorrow morning. If I put 0 or 25 is by default none?
Click to expand...
Click to collapse
0 is the first widget type (I think it is steps or calories, because array index starts from 0), 25 is the none if I remember correctly.
GreatApo said:
0 is the first widget type (I think it is steps or calories, because array index starts from 0), 25 is the none if I remember correctly.
Click to expand...
Click to collapse
OK i think I got it. Ευχαριστώ. I don't want to be annoying and I know you are a busy man,did you have time to look about the fishing widget?