* Remove duplicated xml-sw768dp/keys_apostrophe_dash.xml
* Separate keys_apostrophe_dash.xml to key_apostorhe.xml and
key_dash.ml
* Separate key_space.xml from row_qwerty4.xml
* Separate key_f1.xml from xml{,-sw600dp}/row_qwerty4.xml
* Separate keys_f1f2.xml from xml-sw768dp/row_qwerty4.xml
* Fix incorrectly named rows_symbols{,_shift}4.xml to
row_symbols{,_shift}4.xml
Change-Id: Id71967a016a348174d1fc265b654dbc233c6562e
* Rename makelabel tool to maketext
* Rename KeyboardLablesSet class to KeyboardTextsSet
* Rename "!label/name" to "!text/name"
Change-Id: Ia9494a89fe56f20ca8e8fedb253adbcf8b771bd3
This change introduces makelabel tool that reads all languages'
donottranslate-more-keys and generate KeyboardLabelsSet.java source
file. The makelabel command must be invoked prior to compile LatinIME.
Change-Id: I7515c7919c535e30f9c80a37bdc831d0f682cd43
* Enlarge 3rd row of phone keyboard slightly for nordic and slavic.
* Fixed the width of the first key of each rows on 10 inch tablet.
Change-Id: I5b1936d7f19db30d2f45aff03a255c2a505a2e7f
* Remove "U+090E: DEVANAGARI LETTER SHORT E" from 3rd row
* Remove "U+0946: DEVANAGARI VOWEL SIGN SHORT E" from 3rd row
* Remove digit and Devanagari digit more keys from shifted layout
* Replace digit keys on symbol layout with Devanagari digit keys
* Enlarge 3rd row of phone layout slightly
Bug: 5964777
Change-Id: I2a4f85bf11fbec3820a79a026d95c8f73a9cf604
* Name keylabel_for string based on layout and position
* Move all default resources to individual donottranslate-morekeys.xml
And empty the default resources. This is much easier to maintain
* Rename scandinavian resource name to nordic
Change-Id: I34c43238d0cc4e9773a6d355f73a1fe11589e23e
The scripts/languages such as Georgian, Hndi have no notion of case.
In such scripts/language, shift locked keyboard should be the same of
manually shifted keyboard.
Change-Id: Iadea3a332674a52188de7f1566727e4b56dced8c
This change also fixes missing Cyrillic DJE key of Seribian keyboard
on 10-inch tablet.
Bug: 5934396
Change-Id: I18ae5f0e54f788b65f649a52bdbbef1813334d96
This change also
* Fix comman/f1 key for Arabic keyboard.
* Removes "show settings key option" and related stuff.
* Renames and simplifies F2 key to shortcut key on 7 inch tablet.
Change-Id: Ib1cf99ad00d9780a2f0d170260e756771e161521
This change also
* Honors the custom action label in EditorInfo.actionLabel.
* Invokes InputConnection.performeEditorAction if action is specifed
at EditorInfo.imeOptions or actionLabel/actionId.
* Stops using InputMethodService.sendKeyChar. Implements
sendKeyCodePoint instead.
Bug: 2498607
Bug: 5961809
Bug: 5368408
Change-Id: If4cd5eb3dacfc6b6a7ea434b0617c2438e06e42d
This change also uses Key.code instead of Key.outputText for the
variety of parentheses keys taht introduced by I85998f17.
Bug: 5975484
Change-Id: I86879c9942d264edc71e5893325a2f582763d12f
This change also
* Rename phone shift keyboard to phone symbols keyboard.
Use CODE_SWITCH_ALPHA_SYMBOL code to switch between phone and phone symbols keyboard.
* Remove phone symbols keyboard from tablet.
* Introduces enableLongPress flag of Key.keyActionFlags attribute.
* Remove clumsy long press code from PointerTracker.
* Remove CODE_CAPSLOCK handling from LatinIME.
* Make KeyboardSwitcher to invoke haptic and audio feedback.
Change-Id: I00e1f697a10ab5112aec75e36853b96246ff5054
If any shift state variants of alphabet keyboard layout is not
specified in KeyboardSet.Element, it will be automatically generated
from base alphabet keyboard definition.
This change also
* Eliminates KeyboardShiftState object from Keyboard.
* Removes various set shift state methods from Keyboard.
* Removes KeyboardSet.Element.elementAutoGenerate attribute.
* Separates "sticky" Key.backgroundType to "stickyOff" and "stickyOn"
* Add preserveCase flag to smiley, .com, and labeled special keys.
* Rename KeyboardShiftState class to AlphabetShiftState.
* Rename some attributes from *UppercaseLetter* to *ShiftedLetterHint*.
* Introduce shiftedLetterActivated to Key.keyLabelFlags
Change-Id: I01a0a8efeeaa76820ae728a5bdfa8d02b6ce74b7
* <Keyboard> XML file should be kbd_*.xml
* <Row> XML file should be rows_*.xml or row_*.xml
* <Key> XML file should be key_*.xml or keys_*.xml
* <key-style> XML file should be key_styles_*.xml
Change-Id: Ie57d5d78389c13d6c066ace4e3588518d1f25f13
To support auto generate key depending keyboard element id, the
KeysCache class is introduced to hold whole keys and reuse.
Change-Id: Icb81b5f1c1b3aaa31968dcdb93aa0a856e737f78
This is the first step to support separate Keyboard for elementName.
This change is the second attempt of Icef66564.
Change-Id: I78ea6cb9ea3d965ff89e0ff5d896a6b11ba5c670
As a consequence,
* Add Key.iconDisabledKey has been introduced and Key.getIcon honors
the enabled state of the key.
* The attribute id of disabled icon for shortcut key,
Keyboard_iconShortcutKeyDisabled, is renamed to
Keyboard_iconDisbledShortcutKey
* KeyboardIconsSet has getIconByIconId and getIconByAttrId methods
instead of getIcon.
Bug: 5778201
Change-Id: Ica93b073b9a04acd18ead7a33b60e3c6d813e7a1
* Get rid of Key.keyIconShifted attribute.
Add Keyboard.iconShiftKeyShifted to KeyboardIconsSet.
* Get rid of LatinKeyboardView.disabledShortcutIcon attribute.
Add Keyboard.iconShortcurKeyDisabled to KeyboardIconsSet.
* Add Keyboard.iconSpaceKeyForNumber to KeyboardIconsSet.
* Fix misplaced autoCorrectionSpacebarLedIcon resources.
Change-Id: I381bff3789254977ab3cb18f58f95b3c433b1e1a
This change introduces KeyboardSet and SubKeyboard XML definitions to
represent a set of keyboard layouts.
Bug: 5002108
Bug: 5679585
Change-Id: Ib6c8d5936187381bb6725c9fe574e93871c01a86
Note that this is not enough: we still need to create a
reasonable proximity table for Cyrillic characters, or we
won't be able to show up suggestions.
Bug: 5701241
Change-Id: Idb141f7a230a6e1a46094308c26f43c01ab3b97a
* Registering alternate code and while key is typing.
* Showing press/release graphics of the key that has the above altenate code.
* Showing press/release graphics of all shift keys.
* Renaming Key.ignoreWhileTyping to Key.altCodeWhileTyping.
Bug: 5639503
Change-Id: I67fb45bae76284a1f0deb6fd12ae5fb781d06cc3
This change also removes hacks in LatinKeyboardView by utilizing
noKeyPreview attribute.
Bug: 5638595
Change-Id: Icd8a3af3b7849b941f8f5532e2b432e126a909e6
* Locale is one of EU, main currency is Euro, and more currencies are
Pound, Yen and Dollar (plus Cent on 10" tablet)
* Locale is GB, main currency is Pound, and more currencies are
Euro, Yen and Dollar (plus Cent on 10" tablet)
* Locale has special currency symbol such as Hebrew,
main currency is the one, and more currencies are
Pound, Euro, Dollar (plus Cent on 10" tablet)
* Other than these, main currency is Dollar, and more currencies are
Pound, Cent, Euro (plus Yen on 10" tablet)
Bug: 5281876
Change-Id: I548dc663bafdb3b3f717f4328fda8dfcbafca2df
The locale is specified by KeyboardLocale extra key in method.xml,
LatinIME will use the specified locale for keyboard layout.
Bug: 5238658
Change-Id: I8e6cb66c73a7ac1bf611d9910b42fa9cff38eba0
This change also introduces "AsciiCapable" extra value for subtype
that indicates the subtype can input any ASCII code point from its
keyboard layout.
Only if the input field has "forceAscii" private IME option and the
current subtype doesn't have "AsciiCapable" extra value, the en_US
keyboard layout will be used for the input field.
Bug: 3384942
Change-Id: I25e2553e37ecb5002df1164e45f6273845fe463b
Some changes downward the road need Latin IME to know the dictionary
pack by package name. This makes the name an external string.
Bug: 5095140
Change-Id: Ibebf5eb892af19681c18da38955e50dfb573330a
Instead of showing a tab key at the position of "period" key, this
change places a tab key on the left side of the space key or on the
mini popup keyboard of the mic/comma key accordingly.
Bug: 4340933
Change-Id: If3cbc6d0b36f74fbc9320d6f433c65c66051dc09
This change removes everything related to the quick fixes
Latin IME option item.
Note that Autotext is still used if the current subtype language
is the same as the system language.
Bug: 4985058
Change-Id: I51728a2190543ffb9e004470674ef6257b14f6c2
The first key and the last of the row are automatically marked as left
and right edge key respectively. The existence of Spacer will prevent
those automatic marking.
Bug: 5038844
Change-Id: Ie34169ceaf76e24923b8d8125eda6ecb95cf1fee
This change introduces:
* New KeyboardView attribute
* keyLargeLetterRatio to specify large letter text size.
* keyHintLabelRatio to specify hint label text size.
* keyHintLabelColor to specify hint label text color.
* keyPreviewTextRatio to specify key preview text size.
* New Key.keyLabelOption flags
* alignLeftOfCenter, align the key label slightly left of the key center.
* largeLetter, use keyLargeLetterRatio to draw key letter.
* hasHintLabel, draw keyHintLabel at the right of key letter.
* followKeyHintLabelRatio, draw the key label following keyHintLabelRatio size.
* Renames
* Key.keyHintLetter to keyHintLabel.
* Key.keylLabelOption fontFixedWidth to fontMonoSpace.
* Key.keylLabelOption popupHint to hasPopupHint.
* Removes
* number icon releted attributes and declarations.
Change-Id: I2f456737e3a46209e5f48b5155951b2b21a33859
This change instroduces new IceCreamSandwich assets and renames
Honeycomb theme to IceCreamSandwich. Though checked only on
hdpi-phone and mdpi-10"-tablet.
File another bug (Bug: 4852048) to fine tune keyboard layout for all
possible combination of devices and themes.
Bug: 4436327
Change-Id: I4f8dc1dd6b798a39204702bbcbebf17a199dc82f
I left TODOs in Suggest.java because we must pay attention to locale
when changing character's case. Filed another Bug: 4769095 to track
that.
Bug: 4768050
Change-Id: I1ae2c4ffd2208403a8c2a25dd3a56b71dcefc826
Basically Croatian keyboard is QWERTZ layout with extra letters such
as č, ć, đ, ž and š. This change just introduces Croatian keyboard
subtype and QWERTZ layout which has the extra letters as popup mini
keyboard of base letter.
It might be great if we could have dedidated table layout.
Bug: 4309160
Change-Id: I0fc227295defa56029ca06e406f73833b992be0e
There are already both languages keyboard layout. Finnish is based on
Scandinavian layout and Hungarian is based on QWERTZ.
Change-Id: I6c804495bf1ae56661bc5c714e0c500132cd55a8
Previously tab key is shown only when the input type variant says that
it is web input. In addition to that, this change also shows tab key
when the IME option includes editor action (next and/or previous)
flag.
Bug: 3094312
Change-Id: I3f8841fdbcee918a0f93f3259090f24e70d96471
This change also removes manualTemporaryUpperCaseCode and
manualTemporaryUpperCaseHintIcon. Instead of these keyLabelOption now
has hasUppercaseLetter flag value.
Bug: 4436327
Change-Id: I88fdac1e888a7123735296f5ef45f5fdd565cd2e
This change is needed to introduce new theme easily. As a starter this
change introduces Keyboard.popupHintIcon attribute and
Key.keyLabelOption.popupHint flag to show popup hint icon that is
previously specified by Key.keyHintIcon attribute.
Bug: 4436327
Change-Id: I6b1c5c1b88eece541141b2d2cedd164ee02e5c2a
This change removes Russian keyboard layout exceptions and make it
compatible with other Latin's.
Also tweaks some locales' keyboard layout to match with standard PC's
keyboard layout at most.
Change-Id: I305201fb850b4f94ae7e746ab4c039473d09da70
This change introduces the following features to Keyboard XML format.
* "keyXPos" can specify the key X coordinate directly.
* "keyXPos" can be negative. The X coordinate will be calcluated from
the right edge of the keyboard toward left.
* "keyWidth" can be zero to be filled up to the right side.
* "keyWidth can be negative. The key will be filled up to both sides.
* Spacer's horizontalGap is renamed as keyWidth, and can be inherited
from key-style.
* Spacer can have keyXPos attribute.
Using these syntax, all keyboard layouts have been re-written.
Cherry-Pick: I314b2e8ca2aa145ff9506cbf927140a15685af42
Bug: 4442045
Change-Id: I048fe5eaef020d8472ab577e9d326042bae2f3fa
Also add an option for popup dismissal delay so as to inaugurate the
new screen. Besides, remove a path for options to escape from
LatinIME and replace with a direct read from the settings.
Change-Id: I7ec6e724262871fa6523506ecc39f65c5fbe34da
Because current DroidSans font lacks double high-reversed-9 quotation
mark '\u201f' glyph (Bug: 4368421), this change remove it from symbol
keyboard popup mini keyboard. This change also removes corresponding
double low-9 quotation marks as well.
Bug: 4347045
Change-Id: I30d1493376efe5af98722e76999107de5dfcae3e
This change
* Allows snap back from symbols shifted to symbol layout.
* Add "left single", "right single", "single low" and "single high
reversed" quotation marks to popup characters of "single quote".
* Add "double low" and "double high reversed" quatation marks to popup
characters of "double quote".
* Add "prime" and "double prime" to popup characters of "degree".
* Disable non-ASCII key of symbol more layout on passowrd input.
Bug: 4345054
Bug: 4347045
Change-Id: I8168ce6a74a9536e4966f7f9d1099ac0132925c7
This change adds the option for bigram prediction under the option
for bigram suggestion. The "prediction" option depends on the
"suggestion" option.
This change also reorders a tad bit the settings screen. Namely, it
sticks both bigram options under a "bigram" category, and groups the
options that did not have a group under a "other options", or misc,
category.
Finally this change also renames the internal name of the "text
corrections" option category to "correction_category" instead of
"prediction_category" which was misleading.
Change-Id: I2d8787c8a391fd8202ed3a686c613494b7260a1e
Some flag settings used to be stored in a keyboard layout extravalue setting. This
change:
- Introduces the capability of setting such specific flags in values/config.xml
- Retains the ability to use extravalues (for layout-specific settings), though
there is no more any such setting at the moment.
- Fixes a bug where loading a dictionary from outside does not initialize the flags.
- Moves Flag to another class.
Note: this needs I705ec68c to avoid breaking the build
Change-Id: Ia7703aae3215b06c0b3cb792821649806e8998c1
Removing "settings" key popup from these keys when there's a dedicated
"settings" key in the layout.
This is followup chnage of I119528c0.
Bug: 4196879
Change-Id: I742cc6d1d890c095610f1e8b9ac91a044ec540b7
Because handling shift locked state of alphabet keyboard is done by
KeyboardSwitcher, there is no need to change the "on" state of Key
when releasing the key. On the other hand, symbol and symbol shifted
keyboard has fixed "on" state "ALT/MORE" key.
This change also renames the attribute "isModifier" to "isFunctional".
Change-Id: I082885bd2376ae26bdfc378c14add2b5d6be1d4e
Ic4df2a9a introduced new keyboard layouts for Hebrew and Arabic.
This change adds a comment to them alongside with trailing
whitespace suppression.
This change explicitly limits its scope to files introduced by
Ic4df2a9a. It replaces I48927626 which has been deemed too reckless.
Change-Id: Id6b0e47f0623ead0b4e42e57dae359231a2b97fc
The Arabic keyboard is more or less based on PC keyboard and other
sources. It has no means to input diacritics at the moment.
Some data for the Hebrew keyboard was already there, but not used.
This change splits phone and tablet layout and consolidates the
tablet one to something that seems sensible. It can't input diacritics
either at the moment.
Other shortcomings affect those keyboards. For example, normal
Hebrew keyboards switch to capital QWERTY keyboard with shift on,
as there are no capital Hebrew characters, but this version does not
feature this.
It should be mostly possible already to enter Arabic or Hebrew with
these keyboards however.
Change-Id: Ic4df2a9a77ffd03c4f9ee2c47e03c0f43f8e48ae
For German : handle "ae", "oe" and "ue" to be alternate forms for
umlaut-bearing versions of "a", "o" and "u".
Issue: 3275926
Change-Id: I056c707cdacc464ceab63be56c016c7f8439196c
The currency key shows different key label depending on the coutnry
code of the keyboard, "dollar", "euro" and "pound".
Bug: 3413589
Change-Id: I660c6f5010629276df3f97d337f4493d1fbccb3f
Also change the name of the default value for re-correction for
consistency with other constant names.
Bug: 3426884
Change-Id: I615ba640fb17e6d7514b8a0e4f52028eb0e23908
Conditionally remove the "Quick fixes", "Bigram suggestions" and
"Usability study mode" options, depending on configuration.
When disabled, have the quick fixes and bigram option become
false if autocorrect is off, and true otherwise.
Also reorder options to bring "Auto correction" above "Show
suggestions".
bug: 3282448
Change-Id: Ib7fd928be417a816ef9e21423a531773069b7468
Add a "General" category to enclose general settings, and rename
"Word suggestion settings" to "Text correction".
bug: 3282448
Change-Id: Ie695683af0646974da82e29e11d1c3a785ef46c7
Do not show the recorrection option on xlarge terminals,
and make it true by default. Also, bring the Auto-capitalization
at the top of the settings page.
Issue: 3282448
Change-Id: I51a9ae6c7e496be2970107277f0a4ac65b12821e
This change is a preparation for upcoming optimizations on dictionary file loading.
* We can consolidate dictionary files because we are no longer relying on Asset Manager.
* Stopping compressing dictionary files as planning to use mmap() on the region in the apk file.
* Probably we won't rely on Asset Manager. Instead we'll probably use offset and size obtained from AssetFileDescriptor.
Change-Id: Id57dce512fd3d2397a58628f8264bd824194da76
This change
- introduces the popupKeyboardTemplate attribute of Keyboard to
specify XML Keyboard file for popup mini keyboard.
- introduces the maxPopupKeyboardColumn attribute of Keyboard to
specify the maximum column of popup mini keyboard.
- changes the content format of the popupCharacters attribute of Key.
It now represents keyLabel, codes and keyTextOutput of each key of
popup mini keyboard using CSV format.
Bug: 2214959
Change-Id: I539e310f7e38a049ee193de0b4ad5d7afdce37b1
This change introduces,
- new attribute keyboardHeight to specify default keyboard height.
- new attribute maxKeyboardHeight to specify maximum keyboard height,
usually specified by percentage to the screen height.
- keyHeight attribute is obsoleted
- new attribute rowHeight to specify a row height, can be specifed as
percentage of the keyboard height. And verticalGap is included to
the row height (row height = key height + vertical gap).
Change-Id: I48a2f2661e8a91a998503a847437c1baf1de9b9c
This change introduces,
- support de QWERTZ
- support fr AZERTY
- support fr_CA QWERTY layout
- support fr_CH QWERTZ layout
- refactor some common keyboard row layouts
Bug: 2334086
Change-Id: I3e01e841e0dc72419d55e29d426bdec70655459c
This change introduces shiftedIcon attribute for Key which specifies
icon to draw the shift key while the key is in shifted state.
This change also intriduces new configurable dimension value
key_label_horizontal_alignment_padding which represents horizontal
padding for left or right alignment of key label.
Bug: 3216592
Bug: 3201839
Change-Id: I3aa7392227ce573c404517678e6340a8d1fcb328
Cherrypick I44f3b2eef8086d6e0b0db53d38f08487549060c6 from Gingerbread
This change also introduces the key background drawables which has no
fixed bottom padding. Instead of relying on bottom padding in
drawable, this change also specifies Keyboard.verticalGap with
physical unit. Other keyboard related length, distance and size are
also specified by physical unit.
Bug: 3066107
Change-Id: Ib38355ebfc2f8d5b1d26c4e90eba87196fbeddfa
We'll merge this to master for now, but we should have new attr (such as popupCharWidth) to handle this reasonably in the newly created BaseKeyboard class.
bug: 3082178
Change-Id: I024b946aafbbeb07b865a09f489dacb56f0478d0
Merge commit 'c0fc4bf9932caf536af5d5d86bb61ec6d8a44a99'
* commit 'c0fc4bf9932caf536af5d5d86bb61ec6d8a44a99':
Long press mic/comma key bring mini keyboard with settings
Merge commit '89e21ee1f5be55ac3db224ab54b27cc604087efa'
* commit '89e21ee1f5be55ac3db224ab54b27cc604087efa':
Move comma as default position of mini keyboard
Merge commit '13a6c8c1f8691b753cd1a6b7a77d99af4f7d78ac'
* commit '13a6c8c1f8691b753cd1a6b7a77d99af4f7d78ac':
Add a new preference item to show/hide the settings key.
Merge commit '6ee4e43929bd18b7d617d921f3ec259ff2b81592'
* commit '6ee4e43929bd18b7d617d921f3ec259ff2b81592':
Fix the bacground color for "/" in URL mode
If there is no android:codes specified, the first character of
keyLabel's code point will be used instead.
Also introduce readable codes as @integer/key_XXX resources
Bug: 2973749
Change-Id: If9021ca35f9a7b922817e2099186fce0cd993652
Merge commit 'ed34cd19a93528c960380d57e024f49cb17d5e5f'
* commit 'ed34cd19a93528c960380d57e024f49cb17d5e5f':
Add isModifier to the buttons in the lowest line
Merge commit 'b6e3cb8f8de487f537bf8522ed4d494798e03791'
* commit 'b6e3cb8f8de487f537bf8522ed4d494798e03791':
Fix layout issue of the bottom row in web entry mode
Merge commit 'a723409acfe9a2c32be2c3a0d6e5be9a0dd82f00'
* commit 'a723409acfe9a2c32be2c3a0d6e5be9a0dd82f00':
Add a number alternation to English popup mini keyboard
This change is only for English locale. For other locales we should
need specification because keyboard layout and alternations are
different by locale.
Bug: 2959169
Change-Id: Ib63f53ce6c30d75eff78777aa0049b05d58ce55f
Merge commit 'c5363012b846733e9a3b7ce7de5b04e58644bedc'
* commit 'c5363012b846733e9a3b7ce7de5b04e58644bedc':
Change the preference name for a theme and remove a preference settings
Merge commit '308acfa714a3a0aae073871e76e753b5a98096d1'
* commit '308acfa714a3a0aae073871e76e753b5a98096d1':
Change background color for functional keys in LatinIME
Merge commit '6ad0d15ca28aa23a85c2480966bc58b2f2d4694c'
* commit '6ad0d15ca28aa23a85c2480966bc58b2f2d4694c':
Disable long-press on shift and symbol keys
Long-press on shift and symbol keys will conflict with press-and-hold
these keys and press normal key (a.k.a. multi touch support).
Bug: 2910379
Change-Id: I27007b55a30a3699bf63fd8f64d58c4b23d97d9f
- retrieve bigrams that only starts with character typed and neighbor keys
- contacts bigram
- performance measure
bug: 2873133
Change-Id: If97c005b18c82f3fafef50009dd2dfd972b0ab8f
- after first character, only suggests bigram data (but doesn't autocomplete)
- after second character, words from dictionary gets rearranged by using bigram
- compatible with old dictionary
- added preference option to disable bigram
Change-Id: Ia8f4e8fa55e797e86d858fd499887cd396388411
- Tap feedback option 10 times, then debug mode will be enabled.
- Change default value of KeyboardMode to avoid NPE
- Update version code
Change-Id: I3a4e64db0d3aa9a08f0e3b3ad1669e728e32cddf
Move java code to a different directory so that the unbundled
version doesn't try to compile the native code again.
Change-Id: I05cf9e643824ddc448821f69805ccb0240c5b986