Compare commits

...

56 Commits

Author SHA1 Message Date
Jules Aguillon
3952f48b13 Add icons to some options
Co-authored-by: RetrogisusDEV
2023-08-15 20:37:00 +02:00
Edgars
39a751a497 Add missing Latvian translations (#425) 2023-08-08 16:38:34 +02:00
Chasm Solacer
1ad8f79b5c Updated pl (Polish) translation (#424) 2023-08-07 20:48:13 +02:00
Validbit
12de2733a8 Updated Czech translation (#421) 2023-08-07 20:16:45 +02:00
sdrapha
78f521250f Update pt-Br translations 2023-08-07 18:38:53 +02:00
sdrapha
29106bc69a Add Superscript and Subscript letters 2023-08-07 18:38:53 +02:00
Rapha
f522a678f9 Add superscript, subscript, ª and º to optional extrakeys
And add description strings.
2023-08-07 18:38:53 +02:00
Rapha
c17dfdfe13 Add ordinals to ptbr extrakeys 2023-08-07 18:38:53 +02:00
Jules Aguillon
21316b77d7 Don't elide label of non-string keys
Several non-string keys can have a large label that shouldn't be elided,
for example ctrl, meta, send.

Also, change the cutoff to 3 characters as labels are easily colliding.
2023-08-07 13:11:21 +02:00
Jules Aguillon
eeae964ae6 check_layout: Warn about duplicate keys 2023-08-06 20:09:53 +02:00
Jules Aguillon
8d7b3efeb1 LayoutsPreference: Show layout display names
The internal name of layouts was rendered.
2023-08-06 19:54:38 +02:00
Jules Aguillon
ddc4ff1378 Describe editing keys
The new strings are used in the "Add keys to the keyboard" option.
2023-08-06 19:35:06 +02:00
Jules Aguillon
1c59347cca Add glyphs for editing keys
All from Material Design Icons.
2023-08-06 19:17:05 +02:00
Jules Aguillon
eb56c80ffb Elide custom keys labels
Make the font smaller for custom keys with a length above 1.
Draw up to 4 characters on keys.
2023-08-06 18:22:15 +02:00
Jules Aguillon
4d10556d49 Don't replace user selected dead keys
Don't replace dead-keys selected in the "Add keys to the keyboard"
option by an alternative.
2023-08-06 17:15:36 +02:00
Jules Aguillon
1eea9e25d2 Remove the Accents option
This option makes less sense since per-script extra keys. It's also
getting in the way of an eventual "dead-key or accented-letters" option.
2023-08-06 17:15:35 +02:00
Jules Aguillon
45905f5f3b Replace dead-keys when there's one alternative
The dead-key is replaced by its alternative if there's only one
specified.
Extra keys from every subtypes must be merged together to be able to
make this check.
2023-08-06 17:14:23 +02:00
Jules Aguillon
c26343cd42 method.xml: Specify extra keys alternatives 2023-08-06 17:14:23 +02:00
Jules Aguillon
cd95c589de Extra keys alternatives
For each extra key, a list of alternative can be specified. An extra key
won't be added to the keyboard if all its alternatives are already
present on it.

This is useful to avoid having the dead key for an accent and the
accented letters at the same time.
2023-08-06 17:14:23 +02:00
Rapha
0924df8d13 Update translations pt-br (#420) 2023-08-06 12:19:51 +02:00
Chasm Solacer
0fea071352 Updated pl (Polish) translation (#419) 2023-08-06 00:13:37 +02:00
Jules Aguillon
c46e5ec450 Add esc and tab to the Persian layout 2023-08-05 19:44:00 +02:00
Jules Aguillon
6054c2eec8 Add Persian to method.xml 2023-08-05 19:40:13 +02:00
Jules Aguillon
dcbb4c484c Modify arabic and persian numbers info function keys
And add function keys placeholders in the layouts.
2023-08-05 19:40:13 +02:00
Jules Aguillon
76f01122c2 Tweak check_layout.py
- Warn about missing esc, tab, f11_placeholder and f12_placeholder.
- Don't check non-layout files and special layouts.
2023-08-05 19:40:13 +02:00
Stephen Karl Larroque
94bd9c6bc8 docs: mention Calculator++ (#418)
* docs: mention Calculator++

Signed-off-by: Stephen L. <LRQ3000@gmail.com>
2023-08-05 17:37:27 +02:00
Jules Aguillon
7ce0c6e37a sync_translations.py: Report number of missing strings 2023-08-05 17:27:56 +02:00
Jules Aguillon
9ea06594d1 Update French translations 2023-08-05 16:52:26 +02:00
Jules Aguillon
ae791ab292 Translatable key descriptions
Key descriptions are shown in the "extra keys" option and can now be
translated.
2023-08-05 16:45:57 +02:00
Jules Aguillon
8b95053566 LauncherActivity: Visible, clickable and untranslatable link
The link to Github was not clickable and couldn't easily be made so in
its current form.

Render the link in its own paragraph and do not hide the URL.
2023-08-04 17:31:06 +02:00
Jules Aguillon
e0dd145bb4 Correct Farsi strings 2023-08-04 17:11:00 +02:00
Jules Aguillon
4abea0e878 Settings: Increase vibration values 2023-08-02 21:02:07 +02:00
Jules Aguillon
be97364b34 font: Move glyphs into the PUA
Glyphs in the Private Use Area at uE000 will no longer conflict with
fallback fonts in the "extra keys" option.
2023-08-02 20:39:37 +02:00
Jules Aguillon
3c3955e583 Settings: Move "extra keys" higher on the page
And "Accents" lower.
2023-08-02 20:17:41 +02:00
Jules Aguillon
22458cd445 check_layout.py: Warn about editing and function keys 2023-08-02 12:09:15 +02:00
Jules Aguillon
3598e19894 Update check_layout.output 2023-07-31 00:10:49 +02:00
Jules Aguillon
9bd8b08544 ListGroupPreference: Allow to modify items 2023-07-30 23:34:48 +02:00
Jules Aguillon
dad5f57a03 Allow more than 2 layouts
The two layout selection options are replaced by a ListGroupPreference
that allow to enter an arbitrary amount of layouts.

The "switch_second" and "switch_second_back" keys are replaced by
"switch_forward" and "switch_backward", which allow to cycle through the
selected layouts in two directions.

Layouts are changed to place these two key on the space bar.
The backward key is not shown if there's only two layouts.
2023-07-30 21:44:14 +02:00
Jules Aguillon
818aa4c7d5 ListGroupPreference: Allow hide the "remove" button 2023-07-30 21:34:01 +02:00
Jules Aguillon
b4a1ac48bb ListGroupPreference: Overrideable "add" button 2023-07-30 21:34:01 +02:00
Jules Aguillon
0856fb4e31 Refactor: Split out ListGroupPreference
Split out the implementation of a string-list preference from
CustomExtraKeysPreference.

Allows to share the implementation with future preferences.
2023-07-29 18:42:36 +02:00
Ben Slusky
0a114bd2bc Add dagger, double dagger, section mark, and pilcrow as extra keys on QWERTY-like layouts (#410)
* Add section mark as an extra key in QWERTY-like layouts that don't have it already

* Add dagger (also double dagger) as an extra key in QWERTY-like layouts
2023-07-29 18:42:20 +02:00
Jules Aguillon
427ef6a97d Add '=' to pin entry layout
Might be useful in spreadsheets.
2023-07-29 17:40:21 +02:00
Jules Aguillon
fce8ff7ce2 Add option to disable pin entry layout
The pin entry layout might be inferior for some usecases and people
might be more used to the numeric layout.
2023-07-29 17:29:45 +02:00
KuRa KuRd
d1f0d5a7bf Correct Kurdish layout name (#407)
Correct layout name to Kurdish because Kurdish and Arabic are totally two different language.
2023-07-23 17:09:57 +02:00
adu
f60927edac Updated Spanish translation (#404) 2023-07-20 14:02:18 +02:00
Jules Aguillon
8b2c07c9cb Refactor: Centralize logging in a static class
This new class will help write more logs. The LogPrinter is no longer
created everytime the keyboard is opened.

An error log is added if failing to load the custom extra keys.
2023-07-19 23:30:58 +02:00
Jules Aguillon
458e17bf31 Add custom extra keys preference
This is a new section in the extra keys option that allows to enter
arbitrary strings which are then added to the keyboard.

A new string is needed for the title of the section, Android's icons and
strings are used as much as possible to avoid adding more strings.

Keys are stored in the preferences as a JSON array of strings.
2023-07-19 23:30:58 +02:00
Jules Aguillon
324aa26ba4 Refactor: Make KeyValue.makeStringKey public 2023-07-19 23:30:58 +02:00
Jules Aguillon
6747669c2d Refactor: Use a PreferenceCategory for extra keys
This removes the need for a layout definition and adds a title before
the prefs.
It's a prerequise for the custom keys preference.
2023-07-19 23:30:58 +02:00
Reza Hosseinzadeh
1097b297d3 Improve the Persian layout (#397)
Change some characters' position
2023-07-17 19:33:09 +02:00
Jules Aguillon
4669192a01 Refactor: Don't define extra keys in xml
The current approach is hard to maintain, for example the last key
"autofill" was not displayed.

This implements a PreferenceGroup that contains the check boxes for
every extra keys without involving listing the preferences in
settings.xml.

A custom layout is used to remove the 'title' text view.
The list of extra keys is moved into the new class.
'ExtraKeyCheckBoxPreference' becomes a nested class.
2023-07-09 18:14:43 +02:00
Jules Aguillon
a2957a43d6 Add symbol ₴ to Fn+h and to Ukrainian 2023-07-09 16:12:13 +02:00
Jules Aguillon
37d4a523bb Remove use of Arrays.copyOf
The function has been added in API 9.
2023-07-05 18:58:27 +02:00
Validbit
ef4477d50c Updated/Added Czech translation + 2 common Fn keys (#387) 2023-07-02 16:12:19 +02:00
Jules Aguillon
7f79bc358d Fix descriptions
Short description can't exceed 80 characters.
Removed trailing space.
2023-07-01 17:44:14 +02:00
118 changed files with 1808 additions and 764 deletions

View File

@@ -149,6 +149,7 @@ To check that `strings.xml` is formatted correctly, run
The store description is found in `metadata/android/<locale>/`,
`short_description.txt` and `full_description.txt`.
The short description must not exceed 80 characters.
Translating changelogs is not useful.
The app name might be partially translated, the "unexpected" word should remain

View File

@@ -20,6 +20,9 @@ Now perfect for everyday use.
This application contains no ads, doesn't make any network requests and is Open Source.
## Similar apps
* [Calculator++](https://github.com/Bubu/android-calculatorpp) - Calculator with a similar UX, swipe to corners for advanced math symbols and operators. Works up to Android 13 but maybe unmaintained.
## Contributing
For instructions on building the application, see

View File

@@ -1,24 +1,27 @@
# res/xml/arab_alt.xml
Layout includes some ASCII punctuation but not all, missing: !, ", ', +, -, /, :, ;, <, =, >, ?, [, \, ], _, |, ~
1 warnings
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
2 warnings
# res/xml/arab_pc_ckb.xml
Layout includes some ASCII punctuation but not all, missing: ", %, ', +, ,, ., :, ;, <, =, >, ?, `, |, ~
1 warnings
# res/xml/arab_pc_ir.xml
Layout includes some ASCII punctuation but not all, missing: ", $, %, ', *, ,, /, ;, <, =, >, ?, [, \, ], ^, _, `, {, |, }, ~
1 warnings
Duplicate keys: (, )
Layout includes some ASCII punctuation but not all, missing: ", %, ', ,, /, ;, <, =, >, ?, [, \, ], `, {, |, }
2 warnings
# res/xml/arab_pc.xml
Layout includes some ASCII punctuation but not all, missing: !, ', +, ;, ?, \, |
1 warnings
# res/xml/beng_national.xml
Layout includes some ASCII punctuation but not all, missing: $
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
Layout doesn't specify a script.
2 warnings
3 warnings
# res/xml/beng_provat.xml
Layout includes some ASCII punctuation but not all, missing: $, &, *, ., /, <, >, [, \, ], `, {, |, }
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
Layout doesn't specify a script.
2 warnings
Not a layout file: res/xml/bottom_row.xml
3 warnings
# res/xml/cyrl_jcuken_ru.xml
0 warnings
# res/xml/cyrl_jcuken_uk.xml
@@ -28,17 +31,16 @@ Layout includes some ASCII punctuation but not all, missing: ~
1 warnings
# res/xml/deva_alt.xml
Layout includes some ASCII punctuation but not all, missing: #, $, %, &, ', (, ), *, +, ., /, :, <, =, >, @, [, \, ], ^, _, `, {, |, }, ~
1 warnings
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
2 warnings
# res/xml/deva_inscript.xml
Duplicate keys: , ।
Layout includes some ASCII punctuation but not all, missing: ", $, ', ^, _, `, |
1 warnings
# res/xml/greekmath.xml
Layout includes some ASCII punctuation but not all, missing: !, ", #, $, %, &, ', (, ), *, +, ,, -, /, :, ;, <, >, ?, @, [, \, ], _, `, {, |, }, ~
Layout redefines the bottom row but some important keys are missing, missing: change_method, config, ctrl, switch_emoji, switch_second
Layout doesn't specify a script.
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
3 warnings
# res/xml/grek_qwerty.xml
0 warnings
Duplicate keys: ;
1 warnings
# res/xml/hang_dubeolsik_kr.xml
0 warnings
# res/xml/hebr_1_il.xml
@@ -51,13 +53,16 @@ Layout includes some ASCII punctuation but not all, missing: (, ), <, >, [, ], {
0 warnings
# res/xml/latn_bone.xml
Layout includes some ASCII punctuation but not all, missing: $
1 warnings
Layout redefines the bottom row but some important keys are missing, missing: switch_backward
2 warnings
# res/xml/latn_colemak.xml
0 warnings
# res/xml/latn_dvorak.xml
0 warnings
# res/xml/latn_neo2.xml
0 warnings
Duplicate keys: -
Layout redefines the bottom row but some important keys are missing, missing: switch_forward
2 warnings
# res/xml/latn_qwerty_br.xml
0 warnings
# res/xml/latn_qwerty_es.xml
@@ -73,9 +78,11 @@ Layout includes some ASCII punctuation but not all, missing: $
# res/xml/latn_qwerty_ro.xml
0 warnings
# res/xml/latn_qwerty_se.xml
0 warnings
Duplicate keys: !, ', ,, -, ., ?
1 warnings
# res/xml/latn_qwerty_tr.xml
0 warnings
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
1 warnings
# res/xml/latn_qwerty_us.xml
0 warnings
# res/xml/latn_qwerty_vi.xml
@@ -83,34 +90,18 @@ Layout includes some ASCII punctuation but not all, missing: \
1 warnings
# res/xml/latn_qwertz_cz_multifunctional.xml
Layout includes some ASCII punctuation but not all, missing: `
1 warnings
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
2 warnings
# res/xml/latn_qwertz_cz.xml
0 warnings
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
1 warnings
# res/xml/latn_qwertz_de.xml
0 warnings
# res/xml/latn_qwertz_hu.xml
0 warnings
# res/xml/latn_qwertz_sk.xml
Layout includes some ASCII punctuation but not all, missing: \, `
1 warnings
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
2 warnings
# res/xml/latn_qwertz.xml
0 warnings
Not a layout file: res/xml/method.xml
Not a layout file: res/xml/number_row.xml
# res/xml/numeric.xml
Layout includes some ASCII punctuation but not all, missing: &, ?, @, `
Layout redefines the bottom row but some important keys are missing, missing: change_method, config, switch_emoji, switch_numeric, switch_second
Layout doesn't specify a script.
3 warnings
# res/xml/numpad.xml
Layout includes some ASCII punctuation but not all, missing: !, ", #, $, %, &, ', (, ), ,, :, ;, <, >, ?, @, [, \, ], ^, _, `, {, |, }, ~
Layout doesn't define some important keys, missing: backspace, delete
Layout redefines the bottom row but some important keys are missing, missing: action, change_method, config, ctrl, down, enter, fn, left, right, space, switch_emoji, switch_numeric, switch_second, up
Layout doesn't specify a script.
4 warnings
# res/xml/pin.xml
Layout includes some ASCII punctuation but not all, missing: !, ", $, %, &, ', ;, <, =, >, ?, @, [, \, ], ^, _, `, {, |, }, ~
Layout redefines the bottom row but some important keys are missing, missing: change_method, config, ctrl, fn, switch_emoji, switch_second
Layout doesn't specify a script.
3 warnings
Not a layout file: res/xml/settings.xml

View File

@@ -3,6 +3,11 @@ import sys
warning_count = 0
KNOWN_NOT_LAYOUT = set([
"res/xml/number_row.xml", "res/xml/numpad.xml", "res/xml/pin.xml",
"res/xml/bottom_row.xml", "res/xml/settings.xml", "res/xml/method.xml",
"res/xml/greekmath.xml", "res/xml/numeric.xml" ])
def warn(msg):
global warning_count
print(msg)
@@ -31,27 +36,42 @@ def unexpected_keys(keys, symbols, msg):
def parse_layout(fname):
keys = set()
dup = set()
root = ET.parse(fname).getroot()
if root.tag != "keyboard":
return None
for row in root:
for key in row:
for attr in key.keys():
keys.add(key.get(attr).removeprefix("\\"))
return root, keys
if attr.startswith("key"):
k = key.get(attr).removeprefix("\\")
if k in keys: dup.add(k)
keys.add(k)
return root, keys, dup
def check_layout(layout):
root, keys = layout
root, keys, dup = layout
if len(dup) > 0: warn("Duplicate keys: " + key_list_str(dup))
missing_some_of(keys, "~!@#$%^&*(){}`[]=\\-_;:/.,?<>'\"+|", "ASCII punctuation")
missing_some_of(keys, "0123456789", "digits")
missing_some_of(keys, ["f11_placeholder", "f12_placeholder"])
missing_some_of(keys, ["esc", "tab"])
missing_required(keys, ["backspace", "delete"], "Layout doesn't define some important keys")
missing_required(keys,
["esc", "tab", "backspace", "delete",
"f11_placeholder", "f12_placeholder"],
"Layout doesn't define some important keys")
unexpected_keys(keys,
["copy", "paste", "cut", "selectAll", "shareText",
"pasteAsPlainText", "undo", "redo", "replaceText",
"textAssist", "autofill" ],
"Layout contains editing keys")
unexpected_keys(keys,
[ "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9",
"f10", "f11", "f12" ],
"Layout contains function keys")
bottom_row_keys = [
"ctrl", "fn", "switch_numeric", "change_method", "switch_emoji",
"config", "switch_second", "enter", "action", "left", "up", "right",
"down", "space"
"config", "switch_forward", "switch_backward", "enter", "action",
"left", "up", "right", "down", "space"
]
if root.get("bottom_row") == "false":
@@ -65,6 +85,8 @@ def check_layout(layout):
warn("Layout doesn't specify a script.")
for fname in sys.argv[1:]:
if fname in KNOWN_NOT_LAYOUT:
continue
layout = parse_layout(fname)
if layout == None:
print("Not a layout file: %s" % fname)

View File

@@ -54,10 +54,10 @@ def generate_arrays(out, layouts):
item.text = s
elem.append(item)
return elem
none_item = [ ("none", "None") ]
none_item = [ ("system", "@string/pref_layout_e_system") ]
custom_item = [ ("custom", "@string/pref_layout_e_custom") ]
values_items, entries_items = zip(*(none_item + layouts + custom_item)) # unzip
ids_items = map(lambda s: "@xml/%s" % s if s not in ["none", "custom"] else "-1", values_items)
ids_items = map(lambda s: "@xml/%s" % s if s not in ["system", "custom"] else "-1", values_items)
root = XML.Element("resources")
root.append(XML.Comment(text="DO NOT EDIT. This file is generated, see gen_layouts.py."))
root.append(mk_array("string-array", "pref_layout_values", values_items))

View File

@@ -0,0 +1,6 @@
La característica principal es que hay acceso a más caractéres deslizando hacia las esquinas de las teclas.
Esta aplicación fue originalmente diseñada para programadores que usaran Termux.
Ahora es perfecta para uso cotidiano.
La misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y es de Fuente Abierta.

View File

@@ -1 +1 @@
Un teclado virtual ligero para desarrolladores.
Un teclado virtual ligero para Android consciente de su privacidad.

View File

@@ -1 +1 @@
Легкая виртуальная клавиатура для пользователей, заботящихся о своей конфиденциальности.
Легкая клавиатура для пользователей, заботящихся о конфиденциальности.

4
res/drawable/accent.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M14.016 17.016l1.969-4.031h-3v-6h6v6l-1.969 4.031h-3zM6 17.016l2.016-4.031h-3v-6h6v6l-2.016 4.031h-3z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M3.984 12l8.016-8.016 8.016 8.016-1.453 1.406-5.578-5.578v12.188h-1.969v-12.188l-5.625 5.578z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M5.016 15v2.016h-2.016v-2.016h2.016zM3 21v-2.016h18v2.016h-18zM5.016 11.016v1.969h-2.016v-1.969h2.016zM18.984 9v-2.016h2.016v2.016h-2.016zM18.984 3h2.016v2.016h-2.016v-2.016zM5.016 6.984v2.016h-2.016v-2.016h2.016zM18.984 17.016v-2.016h2.016v2.016h-2.016zM18.984 12.984v-1.969h2.016v1.969h-2.016zM17.016 3v2.016h-2.016v-2.016h2.016zM12.984 3v2.016h-1.969v-2.016h1.969zM17.016 11.016v1.969h-2.016v-1.969h2.016zM12.984 6.984v2.016h-1.969v-2.016h1.969zM5.016 3v2.016h-2.016v-2.016h2.016zM12.984 11.016v1.969h-1.969v-1.969h1.969zM9 3v2.016h-2.016v-2.016h2.016zM12.984 15v2.016h-1.969v-2.016h1.969zM9 11.016v1.969h-2.016v-1.969h2.016z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M15 5.016v-2.016h2.016v2.016h-2.016zM15 12.984v-1.969h2.016v1.969h-2.016zM18.984 21v-2.016h2.016v2.016h-2.016zM18.984 12.984v-1.969h2.016v1.969h-2.016zM18.984 3h2.016v2.016h-2.016v-2.016zM18.984 17.016v-2.016h2.016v2.016h-2.016zM15 21v-2.016h2.016v2.016h-2.016zM18.984 9v-2.016h2.016v2.016h-2.016zM3 21v-18h2.016v18h-2.016zM6.984 12.984v-1.969h2.016v1.969h-2.016zM6.984 5.016v-2.016h2.016v2.016h-2.016zM6.984 21v-2.016h2.016v2.016h-2.016zM11.016 12.984v-1.969h1.969v1.969h-1.969zM11.016 9v-2.016h1.969v2.016h-1.969zM11.016 5.016v-2.016h1.969v2.016h-1.969zM11.016 17.016v-2.016h1.969v2.016h-1.969zM11.016 21v-2.016h1.969v2.016h-1.969z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M11.016 9v-2.016h1.969v2.016h-1.969zM11.016 5.016v-2.016h1.969v2.016h-1.969zM11.016 12.984v-1.969h1.969v1.969h-1.969zM15 5.016v-2.016h2.016v2.016h-2.016zM15 21v-2.016h2.016v2.016h-2.016zM18.984 3h2.016v18h-2.016v-18zM15 12.984v-1.969h2.016v1.969h-2.016zM11.016 17.016v-2.016h1.969v2.016h-1.969zM3 9v-2.016h2.016v2.016h-2.016zM3 17.016v-2.016h2.016v2.016h-2.016zM3 12.984v-1.969h2.016v1.969h-2.016zM11.016 21v-2.016h1.969v2.016h-1.969zM3 21v-2.016h2.016v2.016h-2.016zM6.984 12.984v-1.969h2.016v1.969h-2.016zM6.984 5.016v-2.016h2.016v2.016h-2.016zM3 5.016v-2.016h2.016v2.016h-2.016zM6.984 21v-2.016h2.016v2.016h-2.016z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M15 12.984v-1.969h2.016v1.969h-2.016zM18.984 21v-2.016h2.016v2.016h-2.016zM11.016 9v-2.016h1.969v2.016h-1.969zM15 21v-2.016h2.016v2.016h-2.016zM18.984 17.016v-2.016h2.016v2.016h-2.016zM3 3h18v2.016h-18v-2.016zM18.984 12.984v-1.969h2.016v1.969h-2.016zM18.984 9v-2.016h2.016v2.016h-2.016zM11.016 17.016v-2.016h1.969v2.016h-1.969zM3 9v-2.016h2.016v2.016h-2.016zM3 12.984v-1.969h2.016v1.969h-2.016zM3 21v-2.016h2.016v2.016h-2.016zM3 17.016v-2.016h2.016v2.016h-2.016zM11.016 21v-2.016h1.969v2.016h-1.969zM11.016 12.984v-1.969h1.969v1.969h-1.969zM6.984 12.984v-1.969h2.016v1.969h-2.016zM6.984 21v-2.016h2.016v2.016h-2.016z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M14.016 12v-2.016h-4.031v2.016h4.031zM14.016 15.984v-1.969h-4.031v1.969h4.031zM20.016 8.016v1.969h-2.109q0.094 0.656 0.094 1.031v0.984h2.016v2.016h-2.016v0.984q0 0.328-0.094 0.984h2.109v2.016h-2.813q-0.797 1.359-2.18 2.18t-3.023 0.82-3.023-0.82-2.18-2.18h-2.813v-2.016h2.109q-0.094-0.656-0.094-0.984v-0.984h-2.016v-2.016h2.016v-0.984q0-0.375 0.094-1.031h-2.109v-1.969h2.813q0.703-1.172 1.828-1.969l-1.641-1.641 1.406-1.406 2.203 2.156q0.703-0.141 1.406-0.141t1.406 0.141l2.203-2.156 1.406 1.406-1.641 1.641q1.172 0.797 1.828 1.969h2.813z" />
</vector>

4
res/drawable/build.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M22.688 18.984q0.328 0.188 0.305 0.633t-0.398 0.773l-2.297 2.297q-0.703 0.703-1.406 0l-9.094-9.094q-1.688 0.703-3.586 0.305t-3.305-1.805q-1.5-1.5-1.875-3.563t0.563-3.844l4.406 4.313 3-3-4.313-4.313q1.781-0.844 3.844-0.516t3.563 1.828q1.406 1.406 1.805 3.305t-0.305 3.586z" />
</vector>

4
res/drawable/clip.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M16.5 6h1.5v11.484q0 2.297-1.594 3.914t-3.891 1.617-3.914-1.617-1.617-3.914v-12.469q0-1.641 1.195-2.836t2.836-1.195 2.813 1.195 1.172 2.836v10.5q0 1.031-0.727 1.758t-1.758 0.727-1.781-0.727-0.75-1.758v-9.516h1.5v9.516q0 0.422 0.305 0.703t0.727 0.281 0.703-0.281 0.281-0.703v-10.5q0-1.031-0.727-1.781t-1.758-0.75-1.781 0.75-0.75 1.781v12.469q0 1.641 1.195 2.836t2.836 1.195 2.813-1.195 1.172-2.836v-11.484z" />
</vector>

4
res/drawable/code.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M14.578 16.594l4.641-4.594-4.641-4.594 1.406-1.406 6 6-6 6zM9.422 16.594l-1.406 1.406-6-6 6-6 1.406 1.406-4.641 4.594z" />
</vector>

4
res/drawable/expand.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M12.984 9v6h3l-3.984 3.984-3.984-3.984h3v-6h-3l3.984-3.984 3.984 3.984h-3zM3.984 2.016h16.031v1.969h-16.031v-1.969zM3.984 20.016h16.031v1.969h-16.031v-1.969z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M3 12v-3h9v3h-3v6.984h-3v-6.984h-3zM9 3.984h12.984v3h-4.969v12h-3v-12h-5.016v-3z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="@android:color/white" android:pathData="M10,20 C4.49,20 0,15.51 0,10 C0,4.49 4.49,0 10,0 C15.51,0 20,4.04 20,9 C20,12.31 17.31,15 14,15 L12.23,15 C11.95,15 11.73,15.22 11.73,15.5 C11.73,15.62 11.78,15.73 11.86,15.83 C12.27,16.3 12.5,16.89 12.5,17.5 C12.5,18.88 11.38,20 10,20 Z M10,2 C5.59,2 2,5.59 2,10 C2,14.41 5.59,18 10,18 C10.28,18 10.5,17.78 10.5,17.5 C10.5,17.34 10.42,17.22 10.36,17.15 C9.95,16.69 9.73,16.1 9.73,15.5 C9.73,14.12 10.85,13 12.23,13 L14,13 C16.21,13 18,11.21 18,9 C18,5.14 14.41,2 10,2 Z M4.5,11 C5.32842712,11 6,10.3284271 6,9.5 C6,8.67157288 5.32842712,8 4.5,8 C3.67157288,8 3,8.67157288 3,9.5 C3,10.3284271 3.67157288,11 4.5,11 Z M7.5,7 C8.32842712,7 9,6.32842712 9,5.5 C9,4.67157288 8.32842712,4 7.5,4 C6.67157288,4 6,4.67157288 6,5.5 C6,6.32842712 6.67157288,7 7.5,7 Z M12.5,7 C13.3284271,7 14,6.32842712 14,5.5 C14,4.67157288 13.3284271,4 12.5,4 C11.6715729,4 11,4.67157288 11,5.5 C11,6.32842712 11.6715729,7 12.5,7 Z M15.5,11 C16.3284271,11 17,10.3284271 17,9.5 C17,8.67157288 16.3284271,8 15.5,8 C14.6715729,8 14,8.67157288 14,9.5 C14,10.3284271 14.6715729,11 15.5,11 Z" android:strokeWidth="1.0" />
</vector>

4
res/drawable/ic_lock.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="@android:color/white" android:pathData="M12,17C10.89,17 10,16.1 10,15C10,13.89 10.89,13 12,13A2,2 0 0,1 14,15A2,2 0 0,1 12,17M18,20V10H6V20H18M18,8A2,2 0 0,1 20,10V20A2,2 0 0,1 18,22H6C4.89,22 4,21.1 4,20V10C4,8.89 4.89,8 6,8H7V6A5,5 0 0,1 12,1A5,5 0 0,1 17,6V8H18M12,3A3,3 0 0,0 9,6V8H15V6A3,3 0 0,0 12,3Z" />
</vector>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="@android:color/white" android:pathData="M12,5.99L19.53,19H4.47L12,5.99 M12,2L1,21h22L12,2L12,2z" />
<path android:fillColor="@android:color/white" android:pathData="M 13 16 L 11 16 L 11 18 L 13 18 L 13 16 Z" />
<path android:fillColor="@android:color/white" android:pathData="M 13 10 L 11 10 L 11 14 L 13 14 L 13 10 Z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M12 23.016l-3.984-4.031h7.969zM18.984 8.016v-2.016h-1.969v2.016h1.969zM18.984 11.016v-2.016h-1.969v2.016h1.969zM15.984 8.016v-2.016h-1.969v2.016h1.969zM15.984 11.016v-2.016h-1.969v2.016h1.969zM15.984 15v-2.016h-7.969v2.016h7.969zM6.984 8.016v-2.016h-1.969v2.016h1.969zM6.984 11.016v-2.016h-1.969v2.016h1.969zM8.016 9v2.016h1.969v-2.016h-1.969zM8.016 6v2.016h1.969v-2.016h-1.969zM11.016 9v2.016h1.969v-2.016h-1.969zM11.016 6v2.016h1.969v-2.016h-1.969zM20.016 3q0.797 0 1.383 0.609t0.586 1.406v9.984q0 0.797-0.586 1.406t-1.383 0.609h-16.031q-0.797 0-1.383-0.609t-0.586-1.406v-9.984q0-0.797 0.586-1.406t1.383-0.609h16.031z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="@android:color/white" android:pathData="M20,5L4,5c-1.1,0 -1.99,0.9 -1.99,2L2,17c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2zM11,8h2v2h-2L11,8zM11,11h2v2h-2v-2zM8,8h2v2L8,10L8,8zM8,11h2v2L8,13v-2zM7,13L5,13v-2h2v2zM7,10L5,10L5,8h2v2zM16,17L8,17v-2h8v2zM16,13h-2v-2h2v2zM16,10h-2L14,8h2v2zM19,13h-2v-2h2v2zM19,10h-2L17,8h2v2z" />
</vector>

4
res/drawable/memory.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M17.016 17.016v-10.031h-10.031v10.031h10.031zM21 11.016h-2.016v1.969h2.016v2.016h-2.016v2.016q0 0.797-0.586 1.383t-1.383 0.586h-2.016v2.016h-2.016v-2.016h-1.969v2.016h-2.016v-2.016h-2.016q-0.797 0-1.383-0.586t-0.586-1.383v-2.016h-2.016v-2.016h2.016v-1.969h-2.016v-2.016h2.016v-2.016q0-0.797 0.586-1.383t1.383-0.586h2.016v-2.016h2.016v2.016h1.969v-2.016h2.016v2.016h2.016q0.797 0 1.383 0.586t0.586 1.383v2.016h2.016v2.016zM12.984 12.984v-1.969h-1.969v1.969h1.969zM15 9v6h-6v-6h6z" />
</vector>

4
res/drawable/numpad.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M12 0.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM12 6.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM18 6.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM18 12.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM12 12.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM18 5.016q-0.797 0-1.406-0.609t-0.609-1.406 0.609-1.406 1.406-0.609 1.406 0.609 0.609 1.406-0.609 1.406-1.406 0.609zM6 12.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM6 6.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM6 0.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609zM12 18.984q0.797 0 1.406 0.609t0.609 1.406-0.609 1.406-1.406 0.609-1.406-0.609-0.609-1.406 0.609-1.406 1.406-0.609z" />
</vector>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="@android:color/white" android:pathData="M13.85,22.25h-3.7c-0.74,0-1.36-0.54-1.45-1.27l-0.27-1.89c-0.27-0.14-0.53-0.29-0.79-0.46l-1.8,0.72 c-0.7,0.26-1.47-0.03-1.81-0.65L2.2,15.53c-0.35-0.66-0.2-1.44,0.36-1.88l1.53-1.19c-0.01-0.15-0.02-0.3-0.02-0.46 c0-0.15,0.01-0.31,0.02-0.46l-1.52-1.19C1.98,9.9,1.83,9.09,2.2,8.47l1.85-3.19c0.34-0.62,1.11-0.9,1.79-0.63l1.81,0.73 c0.26-0.17,0.52-0.32,0.78-0.46l0.27-1.91c0.09-0.7,0.71-1.25,1.44-1.25h3.7c0.74,0,1.36,0.54,1.45,1.27l0.27,1.89 c0.27,0.14,0.53,0.29,0.79,0.46l1.8-0.72c0.71-0.26,1.48,0.03,1.82,0.65l1.84,3.18c0.36,0.66,0.2,1.44-0.36,1.88l-1.52,1.19 c0.01,0.15,0.02,0.3,0.02,0.46s-0.01,0.31-0.02,0.46l1.52,1.19c0.56,0.45,0.72,1.23,0.37,1.86l-1.86,3.22 c-0.34,0.62-1.11,0.9-1.8,0.63l-1.8-0.72c-0.26,0.17-0.52,0.32-0.78,0.46l-0.27,1.91C15.21,21.71,14.59,22.25,13.85,22.25z M13.32,20.72c0,0.01,0,0.01,0,0.02L13.32,20.72z M10.68,20.7l0,0.02C10.69,20.72,10.69,20.71,10.68,20.7z M10.62,20.25h2.76 l0.37-2.55l0.53-0.22c0.44-0.18,0.88-0.44,1.34-0.78l0.45-0.34l2.38,0.96l1.38-2.4l-2.03-1.58l0.07-0.56 c0.03-0.26,0.06-0.51,0.06-0.78c0-0.27-0.03-0.53-0.06-0.78l-0.07-0.56l2.03-1.58l-1.39-2.4l-2.39,0.96l-0.45-0.35 c-0.42-0.32-0.87-0.58-1.33-0.77L13.75,6.3l-0.37-2.55h-2.76L10.25,6.3L9.72,6.51C9.28,6.7,8.84,6.95,8.38,7.3L7.93,7.63 L5.55,6.68L4.16,9.07l2.03,1.58l-0.07,0.56C6.09,11.47,6.06,11.74,6.06,12c0,0.26,0.02,0.53,0.06,0.78l0.07,0.56l-2.03,1.58 l1.38,2.4l2.39-0.96l0.45,0.35c0.43,0.33,0.86,0.58,1.33,0.77l0.53,0.22L10.62,20.25z M18.22,17.72c0,0.01-0.01,0.02-0.01,0.03 L18.22,17.72z M5.77,17.71l0.01,0.02C5.78,17.72,5.77,17.71,5.77,17.71z M3.93,9.47L3.93,9.47C3.93,9.47,3.93,9.47,3.93,9.47z M18.22,6.27c0,0.01,0.01,0.02,0.01,0.02L18.22,6.27z M5.79,6.25L5.78,6.27C5.78,6.27,5.79,6.26,5.79,6.25z M13.31,3.28 c0,0.01,0,0.01,0,0.02L13.31,3.28z M10.69,3.26l0,0.02C10.69,3.27,10.69,3.27,10.69,3.26z" />
<path android:fillColor="@android:color/white" android:pathData="M8.5,12a3.5,3.5 0 1,0 7,0a3.5,3.5 0 1,0 -7,0" />
</vector>

4
res/drawable/simbols.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?colorLabel" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M5.016 19.5q0 0.188 0.164 0.352t0.305 0.164q0.188 0 0.375-0.188l1.078-1.031-0.75-0.703-1.031 1.031q-0.141 0.141-0.141 0.375zM6.188 14.063q-0.141 0-0.305 0.141t-0.164 0.328q0 0.234 0.141 0.375l0.328 0.375 0.375-0.375q0.375-0.375 0-0.703-0.141-0.141-0.375-0.141zM9.75 15.938l1.406 1.453-1.406 1.406 1.406 1.406-1.406 1.406-1.406-1.406-1.078 1.078q-0.703 0.703-1.781 0.703t-1.781-0.703q-0.75-0.75-0.75-1.781t0.75-1.781l1.078-1.078-0.328-0.328q-0.75-0.75-0.75-1.781t0.727-1.758 1.758-0.727 1.781 0.727 0.75 1.758-0.75 1.781l-0.328 0.328 0.703 0.75zM15.516 11.016q-1.031 0-1.781-0.75t-0.75-1.781 0.75-1.758 1.781-0.727q0.844 0 1.5 0.516v-4.5h3.984v1.969h-3v4.5q0 1.031-0.727 1.781t-1.758 0.75zM18 19.5q0-0.656 0.422-1.078t1.078-0.422 1.078 0.422 0.422 1.078-0.422 1.078-1.078 0.422-1.078-0.422-0.422-1.078zM12.984 14.484q0-0.609 0.445-1.055t1.055-0.445 1.055 0.445 0.445 1.055-0.445 1.055-1.055 0.445-1.055-0.445-0.445-1.055zM12.422 20.203l7.781-7.781 1.406 1.406-7.781 7.781zM6 11.016v-4.031h-3v-1.969h8.016v1.969h-3v4.031h-2.016zM3 2.016h8.016v1.969h-8.016v-1.969z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M18.984 21v-2.016h2.016v2.016h-2.016zM15 21v-2.016h2.016v2.016h-2.016zM11.016 17.016v-2.016h1.969v2.016h-1.969zM18.984 9v-2.016h2.016v2.016h-2.016zM18.984 3h2.016v2.016h-2.016v-2.016zM3 12.984v-1.969h18v1.969h-18zM11.016 21v-2.016h1.969v2.016h-1.969zM18.984 17.016v-2.016h2.016v2.016h-2.016zM12.984 3v2.016h-1.969v-2.016h1.969zM12.984 6.984v2.016h-1.969v-2.016h1.969zM17.016 3v2.016h-2.016v-2.016h2.016zM9 3v2.016h-2.016v-2.016h2.016zM5.016 3v2.016h-2.016v-2.016h2.016zM6.984 21v-2.016h2.016v2.016h-2.016zM3 17.016v-2.016h2.016v2.016h-2.016zM5.016 6.984v2.016h-2.016v-2.016h2.016zM3 21v-2.016h2.016v2.016h-2.016z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M15 12.984v-1.969h2.016v1.969h-2.016zM15 21v-2.016h2.016v2.016h-2.016zM15 5.016v-2.016h2.016v2.016h-2.016zM18.984 9v-2.016h2.016v2.016h-2.016zM18.984 3h2.016v2.016h-2.016v-2.016zM18.984 12.984v-1.969h2.016v1.969h-2.016zM18.984 21v-2.016h2.016v2.016h-2.016zM11.016 21v-18h1.969v18h-1.969zM18.984 17.016v-2.016h2.016v2.016h-2.016zM6.984 5.016v-2.016h2.016v2.016h-2.016zM3 17.016v-2.016h2.016v2.016h-2.016zM3 21v-2.016h2.016v2.016h-2.016zM3 12.984v-1.969h2.016v1.969h-2.016zM6.984 12.984v-1.969h2.016v1.969h-2.016zM6.984 21v-2.016h2.016v2.016h-2.016zM3 5.016v-2.016h2.016v2.016h-2.016zM3 9v-2.016h2.016v2.016h-2.016z" />
</vector>

4
res/drawable/sun.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M12 18q2.484 0 4.242-1.758t1.758-4.242-1.758-4.242-4.242-1.758v12zM20.016 15.328v4.688h-4.688l-3.328 3.281-3.328-3.281h-4.688v-4.688l-3.281-3.328 3.281-3.328v-4.688h4.688l3.328-3.281 3.328 3.281h4.688v4.688l3.281 3.328z" />
</vector>

4
res/drawable/touch.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M18.844 15.891q0.891 0.422 0.891 1.359v0.188l-0.75 5.297q-0.047 0.563-0.469 0.914t-0.984 0.352h-6.797q-0.609 0-1.031-0.422l-4.969-4.969 0.797-0.797q0.328-0.328 0.797-0.328 0.047 0 0.117 0.023t0.117 0.023l3.422 0.703v-10.734q0-0.656 0.445-1.078t1.055-0.422 1.055 0.422 0.445 1.078v6h0.797q0.141 0 0.516 0.094zM9 11.25q-2.016-1.313-2.016-3.75 0-1.875 1.313-3.188t3.188-1.313 3.188 1.313 1.313 3.188q0 2.484-1.969 3.75v-3.75q0-1.031-0.75-1.758t-1.781-0.727-1.758 0.727-0.727 1.758v3.75z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M15.891 17.016h3.234l-1.641-4.359zM18.516 9.984l4.5 12h-2.016l-1.125-3h-4.734l-1.125 3h-2.016l4.5-12h2.016zM12.891 15.047l-0.797 2.063-3.094-3.094-5.016 4.969-1.406-1.406 5.109-5.016q-1.875-2.063-3-4.547h2.016q0.984 1.875 2.297 3.328 2.156-2.391 3.188-5.344h-11.203v-2.016h7.031v-1.969h1.969v1.969h7.031v2.016h-2.953q-0.469 1.5-1.547 3.398t-2.156 3.117l-0.047 0.047z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M3.984 18.984h16.031v2.016h-16.031v-2.016zM15.984 12.984l-3.984 4.031-3.984-4.031h3v-9.984h1.969v9.984h3z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M3.984 3h16.031v2.016h-16.031v-2.016zM8.016 11.016l3.984-4.031 3.984 4.031h-3v9.984h-1.969v-9.984h-3z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M15.984 18.984v-13.969h-7.969v13.969h7.969zM16.5 3q0.656 0 1.078 0.422t0.422 1.078v15q0 0.656-0.422 1.078t-1.078 0.422h-9q-0.656 0-1.078-0.422t-0.422-1.078v-15q0-0.656 0.422-1.078t1.078-0.422h9zM18.984 17.016v-10.031h2.016v10.031h-2.016zM21.984 9h2.016v6h-2.016v-6zM3 17.016v-10.031h2.016v10.031h-2.016zM0 15v-6h2.016v6h-2.016z" />
</vector>

4
res/drawable/visible.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M12 9q1.219 0 2.109 0.891t0.891 2.109-0.891 2.109-2.109 0.891-2.109-0.891-0.891-2.109 0.891-2.109 2.109-0.891zM12 17.016q2.063 0 3.539-1.477t1.477-3.539-1.477-3.539-3.539-1.477-3.539 1.477-1.477 3.539 1.477 3.539 3.539 1.477zM12 4.5q3.703 0 6.703 2.063t4.313 5.438q-1.313 3.375-4.313 5.438t-6.703 2.063-6.703-2.063-4.313-5.438q1.313-3.375 4.313-5.438t6.703-2.063z" />
</vector>

4
res/drawable/voice.xml Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?>
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:tint="?android:textColorPrimary" android:height="24.0dip" android:width="24.0dip" android:viewportWidth="24.0" android:viewportHeight="24.0">
<path android:fillColor="#ff000000" android:pathData="M17.297 12h1.688q0 2.531-1.758 4.43t-4.242 2.273v3.281h-1.969v-3.281q-2.484-0.375-4.242-2.273t-1.758-4.43h1.688q0 2.203 1.57 3.656t3.727 1.453 3.727-1.453 1.57-3.656zM12 15q-1.219 0-2.109-0.891t-0.891-2.109v-6q0-1.219 0.891-2.109t2.109-0.891 2.109 0.891 0.891 2.109v6q0 1.219-0.891 2.109t-2.109 0.891z" />
</vector>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content">
<EditText android:id="@+id/key_name" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="10dp"/>
</LinearLayout>

View File

@@ -2,7 +2,8 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">
<TextView style="@style/paragraph" android:text="@string/launcher_description"/>
<Button style="@style/paragraph" android:text="@string/launcher_button_imesettings" android:onClick="launch_imesettings" android:layout_width="wrap_content"/>
<TextView style="@style/paragraph" android:text="@string/launcher_sourcecode" android:autoLink="web"/>
<TextView style="@style/paragraph" android:text="@string/launcher_sourcecode"/>
<TextView style="@style/paragraph" android:text="https://github.com/Julow/Unexpected-Keyboard" android:autoLink="web" android:linksClickable="true"/>
<TextView android:id="@+id/launcher_tryhere_text" style="@style/paragraph" android:text="@string/launcher_tryhere"/>
<EditText android:id="@+id/launcher_tryhere_area" style="@style/paragraph" android:inputType="text"/>
</LinearLayout>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:minHeight="?android:attr/listPreferredItemHeightSmall">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/pref_layouts_add" android:textAppearance="?android:attr/textAppearanceListItemSmall"/>
</LinearLayout>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center">
<View android:layout_width="@dimen/pref_button_size" android:layout_height="@dimen/pref_button_size" android:background="@android:drawable/ic_menu_add"/>
</LinearLayout>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center">
</LinearLayout>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal">
<Button android:id="@+id/pref_listgroup_remove_btn" android:layout_width="@dimen/pref_button_size" android:layout_height="@dimen/pref_button_size" android:layout_gravity="center" android:background="@android:drawable/ic_menu_close_clear_cancel"/>
</LinearLayout>

View File

@@ -3,46 +3,47 @@
<string name="app_name" product="debug">Klávesnice Unexpected (pro ladění)</string>
<string name="app_name" product="default">Klávesnice Unexpected</string>
<string name="settings_activity_label">Nastavení Klávesnice Unexpected</string>
<!-- <string name="pref_portrait">In portrait mode</string> -->
<!-- <string name="pref_landscape">In landscape mode</string> -->
<string name="pref_portrait">V režimu na výšku</string>
<string name="pref_landscape">V režimu na šířku</string>
<string name="pref_category_layout">Rozvržení</string>
<!-- <string name="pref_label_brightness">Adjust label brightness</string> -->
<!-- <string name="pref_keyboard_opacity">Adjust keyboard background opacity</string> -->
<!-- <string name="pref_key_opacity">Adjust key opacity</string> -->
<!-- <string name="pref_key_activated_opacity">Adjust pressed key opacity</string> -->
<string name="pref_layout_title">Změnit rozvržení klávesnice</string>
<string name="pref_layout_e_system">V nastavení systému</string>
<!-- <string name="pref_layout_e_custom">Custom layout</string> -->
<string name="pref_accents_title">(Univerzální) Diakritická znaménka</string>
<string name="pref_accents_e_all_installed">Zobrazovat znaménka pro všechny instalované systémové jazyky</string>
<string name="pref_accents_e_selected">Zobrazovat znaménka pouze pro současně zvolený jazyk</string>
<string name="pref_accents_e_none">Skrýt (univerzální) diakritická znaménka</string>
<!-- <string name="pref_show_numpad_title">Show NumPad</string> -->
<!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
<!-- <string name="pref_show_numpad_always">Always</string> -->
<!-- <string name="pref_number_row_title">Show number row</string> -->
<!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
<!-- <string name="pref_extra_keys_title">Add keys to the keyboard</string> -->
<!-- <string name="pref_second_layout_title">Secondary layout</string> -->
<string name="pref_label_brightness">Upravit jas nápisu</string>
<string name="pref_keyboard_opacity">Upravit průhlednost pozadí klávesnice</string>
<string name="pref_key_opacity">Upravit průhlednost kláves</string>
<string name="pref_key_activated_opacity">Upravit průhlednost stisknutých kláves</string>
<string name="pref_layout_e_system">Dle nastavení systému</string>
<string name="pref_layout_e_custom">Vlastní rozvržení</string>
<string name="pref_layouts_add">Přidat alternativní rozložení</string>
<string name="pref_layouts_item">Rozložení %1$d: %2$s</string>
<string name="pref_show_numpad_title">Zobrazit NumPad</string>
<string name="pref_show_numpad_never">Nikdy</string>
<string name="pref_show_numpad_landscape">Pouze v režimu na šířku</string>
<string name="pref_show_numpad_always">Vždy</string>
<string name="pref_number_row_title">Zobrazit řádek s čísly</string>
<string name="pref_number_row_summary">Přidá řádek s čísly nad klávesnici, pokud je NumPad skrytý</string>
<string name="pref_numpad_layout">Rozložení NumPadu</string>
<string name="pref_numpad_layout_e_high_first">Vyšší číslice jako první (horní řádek 789)</string>
<string name="pref_numpad_layout_e_low_first">Nižší číslice jako první (horní řádek 123)</string>
<string name="pref_extra_keys_title">Přidat klávesy do klávesnice</string>
<string name="pref_extra_keys_custom">Přidat vlastní klávesy</string>
<string name="pref_extra_keys_internal">Výbrané klávesy k přidaní do klávesnice</string>
<string name="pref_second_layout_title">Vedlejší rozvržení</string>
<string name="pref_second_layout_none">Žádné</string>
<string name="pref_category_typing">Psaní</string>
<string name="pref_swipe_dist_title">Vzdálenost posunutí prstem</string>
<string name="pref_swipe_dist_summary">Jak daleko je třeba posunout prst pro napsaní znaku/diakritiky v rozích klávey (%s)</string>
<string name="pref_swipe_dist_summary">Jak daleko je třeba posunout prst pro zadání znaku/znaménka v rohu klávey (%s)</string>
<string name="pref_long_timeout_title">Časová prodleva opakování znaků</string>
<string name="pref_long_interval_title">Interval opakování znaků</string>
<string name="pref_lock_double_tap_title">Dvojklik pro aktivaci caps lock(u)</string>
<string name="pref_lock_double_tap_title">Dvojklik pro aktivaci Capslock(u)</string>
<string name="pref_lock_double_tap_summary">Dvojklik namísto držení modifikačních kláves po nějakou dobu</string>
<!-- <string name="pref_category_behavior">Behavior</string> -->
<string name="pref_category_behavior">Chování</string>
<string name="pref_autocapitalisation_title">Automatická kapitalizace</string>
<string name="pref_autocapitalisation_summary">Stiskne Shift na začátku věty</string>
<!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> -->
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
<string name="pref_switch_input_immediate_title">Přepnout na posledně užívanou klávesnici</string>
<string name="pref_switch_input_immediate_summary">Jak bude klávesa pro přepnutí klávesnice reagovat</string>
<string name="pref_vibrate_title">Vibrace</string>
<string name="pref_vibrate_summary">Zapnout/Vypnout vibrace při stisku klávesy</string>
<string name="pref_vibrate_summary">Preference intenzity vibrací při stisku klávesy</string>
<string name="pref_pin_entry_enabled_title">Rozvržení zadávání PIN kódu</string>
<string name="pref_pin_entry_enabled_summary">Při psaní čísel, datumů a telefonních čísel</string>
<string name="pref_category_style">Styl</string>
<string name="pref_margin_bottom_title">Spodní odsazení</string>
<string name="pref_keyboard_height_title">Výška klávesnice</string>
@@ -54,9 +55,9 @@
<string name="pref_theme_e_dark">Tmavý</string>
<string name="pref_theme_e_light">Světlý</string>
<string name="pref_theme_e_black">Černý</string>
<!-- <string name="pref_theme_e_altblack">Alternative Black</string> -->
<!-- <string name="pref_theme_e_white">White</string> -->
<!-- <string name="pref_theme_e_epaper">ePaper</string> -->
<string name="pref_theme_e_altblack">Černý (alternativní)</string>
<string name="pref_theme_e_white">Bílý</string>
<string name="pref_theme_e_epaper">ePapír</string>
<string name="pref_swipe_dist_e_very_short">Velmi krátká</string>
<string name="pref_swipe_dist_e_short">Krátká</string>
<string name="pref_swipe_dist_e_default">Běžná</string>
@@ -64,22 +65,40 @@
<string name="pref_swipe_dist_e_very_far">Velmi dlouhá</string>
<string name="pref_key_horizontal_space">Horizontální mezery mezi klávesami</string>
<string name="pref_key_vertical_space">Vertikální mezery mezi klávesami</string>
<!-- <string name="pref_category_advanced">Advanced</string> -->
<!-- <string name="pref_custom_layout_title">Custom layout</string> -->
<!-- <string name="pref_custom_layout_summary">See the source code. This option is not meant to be used.</string> -->
<!-- <string name="pref_vibration_e_disabled">Disabled</string> -->
<!-- <string name="pref_vibration_e_system">System</string> -->
<!-- <string name="pref_vibration_e_strong">Strong</string> -->
<!-- <string name="pref_vibration_e_medium">Medium</string> -->
<!-- <string name="pref_vibration_e_light">Light</string> -->
<string name="pref_category_advanced">Pokročilé</string>
<string name="pref_custom_layout_title">Vlastní rozvržení</string>
<string name="pref_custom_layout_summary">Více informací naleznete ve zdrojovém kódu. Tato možnost není určena pro běžné užití.</string>
<string name="pref_vibration_e_disabled">Deaktivovány</string>
<string name="pref_vibration_e_system">Dle systému</string>
<string name="pref_vibration_e_strong">Silné</string>
<string name="pref_vibration_e_medium">Střední</string>
<string name="pref_vibration_e_light">Slabé</string>
<string name="key_action_next">Další</string>
<string name="key_action_done">Dokončit</string>
<string name="key_action_go">Spustit</string>
<string name="key_action_prev">Předchozí</string>
<string name="key_action_search">Hledat</string>
<string name="key_action_send">Odeslat</string>
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
<!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string> -->
<!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> -->
<string name="launcher_button_imesettings">Aktivovat klávesnici</string>
<string name="launcher_description">Tato aplikace je pouhou virtuální klávesnicí. Přejděte do systémového nastavení, kliknutím na tlačítko níže a aktivujte ji.</string>
<string name="launcher_sourcecode">Toto je volná, open-source aplikace. Její zdrojový kód, či hlášení chyb, naleznete na Githubu.</string>
<string name="launcher_tryhere">Po aktivaci můžete klávesnici rovnou vyzkoušet zde:</string>
<string name="key_descr_capslock">Caps lock</string>
<string name="key_descr_switch_greekmath">Řecké a matematické symboly</string>
<string name="key_descr_voice_typing">Hlasové zadávání</string>
<string name="key_descr_copy">Kopírovat</string>
<string name="key_descr_paste">Vložit</string>
<string name="key_descr_cut">Vyjmout</string>
<string name="key_descr_selectAll">Označit vše</string>
<string name="key_descr_shareText">Sdílet text</string>
<string name="key_descr_pasteAsPlainText">Vložit jako prostý text</string>
<string name="key_descr_undo">Zpět</string>
<string name="key_descr_redo">Znovu</string>
<string name="key_descr_replaceText">Nahradit</string>
<string name="key_descr_textAssist">Asistovat</string>
<string name="key_descr_autofill">Předvyplnit</string>
<string name="key_descr_ª">Indikátor řadové číslovky</string>
<string name="key_descr_º">Indikátor řadové číslovky</string>
<string name="key_descr_superscript">Horní index</string>
<string name="key_descr_subscript">Dolní index</string>
</resources>

View File

@@ -10,13 +10,10 @@
<string name="pref_keyboard_opacity">Deckkraft des Tastaturhintergrunds anpassen</string>
<string name="pref_key_opacity">Deckkraft der Tasten anpassen</string>
<string name="pref_key_activated_opacity">Deckkraft gedrückter Tasten anpassen</string>
<string name="pref_layout_title">Tastaturlayout ändern</string>
<string name="pref_layout_e_system">Systemeinstellung</string>
<string name="pref_layout_e_custom">Eigenes Layout</string>
<string name="pref_accents_title">Akzente</string>
<string name="pref_accents_e_all_installed">Akzente für alle installierten Sprachen anzeigen</string>
<string name="pref_accents_e_selected">Akzente nur für die gewählte Sprache anzeigen</string>
<string name="pref_accents_e_none">Akzente verbergen</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<string name="pref_show_numpad_title">Ziffernblock anzeigen</string>
<string name="pref_show_numpad_never">Nie</string>
<string name="pref_show_numpad_landscape">Nur im Querformat</string>
@@ -27,6 +24,8 @@
<string name="pref_numpad_layout_e_high_first">Hohe Ziffern zuerst</string>
<string name="pref_numpad_layout_e_low_first">Niedrige Ziffern zuerst</string>
<string name="pref_extra_keys_title">Zusätzliche Zeichen zur Tastatur hinzufügen</string>
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<string name="pref_second_layout_title">Zweites Layout</string>
<string name="pref_second_layout_none">Keines</string>
<string name="pref_category_typing">Tippen</string>
@@ -43,6 +42,8 @@
<string name="pref_switch_input_immediate_summary">Verhalten der Tastaturumschalttaste</string>
<string name="pref_vibrate_title">Vibration</string>
<string name="pref_vibrate_summary">Vibration bei Tastendruck ein-/ausschalten</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_category_style">Design</string>
<string name="pref_margin_bottom_title">Unterer Abstand</string>
<string name="pref_keyboard_height_title">Höhe der Tastatur</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">Senden</string>
<string name="launcher_button_imesettings">Tastatur aktivieren</string>
<string name="launcher_description">Diese App ist eine virtuelle Tastatur. Tippe auf den Button unten und aktivere Unexpected Keyboard in den Systemeinstellungen.</string>
<string name="launcher_sourcecode">Dies ist eine freie und quelloffene App. Du findest den Quellcode auf <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>. Dort können auch Bugs gemeldet werden.</string>
<string name="launcher_sourcecode">Dies ist eine freie und quelloffene App. Du findest den Quellcode auf Github. Dort können auch Bugs gemeldet werden.</string>
<string name="launcher_tryhere">Nach Aktivierung kannst du die Tastatur hier ausprobieren:</string>
<!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_replaceText">Replace</string> -->
<!-- <string name="key_descr_textAssist">Assist</string> -->
<!-- <string name="key_descr_autofill">Autofill</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> -->
</resources>

View File

@@ -1,48 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- <string name="app_name" product="debug">Unexpected Keyboard (debug)</string> -->
<!-- <string name="app_name" product="default">Unexpected Keyboard</string> -->
<string name="app_name" product="debug">Unexpected Keyboard (debug)</string>
<string name="app_name" product="default">Unexpected Keyboard</string>
<string name="settings_activity_label">Ajustes de Unexpected Keyboard</string>
<!-- <string name="pref_portrait">In portrait mode</string> -->
<!-- <string name="pref_landscape">In landscape mode</string> -->
<string name="pref_portrait">En modo retrato</string>
<string name="pref_landscape">En modo paisaje</string>
<string name="pref_category_layout">Formato</string>
<!-- <string name="pref_label_brightness">Adjust label brightness</string> -->
<!-- <string name="pref_keyboard_opacity">Adjust keyboard background opacity</string> -->
<!-- <string name="pref_key_opacity">Adjust key opacity</string> -->
<!-- <string name="pref_key_activated_opacity">Adjust pressed key opacity</string> -->
<string name="pref_layout_title">Cambiar formato de teclado</string>
<string name="pref_label_brightness">Ajustar brillo de etiqueta</string>
<string name="pref_keyboard_opacity">Ajustar opacidad del fondo del teclado</string>
<string name="pref_key_opacity">Ajustar opacidad de teclas</string>
<string name="pref_key_activated_opacity">Ajustar opacidad de teclas apretadas</string>
<string name="pref_layout_e_system">Ajustes del sistema</string>
<!-- <string name="pref_layout_e_custom">Custom layout</string> -->
<string name="pref_accents_title">Acentos</string>
<string name="pref_accents_e_all_installed">Mostrar acentos para todos los lenguajes instalados</string>
<string name="pref_accents_e_selected">Solo mostrar acentos para el lenguaje seleccionado</string>
<string name="pref_accents_e_none">Ocultar acentos</string>
<!-- <string name="pref_show_numpad_title">Show NumPad</string> -->
<!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
<!-- <string name="pref_show_numpad_always">Always</string> -->
<!-- <string name="pref_number_row_title">Show number row</string> -->
<!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
<!-- <string name="pref_extra_keys_title">Add keys to the keyboard</string> -->
<!-- <string name="pref_second_layout_title">Secondary layout</string> -->
<!-- <string name="pref_second_layout_none">None</string> -->
<string name="pref_category_typing">Escribiendo</string>
<string name="pref_layout_e_custom">Formato personalizado</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<string name="pref_show_numpad_title">Mostrar pad numérico</string>
<string name="pref_show_numpad_never">Nunca</string>
<string name="pref_show_numpad_landscape">Solo en modo paisaje</string>
<string name="pref_show_numpad_always">Siempre</string>
<string name="pref_number_row_title">Mostrar fila númerica</string>
<string name="pref_number_row_summary">Agrega una fila de numeros en la cima del teclado mientras el pad numérico esté oculto</string>
<string name="pref_numpad_layout">Formato del pad numérico</string>
<string name="pref_numpad_layout_e_high_first">Dígitos descendientes</string>
<string name="pref_numpad_layout_e_low_first">Dígitos ascendientes</string>
<string name="pref_extra_keys_title">Agregar teclas</string>
<string name="pref_extra_keys_custom">Agregar teclas personalizadas</string>
<string name="pref_extra_keys_internal">Selecciona teclas para agregar al teclado</string>
<string name="pref_second_layout_title">Formato secundario</string>
<string name="pref_second_layout_none">Ninguno</string>
<string name="pref_category_typing">Escritura</string>
<string name="pref_swipe_dist_title">Distancia para deslizar</string>
<string name="pref_swipe_dist_summary">Distancia de caracteres en las esquinas de las letras (%s)</string>
<string name="pref_long_timeout_title">Tiempo de espera de repetición de tecla</string>
<string name="pref_long_interval_title">Intervalo de repetición de tecla</string>
<!-- <string name="pref_lock_double_tap_title">Double tap on shift for caps lock</string> -->
<!-- <string name="pref_lock_double_tap_summary">You can lock any modifier by holding it</string> -->
<!-- <string name="pref_category_behavior">Behavior</string> -->
<!-- <string name="pref_autocapitalisation_title">Automatic capitalisation</string> -->
<!-- <string name="pref_autocapitalisation_summary">Press Shift at the beginning of a sentence</string> -->
<!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> -->
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
<string name="pref_lock_double_tap_title">Doble toque al Shift para bloquear las mayúsculas</string>
<string name="pref_lock_double_tap_summary">Se puede bloquear cualquier modificador manteniéndolo apretado</string>
<string name="pref_category_behavior">Comportamiento</string>
<string name="pref_autocapitalisation_title">Capitalización automática</string>
<string name="pref_autocapitalisation_summary">Apretar Shift al principio de una oración</string>
<string name="pref_switch_input_immediate_title">Cambiar al último teclado usado</string>
<string name="pref_switch_input_immediate_summary">Comportamiento de la tecla para cambiar formatos</string>
<string name="pref_vibrate_title">Vibración</string>
<string name="pref_vibrate_summary">Habilitar/deshabilitar vibración al presionar una tecla</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_category_style">Estilo</string>
<string name="pref_margin_bottom_title">Margen del pie</string>
<string name="pref_keyboard_height_title">Altura del teclado</string>
@@ -54,32 +55,50 @@
<string name="pref_theme_e_dark">Oscuro</string>
<string name="pref_theme_e_light">Claro</string>
<string name="pref_theme_e_black">Negro</string>
<!-- <string name="pref_theme_e_altblack">Alternative Black</string> -->
<!-- <string name="pref_theme_e_white">White</string> -->
<!-- <string name="pref_theme_e_epaper">ePaper</string> -->
<string name="pref_swipe_dist_e_very_short">Muy corto</string>
<string name="pref_swipe_dist_e_short">Corto</string>
<string name="pref_theme_e_altblack">Negro Alternativo</string>
<string name="pref_theme_e_white">Blanco</string>
<string name="pref_theme_e_epaper">ePaper</string>
<string name="pref_swipe_dist_e_very_short">Muy corta</string>
<string name="pref_swipe_dist_e_short">Corta</string>
<string name="pref_swipe_dist_e_default">Normal</string>
<string name="pref_swipe_dist_e_far">Lejano</string>
<string name="pref_swipe_dist_e_very_far">Muy lejano</string>
<string name="pref_swipe_dist_e_far">Lejana</string>
<string name="pref_swipe_dist_e_very_far">Muy lejana</string>
<string name="pref_key_horizontal_space">Espaciado horizontal entre las teclas</string>
<string name="pref_key_vertical_space">Espaciado vertical entre las teclas</string>
<!-- <string name="pref_category_advanced">Advanced</string> -->
<!-- <string name="pref_custom_layout_title">Custom layout</string> -->
<!-- <string name="pref_custom_layout_summary">See the source code. This option is not meant to be used.</string> -->
<!-- <string name="pref_vibration_e_disabled">Disabled</string> -->
<!-- <string name="pref_vibration_e_system">System</string> -->
<!-- <string name="pref_vibration_e_strong">Strong</string> -->
<!-- <string name="pref_vibration_e_medium">Medium</string> -->
<!-- <string name="pref_vibration_e_light">Light</string> -->
<string name="pref_category_advanced">Avanzado</string>
<string name="pref_custom_layout_title">Formato personalizado</string>
<string name="pref_custom_layout_summary">Revisar el código fuente. Esta opción no está pensada para ser usada.</string>
<string name="pref_vibration_e_disabled">Deshabilitada</string>
<string name="pref_vibration_e_system">Sistema</string>
<string name="pref_vibration_e_strong">Fuerte</string>
<string name="pref_vibration_e_medium">Media</string>
<string name="pref_vibration_e_light">Suave</string>
<string name="key_action_next">Siguiente</string>
<string name="key_action_done">Hecho</string>
<string name="key_action_go">Ir</string>
<string name="key_action_prev">Anterior</string>
<string name="key_action_search">Buscar</string>
<string name="key_action_send">Enviar</string>
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
<!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string> -->
<!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> -->
<string name="launcher_button_imesettings">Habilitar teclado</string>
<string name="launcher_description">Esta aplicación es un teclado virtual. Apretar el botón de abajo te facilitará habilitarlo.</string>
<string name="launcher_sourcecode">Esta es una aplicación gratuita, libre y de fuente abierta. EL código fuente se puede encontrar también para reportar errores en Github.</string>
<string name="launcher_tryhere">Tras habilitar, debajo se puede probar el teclado:</string>
<!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_replaceText">Replace</string> -->
<!-- <string name="key_descr_textAssist">Assist</string> -->
<!-- <string name="key_descr_autofill">Autofill</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> -->
</resources>

View File

@@ -10,13 +10,10 @@
<string name="pref_keyboard_opacity">تنظیم کدر بودن پس‌زمینه صفحه کلید</string>
<string name="pref_key_opacity">تنظیم کدر بودن کلید</string>
<string name="pref_key_activated_opacity">تنظیم کدر بودن کلید فشرده شده</string>
<string name="pref_layout_title">تغییر طرح صفحه کلید</string>
<string name="pref_layout_e_system">تنظیمات سامانه</string>
<string name="pref_layout_e_custom">طرح صفارشی</string>
<string name="pref_accents_title">لهجه‌ها</string>
<string name="pref_accents_e_all_installed">نمایش لهجه‌ها برای تمام زبان‌هی نصب شده</string>
<string name="pref_accents_e_selected">فقط نمایش لهجه‌ها برای زبان‌های انتخاب شده</string>
<string name="pref_accents_e_none">پنهان کردن لهجه‌ها</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<string name="pref_show_numpad_title">نمایش پد شماره‌ها</string>
<string name="pref_show_numpad_never">هرگز</string>
<string name="pref_show_numpad_landscape">فقط در حالت افقی</string>
@@ -27,6 +24,8 @@
<string name="pref_numpad_layout_e_high_first">ابتدا اعداد بزرگ</string>
<string name="pref_numpad_layout_e_low_first">ابتدا اعداد کوچک</string>
<string name="pref_extra_keys_title">افزودن کلیدها به صفحه کلید</string>
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<string name="pref_second_layout_title">طرح دوم</string>
<string name="pref_second_layout_none">هیچ</string>
<string name="pref_category_typing">درحال نوشتن</string>
@@ -43,6 +42,8 @@
<string name="pref_switch_input_immediate_summary">رفتار کلید تغییردهنده صفحه کلید</string>
<string name="pref_vibrate_title">لرزش</string>
<string name="pref_vibrate_summary">فعال/غیرفعال کردن لرزش در زمان فشار دادن کلیدها</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_category_style">سبک</string>
<string name="pref_margin_bottom_title">حاشیه پایین</string>
<string name="pref_keyboard_height_title">ارتفاع صفحه کلید</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">ارسال</string>
<string name="launcher_button_imesettings">فعال کردن صفحه کلید</string>
<string name="launcher_description">این برنامه یک صفحه کلید مجازی است. با کلیک روی گزینه زیر به تنظیمات سامانه بروید و صفحه کلید غیرمنتظره را فعال کنید.</string>
<string name="launcher_sourcecode">این یک برنامه آزاد و منبع‌باز است. شما میتوانید پیدا کنید کد منبع را و گزارش کنید باگ‌ها را در <a href="https://github.com/Julow/Unexpected-Keyboard/">گیت‌هاب</a>.</string>
<string name="launcher_sourcecode">این یک برنامه متن باز و آزاد است. شما میتوانید کد منبع را در گیتهاب پیدا کرده و نیز باگ‌ها را گزارش کنید.</string>
<string name="launcher_tryhere">بعد از فعالسازی، صفحه کلید را اینجا امتحان کنید:</string>
<!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_replaceText">Replace</string> -->
<!-- <string name="key_descr_textAssist">Assist</string> -->
<!-- <string name="key_descr_autofill">Autofill</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> -->
</resources>

View File

@@ -10,13 +10,10 @@
<string name="pref_keyboard_opacity">Transparence du clavier</string>
<string name="pref_key_opacity">Transparence des touches</string>
<string name="pref_key_activated_opacity">Transparence des touches pressées</string>
<string name="pref_layout_title">Disposition des touches</string>
<string name="pref_layout_e_system">Paramètre système</string>
<string name="pref_layout_e_custom">Disposition personnalisée</string>
<string name="pref_accents_title">Accents</string>
<string name="pref_accents_e_all_installed">Afficher les accents pour les langues installées</string>
<string name="pref_accents_e_selected">Afficher les accents pour la langue sélectionnée</string>
<string name="pref_accents_e_none">Cacher les accents</string>
<string name="pref_layouts_add">Ajouter un clavier alternatif</string>
<string name="pref_layouts_item">Disposition %1$d: %2$s</string>
<string name="pref_show_numpad_title">Afficher le pavé numérique</string>
<string name="pref_show_numpad_never">Jamais</string>
<string name="pref_show_numpad_landscape">Seulement en mode paysage</string>
@@ -27,6 +24,8 @@
<string name="pref_numpad_layout_e_high_first">Du plus haut au plus bas</string>
<string name="pref_numpad_layout_e_low_first">Du plus bas au plus haut</string>
<string name="pref_extra_keys_title">Ajouter des touches au clavier</string>
<string name="pref_extra_keys_custom">Ajouter des touches personnalisées</string>
<string name="pref_extra_keys_internal">Sélectionner les touches à ajouter au clavier</string>
<string name="pref_second_layout_title">Disposition secondaire</string>
<string name="pref_second_layout_none">Aucune</string>
<string name="pref_category_typing">Saisie</string>
@@ -43,6 +42,8 @@
<string name="pref_switch_input_immediate_summary">Comportement de la touche de changement de clavier</string>
<string name="pref_vibrate_title">Vibreur</string>
<string name="pref_vibrate_summary">Vibration a chaque touche</string>
<string name="pref_pin_entry_enabled_title">Clavier PIN</string>
<string name="pref_pin_entry_enabled_summary">Lors de la saisie de nombres, de dates et de numéros de téléphone</string>
<string name="pref_category_style">Style</string>
<string name="pref_margin_bottom_title">Marge du bas</string>
<string name="pref_keyboard_height_title">Hauteur du clavier</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">Envoyer</string>
<string name="launcher_button_imesettings">Activer le clavier</string>
<string name="launcher_description">Cette application est un clavier virtuel. Activez-le dans les paramètres système en cliquant sur le bouton ci-dessous.</string>
<string name="launcher_sourcecode">Cette application est libre et open-source. Lisez le source code et reportez des problèmes sur <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string>
<string name="launcher_sourcecode">Cette application est libre et open-source. Lisez le source code et reportez des problèmes sur Github.</string>
<string name="launcher_tryhere">Après l\'avoir activé, vous pouvez l\'essayer ici:</string>
<string name="key_descr_capslock">Verrouillage majuscules</string>
<string name="key_descr_switch_greekmath">Symboles mathématiques</string>
<string name="key_descr_voice_typing">Saisie vocale</string>
<!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_replaceText">Replace</string> -->
<!-- <string name="key_descr_textAssist">Assist</string> -->
<!-- <string name="key_descr_autofill">Autofill</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> -->
</resources>

View File

@@ -10,13 +10,10 @@
<!-- <string name="pref_keyboard_opacity">Adjust keyboard background opacity</string> -->
<!-- <string name="pref_key_opacity">Adjust key opacity</string> -->
<!-- <string name="pref_key_activated_opacity">Adjust pressed key opacity</string> -->
<string name="pref_layout_title">Cambia layout tastiera</string>
<string name="pref_layout_e_system">Impostazioni di sistema</string>
<!-- <string name="pref_layout_e_custom">Custom layout</string> -->
<string name="pref_accents_title">Accenti</string>
<string name="pref_accents_e_all_installed">Mostra accenti per tutte le lingue installate</string>
<string name="pref_accents_e_selected">Mostra accenti solo per le lingue selezionate</string>
<string name="pref_accents_e_none">Nascondi accenti</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<!-- <string name="pref_show_numpad_title">Show NumPad</string> -->
<!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
@@ -27,6 +24,8 @@
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
<!-- <string name="pref_extra_keys_title">Add keys to the keyboard</string> -->
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<!-- <string name="pref_second_layout_title">Secondary layout</string> -->
<string name="pref_second_layout_none">Nessuno</string>
<string name="pref_category_typing">Digitando</string>
@@ -43,6 +42,8 @@
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
<string name="pref_vibrate_title">Vibrazione</string>
<string name="pref_vibrate_summary">Abilita/Disabilita Vibrazione alla pressione dei tasti</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_category_style">Stile</string>
<string name="pref_margin_bottom_title">Margine inferiore</string>
<string name="pref_keyboard_height_title">Altezza tastiera</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">Invia</string>
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
<!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on Github.</string> -->
<!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> -->
<!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_replaceText">Replace</string> -->
<!-- <string name="key_descr_textAssist">Assist</string> -->
<!-- <string name="key_descr_autofill">Autofill</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> -->
</resources>

View File

@@ -10,13 +10,10 @@
<!-- <string name="pref_keyboard_opacity">Adjust keyboard background opacity</string> -->
<!-- <string name="pref_key_opacity">Adjust key opacity</string> -->
<!-- <string name="pref_key_activated_opacity">Adjust pressed key opacity</string> -->
<string name="pref_layout_title">키보드 레이아웃 변경</string>
<string name="pref_layout_e_system">시스템 세팅</string>
<!-- <string name="pref_layout_e_custom">Custom layout</string> -->
<string name="pref_accents_title">악센트</string>
<string name="pref_accents_e_all_installed">설치된 모든 언어의 악센트 표시</string>
<string name="pref_accents_e_selected">선택한 언어의 악센트만 표시</string>
<string name="pref_accents_e_none">모든 언어의 악센트 숨기기</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<!-- <string name="pref_show_numpad_title">Show NumPad</string> -->
<!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
@@ -27,6 +24,8 @@
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
<!-- <string name="pref_extra_keys_title">Add keys to the keyboard</string> -->
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<!-- <string name="pref_second_layout_title">Secondary layout</string> -->
<!-- <string name="pref_second_layout_none">None</string> -->
<string name="pref_category_typing">타자</string>
@@ -43,6 +42,8 @@
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
<string name="pref_vibrate_title">진동</string>
<string name="pref_vibrate_summary">키 누를 때 진동 키거/끄기</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_category_style">스타일</string>
<string name="pref_margin_bottom_title">아래 넓이</string>
<string name="pref_keyboard_height_title">키보드 높이</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">보내기</string>
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
<!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on Github.</string> -->
<!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> -->
<!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_replaceText">Replace</string> -->
<!-- <string name="key_descr_textAssist">Assist</string> -->
<!-- <string name="key_descr_autofill">Autofill</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> -->
</resources>

View File

@@ -10,13 +10,10 @@
<string name="pref_keyboard_opacity">Pielāgot tastatūras fona necaurredzamību</string>
<string name="pref_key_opacity">Pielāgot taustiņu necaurredzamību</string>
<string name="pref_key_activated_opacity">Pielāgot piespiesta taustiņa necaurredzamību</string>
<string name="pref_layout_title">Mainīt tastatūras izkārtojumu</string>
<string name="pref_layout_e_system">Ierīces iestatījumi</string>
<string name="pref_layout_e_custom">Pielāgots izkārtojums</string>
<string name="pref_accents_title">Uzsvara zīmes</string>
<string name="pref_accents_e_all_installed">Rādīt uzsvara zīmes visām uzstādītajām valodām</string>
<string name="pref_accents_e_selected">Rādīt uzsvara zīmes tikai atlasītajām valodām</string>
<string name="pref_accents_e_none">Paslēpt uzsvara zīmes</string>
<string name="pref_layouts_add">Pievienot aizstājējizkārtojumu</string>
<string name="pref_layouts_item">Izkārtojums %1$d: %2$s</string>
<string name="pref_show_numpad_title">Rādīt ciparnīcu</string>
<string name="pref_show_numpad_never">Nekad</string>
<string name="pref_show_numpad_landscape">Tikai guleniskajā skatā</string>
@@ -27,6 +24,8 @@
<string name="pref_numpad_layout_e_high_first">Vispirms lielākie cipari</string>
<string name="pref_numpad_layout_e_low_first">Vispirms mazākie cipari</string>
<string name="pref_extra_keys_title">Pievienot tastatūrai taustiņus</string>
<string name="pref_extra_keys_custom">Pievienot pielāgotus taustiņus</string>
<string name="pref_extra_keys_internal">Atlasīt taustiņus, ko pievienot tastatūrai</string>
<string name="pref_second_layout_title">Otrējais izkārtojums</string>
<string name="pref_second_layout_none">Neviens</string>
<string name="pref_category_typing">Rakstīšana</string>
@@ -43,6 +42,8 @@
<string name="pref_switch_input_immediate_summary">Tastatūras pārslēgšanas taustiņa uzvedība</string>
<string name="pref_vibrate_title">Trīcēšana</string>
<string name="pref_vibrate_summary">Iespējot/atspējot taustiņa piespiešanas trīcēšanu</string>
<string name="pref_pin_entry_enabled_title">Piespraust ievadīšanas izkārtojumu</string>
<string name="pref_pin_entry_enabled_summary">Kad ievada skaitļus, datumus un tālruņa numurus</string>
<string name="pref_category_style">Izskata pielāgojumi</string>
<string name="pref_margin_bottom_title">Apakšējā apmale</string>
<string name="pref_keyboard_height_title">Tastatūras augstums</string>
@@ -67,19 +68,39 @@
<string name="pref_category_advanced">Papildu</string>
<string name="pref_custom_layout_title">Pielāgots izkārtojums</string>
<string name="pref_custom_layout_summary">Skatīt pirmkodu. Šī iespēja nav paredzēta izmantošanai.</string>
<!-- <string name="pref_vibration_e_disabled">Disabled</string> -->
<!-- <string name="pref_vibration_e_system">System</string> -->
<!-- <string name="pref_vibration_e_strong">Strong</string> -->
<!-- <string name="pref_vibration_e_medium">Medium</string> -->
<!-- <string name="pref_vibration_e_light">Light</string> -->
<string name="pref_vibration_e_disabled">Atspējota</string>
<string name="pref_vibration_e_system">Sistēmas</string>
<string name="pref_vibration_e_strong">Spēcīga</string>
<string name="pref_vibration_e_medium">Vidēja</string>
<string name="pref_vibration_e_light">Vāja</string>
<string name="key_action_next">Nākamais</string>
<string name="key_action_done">Darīts</string>
<string name="key_action_go">Aiziet</string>
<string name="key_action_prev">Iepriekšējais</string>
<string name="key_action_search">Meklēt</string>
<string name="key_action_send">Sūtīt</string>
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
<!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string> -->
<!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> -->
<string name="launcher_button_imesettings">Iespējot tastatūru</string>
<string name="launcher_description">Šī lietotne ir virtuālā tastatūra.
Ar zemāk esošo pogu var atvērt sistēmas iestatījumus un iespējot Unexpected Keyboard.</string>
<string name="launcher_sourcecode">Šī ir bezmaksas un atvērtā pirmkoda lietotne.
GitHub var atrast pirmkodu un ziņot par nepilnībām.</string>
<string name="launcher_tryhere">Pēc iespējošanas šeit var izmēģināt tastatūru:</string>
<string name="key_descr_capslock">Burtslēgs</string>
<string name="key_descr_switch_greekmath">Grieķu un matemātikas rakstzīmes</string>
<string name="key_descr_voice_typing">Rakstīšana ar balsi</string>
<string name="key_descr_copy">Ievietot starpliktuvē</string>
<string name="key_descr_paste">Ielīmēt</string>
<string name="key_descr_cut">Izgriezt</string>
<string name="key_descr_selectAll">Iezīmēt visu</string>
<string name="key_descr_shareText">Kopīgot tekstu</string>
<string name="key_descr_pasteAsPlainText">Ielīmēt kā vienkāršu tekstu</string>
<string name="key_descr_undo">Atsaukt</string>
<string name="key_descr_redo">Atatsaukt</string>
<string name="key_descr_replaceText">Aizvietot</string>
<string name="key_descr_textAssist">Palīgs</string>
<string name="key_descr_autofill">Automātiskā aizpilde</string>
<string name="key_descr_ª">Kārtas rādītājs</string>
<string name="key_descr_º">Kārtas rādītājs</string>
<string name="key_descr_superscript">Augšraksts</string>
<string name="key_descr_subscript">Apakšraksts</string>
</resources>

View File

@@ -10,13 +10,10 @@
<string name="pref_keyboard_opacity">Nieprzezroczystość tła klawiatury</string>
<string name="pref_key_opacity">Nieprzezroczystość klawisza</string>
<string name="pref_key_activated_opacity">Nieprzezroczystość naciśniętego klawisza</string>
<string name="pref_layout_title">Zmień układ klawiatury</string>
<string name="pref_layout_e_system">Systemowy</string>
<string name="pref_layout_e_custom">Własny układ</string>
<string name="pref_accents_title">Znaki diakrytyczne</string>
<string name="pref_accents_e_all_installed">Pokaż znaki diakryt. dla wszystkich zainstalowanych języków</string>
<string name="pref_accents_e_selected">Pokaż znaki diakryt. tylko dla wybranego języka</string>
<string name="pref_accents_e_none">Ukryj znaki diakrytyczne</string>
<string name="pref_layouts_add">Dodaj dodatkowy układ</string>
<string name="pref_layouts_item">Układ %1$d: %2$s</string>
<string name="pref_show_numpad_title">Pokaż klawiaturę numeryczną</string>
<string name="pref_show_numpad_never">Nigdy</string>
<string name="pref_show_numpad_landscape">Tylko w orientacji poziomej</string>
@@ -27,6 +24,8 @@
<string name="pref_numpad_layout_e_high_first">Od największej cyfry</string>
<string name="pref_numpad_layout_e_low_first">Od najmniejszej cyfry</string>
<string name="pref_extra_keys_title">Dodaj klawisze do klawiatury</string>
<string name="pref_extra_keys_custom">Dodaj niestandardowe klawisze</string>
<string name="pref_extra_keys_internal">Wybierz klawisze, które chcesz dodać do klawiatury</string>
<string name="pref_second_layout_title">Drugi układ</string>
<string name="pref_second_layout_none">Żaden</string>
<string name="pref_category_typing">Pisanie</string>
@@ -43,6 +42,8 @@
<string name="pref_switch_input_immediate_summary">Działanie klawisza przełączającego klawiaturę</string>
<string name="pref_vibrate_title">Wibracje</string>
<string name="pref_vibrate_summary">Wł./wył. wibrację przy naciśnięciu klawisza</string>
<string name="pref_pin_entry_enabled_title">Układ klawiatury PIN</string>
<string name="pref_pin_entry_enabled_summary">Podczas wpisywania liczb, dat i numerów telefonu</string>
<string name="pref_category_style">Styl</string>
<string name="pref_margin_bottom_title">Margines dolny</string>
<string name="pref_keyboard_height_title">Wysokość klawiatury</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">Wyślij</string>
<string name="launcher_button_imesettings">Włącz klawiaturę</string>
<string name="launcher_description">Ta aplikacja jest klawiaturą ekranową. Naciśnij poniższy przycisk, aby przejść do ustawień systemu i włącz Unexpected-Keyboard.</string>
<string name="launcher_sourcecode">Jest to darmowa aplikacja o otwartym kodzie źródłowym. Możesz zobaczyć kod źródłowy oraz zgłosić błedy na <a href="https://github.com/Julow/Unexpected-Keyboard/">Githubie</a>.</string>
<string name="launcher_sourcecode">Jest to darmowa aplikacja o otwartym kodzie źródłowym. Możesz zobaczyć kod źródłowy oraz zgłosić błedy na Githubie.</string>
<string name="launcher_tryhere">Po jej włączeniu, możesz wypróbować klawiaturę tutaj:</string>
<string name="key_descr_capslock">Caps lock</string>
<string name="key_descr_switch_greekmath">Symbole greckie i matematyczne</string>
<string name="key_descr_voice_typing">Pisanie głosowe</string>
<string name="key_descr_copy">Kopiuj</string>
<string name="key_descr_paste">Wklej</string>
<string name="key_descr_cut">Wytnij</string>
<string name="key_descr_selectAll">Zaznacz wszystko</string>
<string name="key_descr_shareText">Udostępnij tekst</string>
<string name="key_descr_pasteAsPlainText">Wklej sam tekst</string>
<string name="key_descr_undo">Cofnij</string>
<string name="key_descr_redo">Ponów</string>
<string name="key_descr_replaceText">Zamień</string>
<string name="key_descr_textAssist">Asystent</string>
<string name="key_descr_autofill">Autouzupełnianie</string>
<string name="key_descr_ª">Wskaźnik porządkowy (żeński)</string>
<string name="key_descr_º">Wskaźnik porządkowy (męski)</string>
<string name="key_descr_superscript">Indeks górny</string>
<string name="key_descr_subscript">Indeks dolny</string>
</resources>

View File

@@ -10,13 +10,10 @@
<string name="pref_keyboard_opacity">Ajustar opacidade do fundo do teclado</string>
<string name="pref_key_opacity">Ajustar opacidade das teclas</string>
<string name="pref_key_activated_opacity">Ajustar opacidade das teclas pressionadas</string>
<string name="pref_layout_title">Mudar layout do teclado</string>
<string name="pref_layout_e_system">Mesmo do sistema</string>
<string name="pref_layout_e_custom">Layout personalizado</string>
<string name="pref_accents_title">Acentos</string>
<string name="pref_accents_e_all_installed">Mostrar acentos para todos os idiomas instalados</string>
<string name="pref_accents_e_selected">Mostrar acentos só para o idioma selecionado</string>
<string name="pref_accents_e_none">Ocultar acentos</string>
<string name="pref_layouts_add">Adicione um layout alternativo</string>
<string name="pref_layouts_item">Layout %1$d: %2$s</string>
<string name="pref_show_numpad_title">Mostrar Teclado Numérico</string>
<string name="pref_show_numpad_never">Nunca</string>
<string name="pref_show_numpad_landscape">Somente no modo paisagem</string>
@@ -27,6 +24,8 @@
<string name="pref_numpad_layout_e_high_first">Dígitos maiores primeiro</string>
<string name="pref_numpad_layout_e_low_first">Dígitos menores primeiro</string>
<string name="pref_extra_keys_title">Adicionar teclas ao teclado</string>
<string name="pref_extra_keys_custom">Adicionar teclas customizadas</string>
<string name="pref_extra_keys_internal">Selecione teclas para serem adicionadas ao teclado</string>
<string name="pref_second_layout_title">Layout secundário</string>
<string name="pref_second_layout_none">Nenhum</string>
<string name="pref_category_typing">Digitação</string>
@@ -34,7 +33,7 @@
<string name="pref_swipe_dist_summary">Distância até acionar os cantos das teclas (%s)</string>
<string name="pref_long_timeout_title">Tempo até repetir tecla</string>
<string name="pref_long_interval_title">Intervalo de repetição de tecla</string>
<string name="pref_lock_double_tap_title">Tecle duas vezes no shift para caixa alta</string>
<string name="pref_lock_double_tap_title">Tecle duas vezes no shift para travá-lo acionado</string>
<string name="pref_lock_double_tap_summary">Ao invés de apertar e segurar por um tempo</string>
<string name="pref_category_behavior">Comportamento</string>
<string name="pref_autocapitalisation_title">Capitalização automática</string>
@@ -43,6 +42,8 @@
<string name="pref_switch_input_immediate_summary">Comportamento da tecla de troca de teclado</string>
<string name="pref_vibrate_title">Vibração</string>
<string name="pref_vibrate_summary">Ativar/desativar vibração ao digitar</string>
<string name="pref_pin_entry_enabled_title">Layout PIN</string>
<string name="pref_pin_entry_enabled_summary">Quando digitando números, datas ou números de telefone</string>
<string name="pref_category_style">Estilo</string>
<string name="pref_margin_bottom_title">Margem inferior</string>
<string name="pref_keyboard_height_title">Altura do teclado</string>
@@ -67,11 +68,11 @@
<string name="pref_category_advanced">Avançado</string>
<string name="pref_custom_layout_title">Layout personalizado</string>
<string name="pref_custom_layout_summary">Veja o código-fonte. Esta opção não deve ser usada.</string>
<!-- <string name="pref_vibration_e_disabled">Disabled</string> -->
<!-- <string name="pref_vibration_e_system">System</string> -->
<!-- <string name="pref_vibration_e_strong">Strong</string> -->
<!-- <string name="pref_vibration_e_medium">Medium</string> -->
<!-- <string name="pref_vibration_e_light">Light</string> -->
<string name="pref_vibration_e_disabled">Desabilitado</string>
<string name="pref_vibration_e_system">Sistema</string>
<string name="pref_vibration_e_strong">Intenso</string>
<string name="pref_vibration_e_medium">Médio</string>
<string name="pref_vibration_e_light">Suave</string>
<string name="key_action_next">Próximo</string>
<string name="key_action_done">Pronto</string>
<string name="key_action_go">Ir</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">Enviar</string>
<string name="launcher_button_imesettings">Ativar teclado</string>
<string name="launcher_description">Este app é um teclado virtual. Vá para as configurações do sistema clicando no botão abaixo e ative o Teclado Unexpected.</string>
<string name="launcher_sourcecode">Este app é gratuito é de código aberto. Você pode consultar o código ou fazer sugestões em <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string>
<string name="launcher_sourcecode">Este app é gratuito é de código aberto. Você pode consultar o código ou fazer sugestões em Github.</string>
<string name="launcher_tryhere">Após ativar, experimente aqui:</string>
<string name="key_descr_capslock">Caps lock</string>
<string name="key_descr_switch_greekmath">Grego &amp; símbolos matemáticos</string>
<string name="key_descr_voice_typing">Digitação por voz</string>
<string name="key_descr_copy">Copiar</string>
<string name="key_descr_paste">Colar</string>
<string name="key_descr_cut">Cortar</string>
<string name="key_descr_selectAll">Selecionar tudo</string>
<string name="key_descr_shareText">Compartilhar texto</string>
<string name="key_descr_pasteAsPlainText">Colar texto não formatado</string>
<string name="key_descr_undo">Desfazer</string>
<string name="key_descr_redo">Refazer</string>
<string name="key_descr_replaceText">Substituir</string>
<string name="key_descr_textAssist">Assistente</string>
<string name="key_descr_autofill">Autopreenchimento</string>
<string name="key_descr_ª">Indicador Ordinal</string>
<string name="key_descr_º">Indicador Ordinal</string>
<string name="key_descr_superscript">Sobrescrito</string>
<string name="key_descr_subscript">Subscrito</string>
</resources>

View File

@@ -10,13 +10,10 @@
<string name="pref_keyboard_opacity">Modifică opacitatea fundalului tastaturii</string>
<string name="pref_key_opacity">Modifică opacitatea tastelor</string>
<string name="pref_key_activated_opacity">Modifică opacitatea tastei apăsate</string>
<string name="pref_layout_title">Schimbă aranjamentul tastaturii</string>
<string name="pref_layout_e_system">Setări de Sistem</string>
<string name="pref_layout_e_custom">Aranjament personalizat</string>
<string name="pref_accents_title">Accente</string>
<string name="pref_accents_e_all_installed">Arată accentele pentru toate limbile instalate</string>
<string name="pref_accents_e_selected">Aratp accentele doar pentru limba selectată</string>
<string name="pref_accents_e_none">Ascunde accentele</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<string name="pref_show_numpad_title">Arată NumPad</string>
<string name="pref_show_numpad_never">Niciodată</string>
<string name="pref_show_numpad_landscape">Doar în mod panoramă</string>
@@ -27,6 +24,8 @@
<string name="pref_numpad_layout_e_high_first">Mai întâi cifrele mari</string>
<string name="pref_numpad_layout_e_low_first">Mai întâi cifrele mici</string>
<string name="pref_extra_keys_title">Adaugă taste pe tastatură</string>
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<string name="pref_second_layout_title">Aranjament secundar</string>
<string name="pref_second_layout_none">Nimic</string>
<string name="pref_category_typing">Tipărire</string>
@@ -43,6 +42,8 @@
<string name="pref_switch_input_immediate_summary">Comportamentul tastei pentru schimbarea tastaturii</string>
<string name="pref_vibrate_title">Vibrație</string>
<string name="pref_vibrate_summary">Activați/dezactivați vibrația la apăsarea tastelor</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_category_style">Stil</string>
<string name="pref_margin_bottom_title">Marginea de jos</string>
<string name="pref_keyboard_height_title">Înălțimea tastaturii</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">Trimite</string>
<string name="launcher_button_imesettings">Activează tastatura</string>
<string name="launcher_description">Această aplicație este o tastatură virtuală. Accesați setările sistemului făcând clic pe butonul de mai jos și activați tastatura Unexpected.</string>
<string name="launcher_sourcecode">Aceasta este o aplicație gratuită și open source. Puteți găsi codul sursă sau raporta erori folosind link-ul <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string>
<string name="launcher_sourcecode">Aceasta este o aplicație gratuită și open source. Puteți găsi codul sursă sau raporta erori folosind link-ul Github.</string>
<string name="launcher_tryhere">După activare, puteți să încercați tastatura aici:</string>
<!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_replaceText">Replace</string> -->
<!-- <string name="key_descr_textAssist">Assist</string> -->
<!-- <string name="key_descr_autofill">Autofill</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> -->
</resources>

View File

@@ -10,13 +10,10 @@
<string name="pref_keyboard_opacity">Изменить прозрачность фона</string>
<string name="pref_key_opacity">Изменить прозрачность клавиш</string>
<string name="pref_key_activated_opacity">Изменить прозрачность нажатой клавиши</string>
<string name="pref_layout_title">Изменить раскладку клавиатуры</string>
<string name="pref_layout_e_system">Системные настройки</string>
<string name="pref_layout_e_custom">Пользовательская раскладка</string>
<string name="pref_accents_title">Акцент</string>
<string name="pref_accents_e_all_installed">Показывать акценты для всех установленных языков</string>
<string name="pref_accents_e_selected">Показывать акценты только для выбранного языка</string>
<string name="pref_accents_e_none">Скрыть акценты</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<string name="pref_show_numpad_title">Показывать NumPad</string>
<string name="pref_show_numpad_never">Никогда</string>
<string name="pref_show_numpad_landscape">Только в ландшафтном режиме</string>
@@ -27,6 +24,8 @@
<string name="pref_numpad_layout_e_high_first">Старшие цифры сверху</string>
<string name="pref_numpad_layout_e_low_first">Младшие цифры сверху</string>
<string name="pref_extra_keys_title">Добавить клавиши на клавиатуру</string>
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<string name="pref_second_layout_title">Дополнительная раскладка</string>
<string name="pref_second_layout_none">Нет</string>
<string name="pref_category_typing">Печать</string>
@@ -43,6 +42,8 @@
<string name="pref_switch_input_immediate_summary">Поведение клавиши переключения клавиатуры</string>
<string name="pref_vibrate_title">Вибрация</string>
<string name="pref_vibrate_summary">Включение/выключение вибрации при нажатии клавиши</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_category_style">Стиль</string>
<string name="pref_margin_bottom_title">Нижняя граница поля</string>
<string name="pref_keyboard_height_title">Высота клавиатуры</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">Отправить</string>
<string name="launcher_button_imesettings">Включить клавиатуру</string>
<string name="launcher_description">Данное приложение является виртуальной клавиатурой. Зайдите в настройки, нажав кнопку внизу и активируйте Unexpected-Keyboard.</string>
<string name="launcher_sourcecode">Это бесплатное приложение с открытым исходным кодом. Вы можете изучить код или сообщить об ошибках по ссылке <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string>
<string name="launcher_sourcecode">Это бесплатное приложение с открытым исходным кодом. Вы можете изучить код или сообщить об ошибках по ссылке Github.</string>
<string name="launcher_tryhere">После активации вы можете попробовать клавиатуру прямо здесь:</string>
<!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_replaceText">Replace</string> -->
<!-- <string name="key_descr_textAssist">Assist</string> -->
<!-- <string name="key_descr_autofill">Autofill</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> -->
</resources>

View File

@@ -10,13 +10,10 @@
<!-- <string name="pref_keyboard_opacity">Adjust keyboard background opacity</string> -->
<!-- <string name="pref_key_opacity">Adjust key opacity</string> -->
<!-- <string name="pref_key_activated_opacity">Adjust pressed key opacity</string> -->
<string name="pref_layout_title">Klavye Düzenini Değiştir</string>
<string name="pref_layout_e_system">Sistem Ayarları</string>
<!-- <string name="pref_layout_e_custom">Custom layout</string> -->
<string name="pref_accents_title">Aksanlar</string>
<string name="pref_accents_e_all_installed">Yüklü tüm dillerin aksanlarını göster</string>
<string name="pref_accents_e_selected">Sadece seçili dilin aksanlarını göster</string>
<string name="pref_accents_e_none">Aksanları gizle</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<!-- <string name="pref_show_numpad_title">Show NumPad</string> -->
<!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
@@ -27,6 +24,8 @@
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
<!-- <string name="pref_extra_keys_title">Add keys to the keyboard</string> -->
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<!-- <string name="pref_second_layout_title">Secondary layout</string> -->
<string name="pref_second_layout_none">Hiçbiri</string>
<string name="pref_category_typing">Yazma</string>
@@ -43,6 +42,8 @@
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
<string name="pref_vibrate_title">Titreşim</string>
<string name="pref_vibrate_summary">Tuşa basıldığında titreşimi etkinleştir</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_category_style">Stil</string>
<string name="pref_margin_bottom_title">Alt boşluk</string>
<string name="pref_keyboard_height_title">Klavye yüksekliği</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">Gönder</string>
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
<!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on Github.</string> -->
<!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> -->
<!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_replaceText">Replace</string> -->
<!-- <string name="key_descr_textAssist">Assist</string> -->
<!-- <string name="key_descr_autofill">Autofill</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> -->
</resources>

View File

@@ -10,15 +10,10 @@
<string name="pref_keyboard_opacity">Tùy chỉnh độ trong suốt của bàn phím</string>
<string name="pref_key_opacity">Tùy chỉnh độ trong suốt của phím</string>
<string name="pref_key_activated_opacity">Tùy chỉnh độ trong suốt của phím khi nhấn</string>
<string name="pref_layout_title">Thay đổi bố cục bàn phím</string>
<string name="pref_layout_e_system">Hệ thống</string>
<string name="pref_layout_e_custom">Tùy chỉnh bố cục</string>
<string name="pref_accents_title">Dấu phụ</string>
<string name="pref_accents_e_all_installed">Hiển thị cho các ngôn ngữ đã cài đặt</string>
<string name="pref_accents_e_selected">Chỉ hiển thị cho các ngôn ngữ đã chọn</string>
<string name="pref_accents_e_none">
Ẩn dấu phụ
</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<string name="pref_show_numpad_title">Hiện NumPad</string>
<string name="pref_show_numpad_never">Không bao giờ</string>
<string name="pref_show_numpad_landscape">Chỉ trong chế độ phong cảnh</string>
@@ -29,6 +24,8 @@
<string name="pref_numpad_layout_e_high_first">Số lớn nhất trước</string>
<string name="pref_numpad_layout_e_low_first">Số nhỏ nhất trước</string>
<string name="pref_extra_keys_title">Thêm phím vào bàn phím</string>
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<string name="pref_second_layout_title">Bố cục phụ</string>
<string name="pref_second_layout_none">Không</string>
<string name="pref_category_typing"></string>
@@ -45,6 +42,8 @@
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
<string name="pref_vibrate_title">Sự rung</string>
<string name="pref_vibrate_summary">Bật/tắt rung khi nhấn</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_category_style">Kiểu cách</string>
<string name="pref_margin_bottom_title">Căn lề dưới</string>
<string name="pref_keyboard_height_title">Chiều cao bàn phím</string>
@@ -82,6 +81,24 @@
<string name="key_action_send">Gửi</string>
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
<!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string> -->
<!-- <string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on Github.</string> -->
<!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> -->
<!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_replaceText">Replace</string> -->
<!-- <string name="key_descr_textAssist">Assist</string> -->
<!-- <string name="key_descr_autofill">Autofill</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> -->
</resources>

View File

@@ -10,13 +10,10 @@
<string name="pref_keyboard_opacity">调整键盘背景透明度</string>
<string name="pref_key_opacity">调整按键透明度</string>
<string name="pref_key_activated_opacity">调整按下的按键的透明度</string>
<string name="pref_layout_title">改变键盘布局</string>
<string name="pref_layout_e_system">系统设置</string>
<string name="pref_layout_e_custom">自定义布局</string>
<string name="pref_accents_title">声调</string>
<string name="pref_accents_e_all_installed">显示所有安装的语言的声调符号</string>
<string name="pref_accents_e_selected">只显示选择的语言的声调符号</string>
<string name="pref_accents_e_none">隐藏声调符号</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<string name="pref_show_numpad_title">显示数字小键盘</string>
<string name="pref_show_numpad_never">从不</string>
<string name="pref_show_numpad_landscape">只在横屏显示</string>
@@ -27,6 +24,8 @@
<string name="pref_numpad_layout_e_high_first">大数字在上方</string>
<string name="pref_numpad_layout_e_low_first">小数字在上方</string>
<string name="pref_extra_keys_title">选择要显示的按键</string>
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<string name="pref_second_layout_title">第二键盘布局</string>
<string name="pref_second_layout_none"></string>
<string name="pref_category_typing">输入</string>
@@ -43,6 +42,8 @@
<string name="pref_switch_input_immediate_summary">切换键盘按钮的行为</string>
<string name="pref_vibrate_title">振动</string>
<string name="pref_vibrate_summary">启用或者禁用按下按键时振动</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_category_style">样式</string>
<string name="pref_margin_bottom_title">键盘下边距</string>
<string name="pref_keyboard_height_title">键盘高度</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">发送</string>
<string name="launcher_button_imesettings">启用键盘</string>
<string name="launcher_description">这是一个虚拟键盘软件。点击按钮进入系统设置,然后启用 Unexpected-Keyboard 即可使用。</string>
<string name="launcher_sourcecode">这是一个免费且开源的软件。你可以在 <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a> 上找到源代码或者反馈 bug。</string>
<string name="launcher_sourcecode">这是一个免费且开源的软件。你可以在 Github 上找到源代码或者反馈 bug。</string>
<string name="launcher_tryhere">启用键盘后,可以在这里测试效果:</string>
<!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_replaceText">Replace</string> -->
<!-- <string name="key_descr_textAssist">Assist</string> -->
<!-- <string name="key_descr_autofill">Autofill</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> -->
</resources>

View File

@@ -1,10 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="pref_accents_entries">
<item>@string/pref_accents_e_all_installed</item>
<item>@string/pref_accents_e_selected</item>
<item>@string/pref_accents_e_none</item>
</string-array>
<string-array name="pref_show_numpad_values">
<item>never</item>
<item>landscape</item>
@@ -23,11 +18,6 @@
<item>@string/pref_numpad_layout_e_high_first</item>
<item>@string/pref_numpad_layout_e_low_first</item>
</string-array>
<string-array name="pref_accents_values">
<item>1</item>
<item>2</item>
<item>4</item>
</string-array>
<string-array name="pref_theme_entries">
<item>@string/pref_theme_e_system</item>
<item>@string/pref_theme_e_dark</item>

View File

@@ -2,7 +2,7 @@
<resources>
<!--DO NOT EDIT. This file is generated, see gen_layouts.py.-->
<string-array name="pref_layout_values">
<item>none</item>
<item>system</item>
<item>latn_qwerty_us</item>
<item>latn_colemak</item>
<item>latn_dvorak</item>
@@ -43,13 +43,13 @@
<item>custom</item>
</string-array>
<string-array name="pref_layout_entries">
<item>None</item>
<item>@string/pref_layout_e_system</item>
<item>QWERTY (US)</item>
<item>Colemak</item>
<item>Dvorak</item>
<item>Arabic Alt</item>
<item>Arabic PC</item>
<item>Arabic (کوردی)</item>
<item>Kurdish (کوردی)</item>
<item>Persian PC</item>
<item>বাংলা (জাতীয়)</item>
<item>বাংলা (প্রভাত)</item>

View File

@@ -10,13 +10,10 @@
<string name="pref_keyboard_opacity">Adjust keyboard background opacity</string>
<string name="pref_key_opacity">Adjust key opacity</string>
<string name="pref_key_activated_opacity">Adjust pressed key opacity</string>
<string name="pref_layout_title">Change keyboard layout</string>
<string name="pref_layout_e_system">System settings</string>
<string name="pref_layout_e_custom">Custom layout</string>
<string name="pref_accents_title">Accents</string>
<string name="pref_accents_e_all_installed">Show accents for all installed languages</string>
<string name="pref_accents_e_selected">Only show accents for the selected language</string>
<string name="pref_accents_e_none">Hide accents</string>
<string name="pref_layouts_add">Add an alternate layout</string>
<string name="pref_layouts_item">Layout %1$d: %2$s</string>
<string name="pref_show_numpad_title">Show NumPad</string>
<string name="pref_show_numpad_never">Never</string>
<string name="pref_show_numpad_landscape">Only in landscape mode</string>
@@ -27,6 +24,8 @@
<string name="pref_numpad_layout_e_high_first">High digits first</string>
<string name="pref_numpad_layout_e_low_first">Low digits first</string>
<string name="pref_extra_keys_title">Add keys to the keyboard</string>
<string name="pref_extra_keys_custom">Add custom keys</string>
<string name="pref_extra_keys_internal">Select keys to add to the keyboard</string>
<string name="pref_second_layout_title">Secondary layout</string>
<string name="pref_second_layout_none">None</string>
<string name="pref_category_typing">Typing</string>
@@ -43,6 +42,8 @@
<string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string>
<string name="pref_vibrate_title">Vibration</string>
<string name="pref_vibrate_summary">Enable/disable vibration on keypress</string>
<string name="pref_pin_entry_enabled_title">Pin entry layout</string>
<string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string>
<string name="pref_category_style">Style</string>
<string name="pref_margin_bottom_title">Margin bottom</string>
<string name="pref_keyboard_height_title">Keyboard height</string>
@@ -80,6 +81,24 @@
<string name="key_action_send">Send</string>
<string name="launcher_button_imesettings">Enable keyboard</string>
<string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string>
<string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on <a href="https://github.com/Julow/Unexpected-Keyboard/">Github</a>.</string>
<string name="launcher_sourcecode">This is an free and open source application. You can find the source code or report bugs on Github.</string>
<string name="launcher_tryhere">After enabling, you can try the keyboard here:</string>
<string name="key_descr_capslock">Caps lock</string>
<string name="key_descr_switch_greekmath">Greek &amp; math symbols</string>
<string name="key_descr_voice_typing">Voice typing</string>
<string name="key_descr_copy">Copy</string>
<string name="key_descr_paste">Paste</string>
<string name="key_descr_cut">Cut</string>
<string name="key_descr_selectAll">Select all</string>
<string name="key_descr_shareText">Share text</string>
<string name="key_descr_pasteAsPlainText">Paste as plain text</string>
<string name="key_descr_undo">Undo</string>
<string name="key_descr_redo">Redo</string>
<string name="key_descr_replaceText">Replace</string>
<string name="key_descr_textAssist">Assist</string>
<string name="key_descr_autofill">Autofill</string>
<string name="key_descr_ª">Ordinal Indicator</string>
<string name="key_descr_º">Ordinal Indicator</string>
<string name="key_descr_superscript">Superscript</string>
<string name="key_descr_subscript">Subscript</string>
</resources>

View File

@@ -5,6 +5,7 @@
<dimen name="emoji_type_button_height">56dp</dimen>
<dimen name="emoji_grid_height">250dp</dimen>
<dimen name="emoji_text_size">28dp</dimen>
<dimen name="pref_button_size">28dp</dimen>
<bool name="debug_logs" product="debug">true</bool>
<bool name="debug_logs" product="default">false</bool>
</resources>

View File

@@ -11,8 +11,8 @@
<key key0="ه" key1="&#0247;" key2="٨" key3="*"/>
<key key0="خ" key1="&#0215;" key2="٩" key3="("/>
<key key0="ح" key1="&#1563;" key2="٠" key3=")"/>
<key key0="ج" key1="&gt;" key2="-" key3="_"/>
<key key0="د" key1="&lt;" key2="=" key3="ذ"/>
<key key0="ج" key1="&gt;" key2="-" key3="_" key4="f11_placeholder"/>
<key key0="د" key1="&lt;" key2="=" key3="ذ" key4="f12_placeholder"/>
<!-- <key key0="ذ" key1="&#1617;" key3="\\" key4="|"/> -->
</row>
<row>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<keyboard name="Arabic (کوردی)" script="arabic">
<keyboard name="Kurdish (کوردی)" script="arabic">
<row>
<key key0="ق" key1="ٯ" key2="١" key3="esc"/>
<key key0="و" key1="وو" key2="٢" key3="\@"/>

View File

@@ -1,26 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Adapted from standard SIRI 9147 -->
<keyboard name="Persian PC" script="arabic">
<keyboard name="Persian PC" script="persian">
<row>
<key key0="ض" key2="۱"/>
<key key0="ص" key2="۲"/>
<key key0="ث" key2="۳"/>
<key key0="ق" key2="۴"/>
<key key0="ف" key2="۵"/>
<key key0="غ" key1="۶" key2="،"/>
<key key0="ع" key1="۷"/>
<key key0="ه" key1="۸"/>
<key key0="خ" key1="۹"/>
<key key0="ح" key1="۰"/>
<key key0="ج"/>
<key key0="ض" key2="۱" key4="esc"/>
<key key0="ص" key2="۲" key1="~" key3="\@"/>
<key key0="ث" key2="۳" key1="!" key3="\#"/>
<key key0="ق" key2="۴" key1="﷼" key3="$"/>
<key key0="ف" key2="۵" key3="٪"/>
<key key0="غ" key2="۶" key1="،" key3="^"/>
<key key0="ع" key2="۷" key3="&amp;"/>
<key key0="ه" key2="۸" key3="*"/>
<key key0="خ" key2="۹" key3="(" key4=")"/>
<key key0="ح" key2="۰"/>
<key key0="ج" key1="f11_placeholder" key3="f12_placeholder"/>
</row>
<row>
<key key0="ش" key2="\@"/>
<key key0="س" key2="\#"/>
<key key0="ی" key2=""/>
<key key0="ب" key2="٪"/>
<key key0="ل" key2="&amp;"/>
<key key0="ا" key1="آ" key2="ء" key4="-"/>
<key key0="ش" key2="tab"/>
<key key0="س"/>
<key key0="ی" key2="ئ"/>
<key key0="ب"/>
<key key0="ل"/>
<key key0="ا" key1="آ" key4="ء" key2="-" key3="_"/>
<key key0="ت" key1="&#x200C;" key2="+"/>
<key key0="ن" key1="("/>
<key key0="م" key1=")"/>
@@ -28,15 +27,15 @@
<key key0="گ"/>
</row>
<row>
<key key0="ظ" key2="&#1567;"/>
<key key0="ظ"/>
<key key0="ط"/>
<key key0="ز" key2="«"/>
<key key0="ر" key2="»"/>
<key key0="ژ" key2="."/>
<key key0="ذ" key2=":"/>
<key key0="د" key1="؛"/>
<key key0="پ" key1="!"/>
<key key0="و" key1="ـ"/>
<key key0="د" key2="؛"/>
<key key0="پ" key2="&#1567;"/>
<key key0="و"/>
<key key0="چ"/>
<key width="1.0" key0="backspace" key2="delete"/>
</row>

View File

@@ -2,7 +2,7 @@
<row height="0.95">
<key width="1.7" key0="ctrl" key1="loc switch_greekmath" key2="loc meta" key4="switch_numeric"/>
<key width="1.1" key0="fn" key1="loc alt" key2="change_method" key3="switch_emoji" key4="config"/>
<key width="4.4" key0="space" key7="switch_second" key5="left" key6="right" slider="true"/>
<key width="4.4" key0="space" key7="switch_forward" key8="switch_backward" key5="left" key6="right" slider="true"/>
<key width="1.1" key0="loc voice_typing" key7="up" key6="right" key5="left" key8="down"/>
<key width="1.7" key0="enter" key2="action"/>
</row>

View File

@@ -29,7 +29,7 @@
<row>
<key width="2.0" key0="shift" key2="loc capslock"/>
<key key0="w" key3="&lt;" key4="&gt;"/>
<key key0="x"/>
<key key0="x" key1="loc †"/>
<key key0="c" key1="accent_cedille" key3="," key4="\?"/>
<key key0="v" key3=";" key4="."/>
<key key0="b" key3=":" key4="/"/>

View File

@@ -39,7 +39,7 @@
<row height="0.95">
<key width="1.8" key0="ctrl" key2="loc meta" key4="switch_numeric"/>
<key width="1.2" key0="fn" key1="loc alt" key2="change_method" key3="switch_emoji" key4="config"/>
<key width="4.0" key0="space" key7="switch_second" key8="0"/>
<key width="4.0" key0="space" key7="switch_forward" key8="0"/>
<key width="1.2" key7="up" key6="right" key5="left" key8="down"/>
<key width="1.8" key0="enter" key3="action"/>
</row>

View File

@@ -42,7 +42,7 @@
<row height="0.95">
<key width="1.8" key0="ctrl" key2="loc meta" key4="switch_numeric"/>
<key width="1.2" key0="fn" key1="loc alt" key2="change_method" key3="switch_emoji" key4="config"/>
<key width="4.0" key0="space" key7="switch_second"/>
<key width="4.0" key0="space" key7="switch_second" key8="switch_backward"/>
<key width="1.2" key7="up" key6="right" key5="left" key8="down"/>
<key key0="j" key4=";"/>
<key width="1.8" key0="enter" key2="action"/>

View File

@@ -15,7 +15,7 @@
</row>
<row>
<key key0="a" key2="tab" key4="`"/>
<key key0="s" key1="'" key3="loc ß" key4="accent_cedille"/>
<key key0="s" key1="'" key2="loc §" key3="loc ß" key4="accent_cedille"/>
<key key0="d" key1="&quot;"/>
<key key0="f"/>
<key key0="g"/>
@@ -28,7 +28,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z"/>
<key key0="x"/>
<key key0="x" key2="loc †"/>
<key key0="c"/>
<key key0="v"/>
<key key0="b"/>

View File

@@ -14,7 +14,7 @@
</row>
<row>
<key key0="a" key2="tab" key4="`"/>
<key key0="s" key2="¡" key3="loc ß"/>
<key key0="s" key1="loc §" key2="¡" key3="loc ß"/>
<key key0="d" key1="accent_grave" key3="accent_aigu"/>
<key key0="f"/>
<key key0="g" key2="-" key3="_"/>
@@ -27,7 +27,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z"/>
<key key0="x"/>
<key key0="x" key1="loc †"/>
<key key0="c" key1="loc accent_cedille" key2="&lt;" key3="."/>
<key key0="v" key2="&gt;" key3=","/>
<key key0="b" key2="\?" key3="/" key4="¿"/>

View File

@@ -26,7 +26,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z" key3="&lt;" key4="&gt;"/>
<key key0="x" key4="\#"/>
<key key0="x" key1="loc †" key4="\#"/>
<key key0="c" key4="&amp;"/>
<key key0="v" key4="\@"/>
<key key0="b" key1="\?" key3="," key4=";"/>

View File

@@ -14,7 +14,7 @@
</row>
<row>
<key shift="0.5" key0="a" key1="ā" key2="tab"/>
<key key0="s" key1="š" key3="loc ß" key4="loc accent_ogonek"/>
<key key0="s" key1="š" key2="loc §" key3="loc ß" key4="loc accent_ogonek"/>
<key key0="d"/>
<key key0="f" key1="loc accent_dot_above"/>
<key key0="g" key1="ģ"/>
@@ -26,7 +26,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z" key1="ž"/>
<key key0="x"/>
<key key0="x" key2="loc †"/>
<key key0="c" key1="č"/>
<key key0="v"/>
<key key0="b" key2="\?" key3="&lt;" key4="&gt;"/>

View File

@@ -14,7 +14,7 @@
</row>
<row>
<key shift="0.5" key0="a" key1="tab" key2="`" key3="æ" key4="å"/>
<key key0="s" key1="loc accent_ring" key3="loc ß" key4="loc accent_ogonek"/>
<key key0="s" key1="loc accent_ring" key2="loc §" key3="loc ß" key4="loc accent_ogonek"/>
<key key0="d" key1="loc accent_grave" key2="loc £" key3="loc accent_aigu"/>
<key key0="f" key1="loc accent_dot_above"/>
<key key0="g" key1="loc accent_caron" key2="-" key3="_"/>
@@ -26,7 +26,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z"/>
<key key0="x"/>
<key key0="x" key2="loc †"/>
<key key0="c" key1="loc accent_cedille" key2="&lt;" key3="."/>
<key key0="v" key2="&gt;" key3=","/>
<key key0="b" key2="\?" key3="/"/>

View File

@@ -14,7 +14,7 @@
</row>
<row>
<key shift="0.5" key0="a" key1="tab" key2="`" key4="ą"/>
<key key0="s" key1="loc accent_ring" key3="loc ß" key4="ś"/>
<key key0="s" key1="loc accent_ring" key2="loc §" key3="loc ß" key4="ś"/>
<key key0="d" key1="loc accent_grave" key2="loc £" key3="loc accent_aigu"/>
<key key0="f" key1="loc accent_dot_above" key4="loc accent_ogonek"/>
<key key0="g" key1="loc accent_caron" key2="-" key3="_"/>
@@ -26,7 +26,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z" key4="ż"/>
<key key0="x" key4="ź"/>
<key key0="x" key2="loc †" key4="ź"/>
<key key0="c" key1="loc accent_cedille" key2="&lt;" key3="." key4="ć"/>
<key key0="v" key2="&gt;" key3=","/>
<key key0="b" key2="\?" key3="/"/>

View File

@@ -14,7 +14,7 @@
</row>
<row>
<key shift="0.5" key0="a" key1="â" key2="ă" key3="`" key4="tab"/>
<key key0="s" key1="ș" key3="loc ß" key4="loc accent_ogonek"/>
<key key0="s" key1="ș" key2="loc §" key3="loc ß" key4="loc accent_ogonek"/>
<key key0="d" key1="loc accent_grave" key2="loc £" key3="loc accent_aigu"/>
<key key0="f" key1="loc accent_dot_above"/>
<key key0="g" key1="loc accent_caron" key2="-" key3="_"/>
@@ -26,7 +26,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z"/>
<key key0="x"/>
<key key0="x" key2="loc †"/>
<key key0="c" key1="loc accent_cedille" key2="&lt;" key3="."/>
<key key0="v" key2="&gt;" key3=","/>
<key key0="b" key2="\?" key3="/"/>

View File

@@ -15,7 +15,7 @@
</row>
<row>
<key key0="a" key2="tab"/>
<key key0="s" key1="accent_ring" key3="loc ß"/>
<key key0="s" key1="accent_ring" key2="loc §" key3="loc ß"/>
<key key0="d" key3="accent_aigu"/>
<key key0="f" key1="accent_trema"/>
<key key0="g"/>
@@ -29,7 +29,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z"/>
<key key0="x"/>
<key key0="x" key2="loc †"/>
<key key0="c"/>
<key key0="v"/>
<key key0="b" key2=";" key4=","/>

View File

@@ -14,7 +14,7 @@
</row>
<row>
<key shift="0.5" key0="a" key1="tab" key2="`"/>
<key key0="s" key1="ş"/>
<key key0="s" key1="ş" key2="loc §"/>
<key key0="d"/>
<key key0="f"/>
<key key0="g" key1="ğ" key2="-" key3="_"/>
@@ -26,7 +26,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z"/>
<key key0="x"/>
<key key0="x" key2="loc †"/>
<key key0="c" key1="ç" key2="&lt;" key3="."/>
<key key0="v" key2="&gt;" key3=","/>
<key key0="b" key2="\?" key3="/"/>

View File

@@ -35,7 +35,7 @@ See srcs/juloo.keyboard2/KeyValue.java for the keys that have a special meaning.
</row>
<row>
<key shift="0.5" key0="a" key1="tab" key2="`"/>
<key key0="s" key1="loc accent_ring" key3="loc ß" key4="loc accent_ogonek"/>
<key key0="s" key1="loc accent_ring" key2="loc §" key3="loc ß" key4="loc accent_ogonek"/>
<key key0="d" key1="loc accent_grave" key2="loc £" key3="loc accent_aigu"/>
<key key0="f" key1="loc accent_dot_above"/>
<key key0="g" key1="loc accent_caron" key2="-" key3="_"/>
@@ -47,7 +47,7 @@ See srcs/juloo.keyboard2/KeyValue.java for the keys that have a special meaning.
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z"/>
<key key0="x"/>
<key key0="x" key2="loc †"/>
<key key0="c" key1="loc accent_cedille" key2="&lt;" key3="."/>
<key key0="v" key2="&gt;" key3=","/>
<key key0="b" key2="\?" key3="/"/>

View File

@@ -15,7 +15,7 @@
</row>
<row>
<key shift="0.5" key0="a" key1="tab" key2="ă" key3="â"/>
<key key0="s" key1="accent_aigu"/>
<key key0="s" key1="accent_aigu" key2="loc §"/>
<key key0="d" key1="accent_bar" key2="₫" key3="đ"/>
<key key0="f" key1="accent_grave"/>
<key key0="g" key2="-" key3="_"/>
@@ -27,7 +27,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z"/>
<key key0="x" key1="accent_tilde"/>
<key key0="x" key1="accent_tilde" key2="loc †"/>
<key key0="c" key2="&lt;" key3="."/>
<key key0="v" key2="&gt;" key3=","/>
<key key0="b" key2="\?" key3="/"/>

View File

@@ -26,7 +26,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="y" key1="&gt;" key2="|" key3="&lt;"/>
<key key0="x"/>
<key key0="x" key1="loc †"/>
<key key0="c"/>
<key key0="v" />
<key key0="b" key1=";" key3=","/>

View File

@@ -14,7 +14,7 @@
</row>
<row>
<key shift="0.5" key0="a" key1="tab" key2="á" key3=";"/>
<key key0="s" key4="š"/>
<key key0="s" key1="loc §" key4="š"/>
<key key0="d" key4="ď"/>
<key key0="f" key3="["/>
<key key0="g" key3="]"/>
@@ -26,7 +26,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="y" key2="ý"/>
<key key0="x" key3="\#"/>
<key key0="x" key1="loc †" key3="\#"/>
<key key0="c" key3="&amp;" key4="č"/>
<key key0="v" key3="\@"/>
<key key0="b" key1="&lt;" key2="&gt;" key3="{" key4="}"/>

View File

@@ -26,7 +26,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="y" key1="÷" key2="ý"/>
<key key0="x" key1="∙" key3="×"/>
<key key0="x" key1="∙" key3="×" key4="loc †"/>
<key key0="c" key1="\#" key2="γ" key3="&amp;" key4="č"/>
<key key0="v" key1="|" key3="\@"/>
<key key0="b" key1=";" key2="♭" key3=":" key4="β"/>

View File

@@ -30,7 +30,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key shift="0.5" key0="y" key1="&gt;" key2="|" key3="&lt;"/>
<key key0="x"/>
<key key0="x" key1="loc †"/>
<key key0="c"/>
<key key0="v"/>
<key key0="b" key1=";" key3=","/>

View File

@@ -26,7 +26,7 @@
<row>
<key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="y" key3="&lt;" key4="&gt;"/>
<key key0="x" key4="\#"/>
<key key0="x" key1="loc †" key4="\#"/>
<key key0="c" key4="&amp;"/>
<key key0="v" key4="\@"/>
<key key0="b" key1="\?" key3="," key4=";"/>

View File

@@ -14,7 +14,7 @@
</row>
<row>
<key key0="a" key1="tab" key3="á" key4="ä"/>
<key key0="s" key3="ś" key4="š"/>
<key key0="s" key1="loc §" key3="ś" key4="š"/>
<key key0="d" key4="ď"/>
<key key0="f" key1="%" key2="*"/>
<key key0="g" key2="^"/>
@@ -27,7 +27,7 @@
<row>
<key key0="shift" key2="loc capslock"/>
<key key0="y" key1="$" key3="ý"/>
<key key0="x"/>
<key key0="x" key1="loc †"/>
<key key0="c" key4="č"/>
<key key0="v" key4="\@"/>
<key key0="b" key1="\#" key2="&amp;" key3="-" key4="_"/>

View File

@@ -4,32 +4,33 @@
<subtype android:label="%s" android:languageTag="be" android:imeSubtypeLocale="be_BY" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=cyrillic,default_layout=cyrl_jcuken_ru,extra_keys=ґ|є|і|ї|ў"/>
<subtype android:label="%s" android:languageTag="bg" android:imeSubtypeLocale="bg_BG" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=cyrillic,default_layout=cyrl_yaverti,extra_keys=€"/>
<subtype android:label="%s" android:languageTag="bn" android:imeSubtypeLocale="bn_BD" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=৳"/>
<subtype android:label="%s" android:languageTag="cs" android:imeSubtypeLocale="cs_CZ" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_cz,extra_keys=a|accent_cedille|accent_circonflexe"/>
<subtype android:label="%s" android:languageTag="de" android:imeSubtypeLocale="de_DE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_de,extra_keys=accent_trema|ß|€"/>
<subtype android:label="%s" android:languageTag="cs" android:imeSubtypeLocale="cs_CZ" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_cz,extra_keys=accent_aigu:á:é:í:ó:ú:ý|accent_ring:ů|accent_caron:č:ě:ň:ř:š:ž:ď:ť"/>
<subtype android:label="%s" android:languageTag="de" android:imeSubtypeLocale="de_DE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_de,extra_keys=accent_trema:ä:ö:ü|ß|€"/>
<subtype android:label="%s" android:languageTag="el" android:imeSubtypeLocale="el" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=grek_qwerty,extra_keys=£|€"/>
<subtype android:label="%s" android:languageTag="en-GB" android:imeSubtypeLocale="en_GB" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=£|€"/>
<subtype android:label="%s" android:languageTag="en-US" android:imeSubtypeLocale="en_US" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us"/>
<subtype android:label="%s" android:languageTag="es" android:imeSubtypeLocale="es_ES" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_es,extra_keys=accent_grave|accent_aigu|accent_tilde|accent_trema|€"/>
<subtype android:label="%s" android:languageTag="fr" android:imeSubtypeLocale="fr_FR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_azerty_fr,extra_keys=accent_grave|accent_aigu|accent_circonflexe|accent_cedille|accent_trema|€"/>
<subtype android:label="%s" android:languageTag="es" android:imeSubtypeLocale="es_ES" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_es,extra_keys=accent_aigu:á:é:í:ó:ú|accent_tilde:ñ|accent_grave|accent_trema|€"/>
<subtype android:label="%s" android:languageTag="fa" android:imeSubtypeLocale="fa_IR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=arab_pc_ir"/>
<subtype android:label="%s" android:languageTag="fr" android:imeSubtypeLocale="fr_FR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_azerty_fr,extra_keys=accent_grave:à:è:ù|accent_aigu:é|accent_circonflexe:â:ê:ô|accent_cedille:ç|accent_trema:ë:ï:ü:ÿ|€"/>
<subtype android:label="%s" android:languageTag="he" android:imeSubtypeLocale="he_IL" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=hebrew,default_layout=hebr_1_il,extra_keys=₪|€"/>
<subtype android:label="%s" android:languageTag="hi" android:imeSubtypeLocale="hi_IN" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=devanagari,default_layout=deva_inscript,extra_keys=₹"/>
<subtype android:label="%s" android:languageTag="hu" android:imeSubtypeLocale="hu_HU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_hu,extra_keys=accent_aigu|accent_trema|accent_ogonek|€"/>
<subtype android:label="%s" android:languageTag="is" android:imeSubtypeLocale="is_IS" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=ð|þ|ö|æ|accent_aigu"/>
<subtype android:label="%s" android:languageTag="it" android:imeSubtypeLocale="it_IT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=accent_grave|accent_aigu|€|ə"/>
<subtype android:label="%s" android:languageTag="hu" android:imeSubtypeLocale="hu_HU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_hu,extra_keys=accent_aigu:á:é:í:ó:ú|accent_trema:ö:ü|accent_ogonek|accent_double_aigu:ő:ű|€"/>
<subtype android:label="%s" android:languageTag="is" android:imeSubtypeLocale="is_IS" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=ð|þ|æ|accent_trema:ö|accent_aigu:á:é:í:ó:ú:ý"/>
<subtype android:label="%s" android:languageTag="it" android:imeSubtypeLocale="it_IT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=accent_grave:à:è:ì:ò:ù|accent_aigu:é:ó|accent_circonflexe:î|€|ə"/>
<subtype android:label="%s" android:languageTag="ko" android:imeSubtypeLocale="ko_KR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=hangul,default_layout=latn_qwerty_us"/>
<subtype android:label="%s" android:languageTag="lt" android:imeSubtypeLocale="lt_LT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=accent_ogonek|accent_caron|accent_dot_above|accent_macron|€"/>
<subtype android:label="%s" android:languageTag="lv" android:imeSubtypeLocale="lv_LV" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_lv,extra_keys=accent_caron|accent_cedille|accent_macron|€"/>
<subtype android:label="%s" android:languageTag="lt" android:imeSubtypeLocale="lt_LT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=accent_ogonek:ą:ę:į:ų|accent_caron:č:š:ž|accent_dot_above|accent_macron|€"/>
<subtype android:label="%s" android:languageTag="lv" android:imeSubtypeLocale="lv_LV" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_lv,extra_keys=accent_macron:ā:ē:ī:ū|accent_caron:č:š:ž|accent_ogonek:ķ:ļ:ņ|accent_cedille:ģ|€"/>
<subtype android:label="%s" android:languageTag="mr" android:imeSubtypeLocale="mr_IN" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=devanagari,default_layout=deva_inscript,extra_keys=₹"/>
<subtype android:label="%s" android:languageTag="ne" android:imeSubtypeLocale="ne_NE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=devanagari,default_layout=deva_inscript,extra_keys=₹"/>
<subtype android:label="%s" android:languageTag="nl-BE" android:imeSubtypeLocale="nl_BE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_azerty_fr,extra_keys=accent_grave|accent_aigu|accent_circonflexe|accent_cedille|accent_trema|€"/>
<subtype android:label="%s" android:languageTag="no" android:imeSubtypeLocale="no_NO" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_no,extra_keys=€|æ|å|ø"/>
<subtype android:label="%s" android:languageTag="nl-BE" android:imeSubtypeLocale="nl_BE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_azerty_fr,extra_keys=accent_grave|accent_aigu:á:é:í:ó:ú:ý:j́|accent_circonflexe|accent_cedille|accent_trema|€"/>
<subtype android:label="%s" android:languageTag="no" android:imeSubtypeLocale="no_NO" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_no,extra_keys=€|æ|å|ø|accent_aigu:é:ó|accent_grave:è:ò:ù|accent_circonflexe:ê:ô"/>
<subtype android:label="%s" android:languageTag="pl" android:imeSubtypeLocale="pl_PL" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_pl"/>
<subtype android:label="%s" android:languageTag="pt" android:imeSubtypeLocale="pt_BR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_pt,extra_keys=accent_aigu|accent_cedille|accent_circonflexe|accent_grave|accent_tilde|€"/>
<subtype android:label="%s" android:languageTag="pt" android:imeSubtypeLocale="pt_BR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_pt,extra_keys=accent_aigu:á:é:í:ó:ú|accent_cedille|accent_circonflexe:â:ê:ô|accent_grave:à:ò|accent_tilde:ã:õ|€|ª|º"/>
<subtype android:label="%s" android:languageTag="ro" android:imeSubtypeLocale="ro_RO" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_ro,extra_keys=ă|â|î|ș|ț|€|$"/>
<subtype android:label="%s" android:languageTag="ru" android:imeSubtypeLocale="ru_RU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=cyrl_jcuken_ru"/>
<subtype android:label="%s" android:languageTag="sk" android:imeSubtypeLocale="sk_SK" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_sk,extra_keys=é|ě|ŕ|ř|ť|ž|ü|ú|ů|í|ö|ó|ô|á|ä|ś|š|ď|ĺ|ľ|ý|č|ň"/>
<subtype android:label="%s" android:languageTag="sv" android:imeSubtypeLocale="sv_SE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_se,extra_keys=accent_aigu|accent_trema|accent_ring|€"/>
<subtype android:label="%s" android:languageTag="tr" android:imeSubtypeLocale="tr_TR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_tr,extra_keys=accent_cedille|accent_trema|₺|ı|ğ"/>
<subtype android:label="%s" android:languageTag="uk" android:imeSubtypeLocale="uk_UA" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=cyrillic,default_layout=cyrl_jcuken_uk,extra_keys=ґ|є|і|ї"/>
<subtype android:label="%s" android:languageTag="sk" android:imeSubtypeLocale="sk_SK" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_sk,extra_keys=accent_caron:ě:ř:ž:š:č:ň:ď:ľ:ť|accent_ring:ů|accent_circonflexe:ô|accent_trema:ä:ü:ö|accent_aigu:á:é:í:ó:ú:ŕ:ś:ĺ:ý"/>
<subtype android:label="%s" android:languageTag="sv" android:imeSubtypeLocale="sv_SE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_se,extra_keys=accent_aigu|accent_trema:ä:ö|accent_ring|€"/>
<subtype android:label="%s" android:languageTag="tr" android:imeSubtypeLocale="tr_TR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_tr,extra_keys=accent_cedille:ç:ş|accent_trema:ö:ü|accent_circonflexe:â:î:û|₺|ı|ğ"/>
<subtype android:label="%s" android:languageTag="uk" android:imeSubtypeLocale="uk_UA" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=cyrillic,default_layout=cyrl_jcuken_uk,extra_keys=ґ|є|і|₴"/>
<subtype android:label="%s" android:languageTag="vi" android:imeSubtypeLocale="vi_VN" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_vi"/>
</input-method>

View File

@@ -10,7 +10,7 @@
<key shift="1.0" key0="4" indication="GHI"/>
<key key0="5" indication="JKL"/>
<key key0="6" indication="MNO"/>
<key key0="(" key3=":" key4="-"/>
<key key0="(" key2="=" key3=":" key4="-"/>
</row>
<row>
<key shift="1.0" key0="7" indication="PQRS"/>

View File

@@ -1,85 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory android:title="@string/pref_category_layout">
<juloo.keyboard2.LayoutListPreference android:key="layout" android:title="@string/pref_layout_title" app:defaultString="@string/pref_layout_e_system"/>
<juloo.keyboard2.LayoutListPreference android:key="second_layout" android:title="@string/pref_second_layout_title" app:defaultString="@string/pref_second_layout_none"/>
<ListPreference android:key="accents" android:title="@string/pref_accents_title" android:summary="%s" android:defaultValue="1" android:entries="@array/pref_accents_entries" android:entryValues="@array/pref_accents_values"/>
<ListPreference android:key="show_numpad" android:title="@string/pref_show_numpad_title" android:summary="%s" android:defaultValue="1" android:entries="@array/pref_show_numpad_entries" android:entryValues="@array/pref_show_numpad_values"/>
<CheckBoxPreference android:key="number_row" android:title="@string/pref_number_row_title" android:summary="@string/pref_number_row_summary" android:defaultValue="false"/>
<PreferenceCategory android:icon="@drawable/keyboards_white" android:title="@string/pref_category_layout">
<juloo.keyboard2.LayoutsPreference android:icon="@drawable/keyboards_white"/>
<PreferenceScreen android:title="@string/pref_extra_keys_title">
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="0"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="1"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="2"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="3"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="4"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="5"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="6"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="7"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="8"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="9"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="10"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="11"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="12"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="13"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="14"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="15"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="16"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="17"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="18"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="19"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="20"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="21"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="22"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="23"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="24"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="25"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="26"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="27"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="28"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="29"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="30"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="31"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="32"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="33"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="34"/>
<juloo.keyboard2.ExtraKeyCheckBoxPreference app:index="35"/>
</PreferenceScreen>
<ListPreference android:key="numpad_layout" android:title="@string/pref_numpad_layout" android:summary="%s" android:defaultValue="high_first" android:entries="@array/pref_numpad_layout_entries" android:entryValues="@array/pref_numpad_layout_values"/>
<PreferenceCategory android:title="@string/pref_extra_keys_custom">
<juloo.keyboard2.CustomExtraKeysPreference/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_category_typing">
<ListPreference android:key="swipe_dist" android:title="@string/pref_swipe_dist_title" android:summary="@string/pref_swipe_dist_summary" android:defaultValue="15" android:entries="@array/pref_swipe_dist_entries" android:entryValues="@array/pref_swipe_dist_values"/>
<juloo.common.IntSlideBarPreference android:key="longpress_timeout" android:title="@string/pref_long_timeout_title" android:summary="%sms" android:defaultValue="600" min="50" max="2000"/>
<juloo.common.IntSlideBarPreference android:key="longpress_interval" android:title="@string/pref_long_interval_title" android:summary="%sms" android:defaultValue="25" min="5" max="100"/>
<juloo.keyboard2.ExtraKeysPreference android:title="@string/pref_extra_keys_internal"/>
</PreferenceScreen>
<CheckBoxPreference android:icon="@drawable/clip" android:key="number_row" android:title="@string/pref_number_row_title" android:summary="@string/pref_number_row_summary" android:defaultValue="false"/>
<ListPreference android:icon="@drawable/numpad" android:key="show_numpad" android:title="@string/pref_show_numpad_title" android:summary="%s" android:defaultValue="1" android:entries="@array/pref_show_numpad_entries" android:entryValues="@array/pref_show_numpad_values"/>
<ListPreference android:icon="@drawable/numpad" android:key="numpad_layout" android:title="@string/pref_numpad_layout" android:summary="%s" android:defaultValue="high_first" android:entries="@array/pref_numpad_layout_entries" android:entryValues="@array/pref_numpad_layout_values"/>
</PreferenceCategory>
<PreferenceCategory android:icon="@drawable/ic_lock" android:title="@string/pref_category_typing">
<ListPreference android:icon="@drawable/touch" android:key="swipe_dist" android:title="@string/pref_swipe_dist_title" android:summary="@string/pref_swipe_dist_summary" android:defaultValue="15" android:entries="@array/pref_swipe_dist_entries" android:entryValues="@array/pref_swipe_dist_values"/>
<juloo.common.IntSlideBarPreference android:icon="@drawable/touch" android:key="longpress_timeout" android:title="@string/pref_long_timeout_title" android:summary="%sms" android:defaultValue="600" min="50" max="2000"/>
<juloo.common.IntSlideBarPreference android:icon="@drawable/touch" android:key="longpress_interval" android:title="@string/pref_long_interval_title" android:summary="%sms" android:defaultValue="25" min="5" max="100"/>
<CheckBoxPreference android:key="lock_double_tap" android:title="@string/pref_lock_double_tap_title" android:summary="@string/pref_lock_double_tap_summary" android:defaultValue="false"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_category_behavior">
<PreferenceCategory android:icon="@drawable/settings_white" android:title="@string/pref_category_behavior">
<CheckBoxPreference android:key="autocapitalisation" android:title="@string/pref_autocapitalisation_title" android:summary="@string/pref_autocapitalisation_summary" android:defaultValue="true"/>
<CheckBoxPreference android:key="switch_input_immediate" android:title="@string/pref_switch_input_immediate_title" android:summary="@string/pref_switch_input_immediate_summary" android:defaultValue="false"/>
<ListPreference android:key="vibration_behavior" android:title="@string/pref_vibrate_title" android:summary="@string/pref_vibrate_summary" android:defaultValue="system" android:entries="@array/pref_vibration_entries" android:entryValues="@array/pref_vibration_values"/>
<CheckBoxPreference android:icon="@drawable/keyboard_hide" android:key="switch_input_immediate" android:title="@string/pref_switch_input_immediate_title" android:summary="@string/pref_switch_input_immediate_summary" android:defaultValue="false"/>
<ListPreference android:icon="@drawable/vibration" android:key="vibration_behavior" android:title="@string/pref_vibrate_title" android:summary="@string/pref_vibrate_summary" android:defaultValue="system" android:entries="@array/pref_vibration_entries" android:entryValues="@array/pref_vibration_values"/>
<CheckBoxPreference android:key="pin_entry_enabled" android:title="@string/pref_pin_entry_enabled_title" android:summary="@string/pref_pin_entry_enabled_summary" android:defaultValue="true"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_category_style">
<PreferenceCategory android:icon="@drawable/ic_desing" android:title="@string/pref_category_style">
<ListPreference android:key="theme" android:title="@string/pref_theme" android:summary="%s" android:defaultValue="system" android:entries="@array/pref_theme_entries" android:entryValues="@array/pref_theme_values"/>
<juloo.common.IntSlideBarPreference android:key="label_brightness" android:title="@string/pref_label_brightness" android:summary="%s%%" android:defaultValue="100" min="50" max="100"/>
<juloo.common.IntSlideBarPreference android:key="keyboard_opacity" android:title="@string/pref_keyboard_opacity" android:summary="%s%%" android:defaultValue="100" min="0" max="100"/>
<juloo.common.IntSlideBarPreference android:key="key_opacity" android:title="@string/pref_key_opacity" android:summary="%s%%" android:defaultValue="100" min="0" max="100"/>
<juloo.common.IntSlideBarPreference android:key="key_activated_opacity" android:title="@string/pref_key_activated_opacity" android:summary="%s%%" android:defaultValue="100" min="0" max="100"/>
<juloo.common.IntSlideBarPreference android:icon="@drawable/sun" android:key="label_brightness" android:title="@string/pref_label_brightness" android:summary="%s%%" android:defaultValue="100" min="50" max="100"/>
<juloo.common.IntSlideBarPreference android:icon="@drawable/visible" android:key="keyboard_opacity" android:title="@string/pref_keyboard_opacity" android:summary="%s%%" android:defaultValue="100" min="0" max="100"/>
<juloo.common.IntSlideBarPreference android:icon="@drawable/visible" android:key="key_opacity" android:title="@string/pref_key_opacity" android:summary="%s%%" android:defaultValue="100" min="0" max="100"/>
<juloo.common.IntSlideBarPreference android:icon="@drawable/visible" android:key="key_activated_opacity" android:title="@string/pref_key_activated_opacity" android:summary="%s%%" android:defaultValue="100" min="0" max="100"/>
<PreferenceScreen android:title="@string/pref_margin_bottom_title">
<juloo.common.IntSlideBarPreference android:key="margin_bottom_portrait" android:title="@string/pref_portrait" android:summary="%sdp" android:defaultValue="7" min="0" max="100"/>
<juloo.common.IntSlideBarPreference android:key="margin_bottom_landscape" android:title="@string/pref_landscape" android:summary="%sdp" android:defaultValue="3" min="0" max="100"/>
<juloo.common.IntSlideBarPreference android:icon="@drawable/border_bottom" android:key="margin_bottom_portrait" android:title="@string/pref_portrait" android:summary="%sdp" android:defaultValue="7" min="0" max="100"/>
<juloo.common.IntSlideBarPreference android:icon="@drawable/border_bottom" android:key="margin_bottom_landscape" android:title="@string/pref_landscape" android:summary="%sdp" android:defaultValue="3" min="0" max="100"/>
</PreferenceScreen>
<PreferenceScreen android:title="@string/pref_keyboard_height_title">
<juloo.common.IntSlideBarPreference android:key="keyboard_height" android:title="@string/pref_portrait" android:summary="%s%%" android:defaultValue="35" min="10" max="50"/>
<juloo.common.IntSlideBarPreference android:key="keyboard_height_landscape" android:title="@string/pref_landscape" android:summary="%s%%" android:defaultValue="50" min="20" max="65"/>
<juloo.common.IntSlideBarPreference android:icon="@drawable/vertical_top" android:key="keyboard_height" android:title="@string/pref_portrait" android:summary="%s%%" android:defaultValue="35" min="10" max="50"/>
<juloo.common.IntSlideBarPreference android:icon="@drawable/vertical_top" android:key="keyboard_height_landscape" android:title="@string/pref_landscape" android:summary="%s%%" android:defaultValue="50" min="20" max="65"/>
</PreferenceScreen>
<PreferenceScreen android:title="@string/pref_horizontal_margin_title">
<juloo.common.IntSlideBarPreference android:key="horizontal_margin_portrait" android:title="@string/pref_portrait" android:summary="%sdp" android:defaultValue="3" min="0" max="30"/>
<juloo.common.IntSlideBarPreference android:key="horizontal_margin_landscape" android:title="@string/pref_landscape" android:summary="%sdp" android:defaultValue="28" min="0" max="200"/>
</PreferenceScreen>
<juloo.common.SlideBarPreference android:key="character_size" android:title="@string/pref_character_size_title" android:summary="@string/pref_character_size_summary" android:defaultValue="1.0" min="0.75" max="1.5"/>
<juloo.common.IntSlideBarPreference android:key="key_vertical_space" android:title="@string/pref_key_vertical_space" android:summary="%sdp" android:defaultValue="2" min="0" max="8"/>
<juloo.common.SlideBarPreference android:icon="@drawable/font_size" android:key="character_size" android:title="@string/pref_character_size_title" android:summary="@string/pref_character_size_summary" android:defaultValue="1.0" min="0.75" max="1.5"/>
<juloo.common.IntSlideBarPreference android:icon="@drawable/border_top" android:key="key_vertical_space" android:title="@string/pref_key_vertical_space" android:summary="%sdp" android:defaultValue="2" min="0" max="8"/>
<juloo.common.IntSlideBarPreference android:key="key_horizontal_space" android:title="@string/pref_key_horizontal_space" android:summary="%sdp" android:defaultValue="2" min="0" max="8"/>
</PreferenceCategory>
<PreferenceCategory android:title="@string/pref_category_advanced">
<EditTextPreference android:key="custom_layout" android:title="@string/pref_custom_layout_title" android:summary="@string/pref_custom_layout_summary" android:inputType="text|textMultiLine|textLongMessage"/>
<PreferenceCategory android:icon="@drawable/ic_warning" android:title="@string/pref_category_advanced">
<EditTextPreference android:icon="@drawable/code" android:key="custom_layout" android:title="@string/pref_custom_layout_title" android:summary="@string/pref_custom_layout_summary" android:inputType="text|textMultiLine|textLongMessage"/>
</PreferenceCategory>
</PreferenceScreen>

View File

@@ -8,6 +8,7 @@ import android.os.Build;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.KeyEvent;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
@@ -25,8 +26,8 @@ final class Config
public final float sublabelTextSize;
// From preferences
public KeyboardData layout; // Or 'null' for the system defaults
public KeyboardData second_layout; // Or 'null' for none
/** [null] represent the [system] layout. */
public List<KeyboardData> layouts;
public KeyboardData custom_layout; // Might be 'null'
public boolean show_numpad = false;
// From the 'numpad_layout' option, also apply to the numeric pane.
@@ -48,20 +49,20 @@ final class Config
public int keyActivatedOpacity; // 0 - 255
public boolean double_tap_lock_shift;
public float characterSize; // Ratio
public int accents; // Values are R.values.pref_accents_v_*
public int theme; // Values are R.style.*
public boolean autocapitalisation;
public boolean switch_input_immediate;
public boolean pin_entry_enabled;
// Dynamically set
public boolean shouldOfferSwitchingToNextInputMethod;
public boolean shouldOfferSwitchingToSecond;
public boolean shouldOfferVoiceTyping;
public String actionLabel; // Might be 'null'
public int actionId; // Meaningful only when 'actionLabel' isn't 'null'
public boolean swapEnterActionKey; // Swap the "enter" and "action" keys
public ExtraKeys extra_keys_subtype;
public Set<KeyValue> extra_keys_param;
public List<KeyValue> extra_keys_custom;
public final IKeyEventHandler handler;
public boolean orientation_landscape = false;
@@ -78,7 +79,6 @@ final class Config
refresh(res);
// initialized later
shouldOfferSwitchingToNextInputMethod = false;
shouldOfferSwitchingToSecond = false;
shouldOfferVoiceTyping = false;
actionLabel = null;
actionId = 0;
@@ -114,8 +114,10 @@ final class Config
{
keyboardHeightPercent = _prefs.getInt("keyboard_height", 35);
}
layout = layout_of_string(res, _prefs.getString("layout", "none"));
second_layout = tweak_secondary_layout(layout_of_string(res, _prefs.getString("second_layout", "none")));
List<String> layout_names = LayoutsPreference.load_from_preferences(_prefs);
layouts = new ArrayList<KeyboardData>();
for (String l : layout_names)
layouts.add(layout_of_string(res, l));
custom_layout = KeyboardData.load_string(_prefs.getString("custom_layout", ""));
inverse_numpad = _prefs.getString("numpad_layout", "default").equals("low_first");
number_row = _prefs.getBoolean("number_row", false);
@@ -150,11 +152,12 @@ final class Config
characterSize =
_prefs.getFloat("character_size", 1.f)
* characterSizeScale;
accents = Integer.valueOf(_prefs.getString("accents", "1"));
theme = getThemeId(res, _prefs.getString("theme", ""));
autocapitalisation = _prefs.getBoolean("autocapitalisation", true);
switch_input_immediate = _prefs.getBoolean("switch_input_immediate", false);
extra_keys_param = ExtraKeyCheckBoxPreference.get_extra_keys(_prefs);
extra_keys_param = ExtraKeysPreference.get_extra_keys(_prefs);
extra_keys_custom = CustomExtraKeysPreference.get(_prefs);
pin_entry_enabled = _prefs.getBoolean("pin_entry_enabled", true);
}
KeyValue action_key()
@@ -170,6 +173,7 @@ final class Config
* - Replace the action key to show the right label
* - Swap the enter and action keys
* - Add the optional numpad and number row
* - Add the extra keys
*/
public KeyboardData modify_layout(KeyboardData kw)
{
@@ -178,9 +182,17 @@ final class Config
// first iteration then automatically added.
final Set<KeyValue> extra_keys = new HashSet<KeyValue>();
final Set<KeyValue> remove_keys = new HashSet<KeyValue>();
if (extra_keys_subtype != null)
extra_keys_subtype.compute(extra_keys, kw.script);
extra_keys.addAll(extra_keys_param);
extra_keys.addAll(extra_keys_custom);
if (extra_keys_subtype != null)
{
Set<KeyValue> present = new HashSet<KeyValue>();
kw.getKeys(present);
present.addAll(extra_keys_param);
present.addAll(extra_keys_custom);
extra_keys_subtype.compute(extra_keys,
new ExtraKeys.Query(kw.script, present));
}
boolean number_row = this.number_row && !show_numpad;
if (number_row)
KeyboardData.number_row.getKeys(remove_keys);
@@ -208,8 +220,10 @@ final class Config
case ACTION:
return (swapEnterActionKey && action_key != null) ?
KeyValue.getKeyByName("enter") : action_key;
case SWITCH_SECOND:
return shouldOfferSwitchingToSecond ? key : null;
case SWITCH_FORWARD:
return (layouts.size() > 1) ? key : null;
case SWITCH_BACKWARD:
return (layouts.size() > 2) ? key : null;
case SWITCH_VOICE_TYPING:
return shouldOfferVoiceTyping ? key : null;
}
@@ -281,23 +295,6 @@ final class Config
});
}
/** Modify a layout to turn it into a secondary layout by changing the
"switch_second" key. */
KeyboardData tweak_secondary_layout(KeyboardData layout)
{
if (layout == null)
return null;
return layout.mapKeys(new KeyboardData.MapKeyValues() {
public KeyValue apply(KeyValue key, boolean localized)
{
if (key.getKind() == KeyValue.Kind.Event
&& key.getEvent() == KeyValue.Event.SWITCH_SECOND)
return KeyValue.getKeyByName("switch_second_back");
return key;
}
});
}
private float get_dip_pref(DisplayMetrics dm, String pref_name, float def)
{
float value;

View File

@@ -0,0 +1,61 @@
package juloo.keyboard2;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.preference.Preference;
import android.preference.PreferenceCategory;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
/** Allows to enter custom keys to be added to the keyboard. This shows up at
the top of the "Add keys to the keyboard" option. */
public class CustomExtraKeysPreference extends ListGroupPreference
{
/** This pref stores a list of strings encoded as JSON. */
static final String KEY = "custom_extra_keys";
public CustomExtraKeysPreference(Context context, AttributeSet attrs)
{
super(context, attrs);
setKey(KEY);
}
public static List<KeyValue> get(SharedPreferences prefs)
{
List<KeyValue> kvs = new ArrayList<KeyValue>();
List<String> key_names = load_from_preferences(KEY, prefs, null);
if (key_names != null)
{
for (String key_name : key_names)
kvs.add(KeyValue.makeStringKey(key_name));
}
return kvs;
}
@Override
void select(final SelectionCallback callback)
{
new AlertDialog.Builder(getContext())
.setView(R.layout.custom_extra_key_add_dialog)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which)
{
EditText input = (EditText)((AlertDialog)dialog).findViewById(R.id.key_name);
final String k = input.getText().toString();
if (!k.equals(""))
callback.select(k);
}
})
.setNegativeButton(android.R.string.cancel, null)
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
}
}

View File

@@ -1,110 +0,0 @@
package juloo.keyboard2;
import android.content.Context;
import android.content.res.TypedArray;
import android.content.SharedPreferences;
import android.preference.CheckBoxPreference;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
import java.util.HashSet;
import java.util.Set;
public class ExtraKeyCheckBoxPreference extends CheckBoxPreference
{
public static String[] extra_keys = new String[]
{
"alt",
"meta",
"voice_typing",
"accent_aigu",
"accent_grave",
"accent_double_aigu",
"accent_dot_above",
"accent_circonflexe",
"accent_tilde",
"accent_cedille",
"accent_trema",
"accent_ring",
"accent_caron",
"accent_macron",
"accent_ogonek",
"accent_breve",
"accent_slash",
"accent_bar",
"accent_dot_below",
"accent_hook_above",
"accent_horn",
"",
"ß",
"£",
"switch_greekmath",
"capslock",
"copy",
"paste",
"cut",
"selectAll",
"shareText",
"pasteAsPlainText",
"undo",
"redo",
"replaceText",
"textAssist",
"autofill",
};
public static boolean default_checked(String name)
{
switch (name)
{
case "voice_typing":
return true;
default:
return false;
}
}
boolean _key_font;
public ExtraKeyCheckBoxPreference(Context context, AttributeSet attrs)
{
super(context, attrs);
final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ExtraKeyCheckBoxPreference);
int index = a.getInteger(R.styleable.ExtraKeyCheckBoxPreference_index, 0);
a.recycle();
String key_name = extra_keys[index];
KeyValue kv = KeyValue.getKeyByName(key_name);
String title = kv.getString();
String descr = KeyValue.getKeyDescription(key_name);
if (descr != null)
title += " (" + descr + ")";
setKey(pref_key_of_key_name(key_name));
setDefaultValue(default_checked(key_name));
setTitle(title);
_key_font = kv.hasFlags(KeyValue.FLAG_KEY_FONT);
}
@Override
protected void onBindView(View view)
{
super.onBindView(view);
TextView title = (TextView)view.findViewById(android.R.id.title);
title.setTypeface(_key_font ? Theme.getKeyFont(getContext()) : null);
}
static String pref_key_of_key_name(String key_name)
{
return "extra_key_" + key_name;
}
public static Set<KeyValue> get_extra_keys(SharedPreferences prefs)
{
HashSet<KeyValue> ks = new HashSet<KeyValue>();
for (String key_name : extra_keys)
{
if (prefs.getBoolean(pref_key_of_key_name(key_name), default_checked(key_name)))
ks.add(KeyValue.getKeyByName(key_name));
}
return ks;
}
}

View File

@@ -1,6 +1,9 @@
package juloo.keyboard2;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -8,50 +11,118 @@ import java.util.Set;
class ExtraKeys
{
Map<String, List<KeyValue>> _keys_per_script;
public static final ExtraKeys EMPTY = new ExtraKeys(Collections.EMPTY_LIST);
public ExtraKeys()
Collection<ExtraKey> _ks;
public ExtraKeys(Collection<ExtraKey> ks)
{
_keys_per_script = new HashMap<String, List<KeyValue>>();
_ks = ks;
}
public void add_keys_for_script(String script, List<KeyValue> kvs)
/** Add the keys that should be added to the keyboard into [dst]. Keys
already added to [dst] might have an impact, see [ExtraKey.compute]. */
public void compute(Set<KeyValue> dst, Query q)
{
List<KeyValue> ks = _keys_per_script.get(script);
if (ks == null) ks = new ArrayList<KeyValue>();
ks.addAll(kvs);
_keys_per_script.put(script, ks);
for (ExtraKey k : _ks)
k.compute(dst, q);
}
/** Add the keys that should be added to the keyboard into [dst]. [null] is
a valid script. */
public void compute(Set<KeyValue> dst, String script)
public static ExtraKeys parse(String script, String str)
{
if (script == null)
{
for (String sc : _keys_per_script.keySet())
get_keys_of_script(dst, sc);
}
else
{
get_keys_of_script(dst, null);
get_keys_of_script(dst, script);
}
}
void get_keys_of_script(Set<KeyValue> dst, String script)
{
List<KeyValue> ks = _keys_per_script.get(script);
if (ks != null)
dst.addAll(ks);
}
public static List<KeyValue> parse_extra_keys(String str)
{
List<KeyValue> dst = new ArrayList<KeyValue>();
Collection<ExtraKey> dst = new ArrayList<ExtraKey>();
String[] ks = str.split("\\|");
for (int i = 0; i < ks.length; i++)
dst.add(KeyValue.getKeyByName(ks[i]));
return dst;
dst.add(ExtraKey.parse(ks[i], script));
return new ExtraKeys(dst);
}
/** Merge identical keys. This is required to decide whether to add
alternatives. Script is generalized (set to null) on any conflict. */
public static ExtraKeys merge(List<ExtraKeys> kss)
{
Map<KeyValue, ExtraKey> merged_keys = new HashMap<KeyValue, ExtraKey>();
for (ExtraKeys ks : kss)
for (ExtraKey k : ks._ks)
{
ExtraKey k2 = merged_keys.get(k.kv);
if (k2 != null)
k = k.merge_with(k2);
merged_keys.put(k.kv, k);
}
return new ExtraKeys(merged_keys.values());
}
final static class ExtraKey
{
/** The key to add. */
final KeyValue kv;
/** The key will be added to layouts of the same script. If null, might be
added to layouts of any script. */
final String script;
/** The key will not be added to layout that already contain all the
alternatives. */
final List<KeyValue> alternatives;
ExtraKey(KeyValue kv_, String script_, List<KeyValue> alts_)
{
kv = kv_;
script = script_;
alternatives = alts_;
}
/** Whether the key should be added to the keyboard. */
public void compute(Set<KeyValue> dst, Query q)
{
// Add the alternative if it's the only one. The list of alternatives is
// enforced to be complete by the merging step. The same [kv] will not
// appear again in the list of extra keys with a different list of
// alternatives.
// Selecting the dead key in the "Add key to the keyboard" option would
// disable this behavior for a key.
boolean use_alternative = (alternatives.size() == 1 && !dst.contains(kv));
if
((q.script == null || script == null || q.script.equals(script))
&& (alternatives.size() == 0 || !q.present.containsAll(alternatives)))
dst.add(use_alternative ? alternatives.get(0) : kv);
}
/** Return a new key from two. [kv] are expected to be equal. [script] is
generalized to [null] on any conflict. [alternatives] are concatenated.
*/
public ExtraKey merge_with(ExtraKey k2)
{
String script_ =
(script != null && k2.script != null && script.equals(k2.script))
? script : null;
List<KeyValue> alts = new ArrayList<KeyValue>(alternatives);
alts.addAll(k2.alternatives);
return new ExtraKey(kv, script_, alts);
}
/** Extra keys are of the form "key name" or "key name:alt 1:alt 2". */
public static ExtraKey parse(String str, String script)
{
String[] strs = str.split(":");
KeyValue kv = KeyValue.getKeyByName(strs[0]);
KeyValue[] alts = new KeyValue[strs.length-1];
for (int i = 1; i < strs.length; i++)
alts[i-1] = KeyValue.getKeyByName(strs[i]);
return new ExtraKey(kv, script, Arrays.asList(alts));
}
}
public final static class Query
{
/** Script of the current layout. Might be null. */
final String script;
/** Keys present on the layout. */
final Set<KeyValue> present;
public Query(String script_, Set<KeyValue> present_)
{
script = script_;
present = present_;
}
}
}

View File

@@ -0,0 +1,171 @@
package juloo.keyboard2;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.preference.CheckBoxPreference;
import android.preference.PreferenceCategory;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
import java.util.HashSet;
import java.util.Set;
/** This class implements the "extra keys" preference but also defines the
possible extra keys. */
public class ExtraKeysPreference extends PreferenceCategory
{
/** Array of the keys that can be selected. */
public static String[] extra_keys = new String[]
{
"alt",
"meta",
"voice_typing",
"accent_aigu",
"accent_grave",
"accent_double_aigu",
"accent_dot_above",
"accent_circonflexe",
"accent_tilde",
"accent_cedille",
"accent_trema",
"accent_ring",
"accent_caron",
"accent_macron",
"accent_ogonek",
"accent_breve",
"accent_slash",
"accent_bar",
"accent_dot_below",
"accent_hook_above",
"accent_horn",
"",
"ß",
"£",
"§",
"",
"ª",
"º",
"switch_greekmath",
"capslock",
"copy",
"paste",
"cut",
"selectAll",
"shareText",
"pasteAsPlainText",
"undo",
"redo",
"replaceText",
"textAssist",
"autofill",
"superscript",
"subscript",
};
/** Whether an extra key is enabled by default. */
public static boolean default_checked(String name)
{
switch (name)
{
case "voice_typing":
return true;
default:
return false;
}
}
/** Text that describe a key. Might be null. */
static String key_description(Resources res, String name)
{
int id = 0;
switch (name)
{
case "capslock": id = R.string.key_descr_capslock; break;
case "switch_greekmath": id = R.string.key_descr_switch_greekmath; break;
case "voice_typing": id = R.string.key_descr_voice_typing; break;
case "copy": id = R.string.key_descr_copy; break;
case "paste": id = R.string.key_descr_paste; break;
case "cut": id = R.string.key_descr_cut; break;
case "selectAll": id = R.string.key_descr_selectAll; break;
case "shareText": id = R.string.key_descr_shareText; break;
case "pasteAsPlainText": id = R.string.key_descr_pasteAsPlainText; break;
case "undo": id = R.string.key_descr_undo; break;
case "redo": id = R.string.key_descr_redo; break;
case "textAssist": id = R.string.key_descr_textAssist; break;
case "autofill": id = R.string.key_descr_autofill; break;
case "ª": id = R.string.key_descr_ª; break;
case "º": id = R.string.key_descr_º; break;
case "superscript": id = R.string.key_descr_superscript; break;
case "subscript": id = R.string.key_descr_subscript; break;
}
if (id == 0)
return null;
return res.getString(id);
}
/** Get the set of enabled extra keys. */
public static Set<KeyValue> get_extra_keys(SharedPreferences prefs)
{
HashSet<KeyValue> ks = new HashSet<KeyValue>();
for (String key_name : extra_keys)
{
if (prefs.getBoolean(pref_key_of_key_name(key_name),
default_checked(key_name)))
ks.add(KeyValue.getKeyByName(key_name));
}
return ks;
}
boolean _attached = false; /** Whether it has already been attached. */
public ExtraKeysPreference(Context context, AttributeSet attrs)
{
super(context, attrs);
setOrderingAsAdded(true);
}
@Override
protected void onAttachedToActivity()
{
if (_attached)
return;
_attached = true;
for (String key_name : extra_keys)
addPreference(new ExtraKeyCheckBoxPreference(getContext(), key_name,
default_checked(key_name)));
}
public static String pref_key_of_key_name(String key_name)
{
return "extra_key_" + key_name;
}
static class ExtraKeyCheckBoxPreference extends CheckBoxPreference
{
boolean _key_font;
public ExtraKeyCheckBoxPreference(Context ctx, String key_name,
boolean default_checked)
{
super(ctx);
KeyValue kv = KeyValue.getKeyByName(key_name);
String title = kv.getString();
String descr = key_description(ctx.getResources(), key_name);
if (descr != null)
title += " (" + descr + ")";
setKey(pref_key_of_key_name(key_name));
setDefaultValue(default_checked);
setTitle(title);
_key_font = kv.hasFlags(KeyValue.FLAG_KEY_FONT);
}
@Override
protected void onBindView(View view)
{
super.onBindView(view);
TextView title = (TextView)view.findViewById(android.R.id.title);
title.setTypeface(_key_font ? Theme.getKeyFont(getContext()) : null);
}
}
}

View File

@@ -237,6 +237,10 @@ class KeyModifier
case '!': return "¡";
case '?': return "¿";
case '|': return "¦";
case '§': return "";
case '†': return "";
case '×': return "";
case ' ': return "nbsp";
// arrows
case '↖': return "";
case '↑': return "";
@@ -255,6 +259,7 @@ class KeyModifier
case 'y': return "¥";
case 'c': return "¢";
case 'p': return "";
case 'h': return "";
case '€': case '£': return "removed"; // Avoid showing these twice
// alternating greek letters
case 'π': return "ϖ";
@@ -352,8 +357,28 @@ class KeyModifier
case 'ं': return "";
case '़': return "";
case 'ऽ': return "";
// other
case ' ': return "nbsp";
// Persian numbers
case '۱': return "f1";
case '۲': return "f2";
case '۳': return "f3";
case '۴': return "f4";
case '۵': return "f5";
case '۶': return "f6";
case '۷': return "f7";
case '۸': return "f8";
case '۹': return "f9";
case '۰': return "f10";
// Arabic numbers
case '١': return "f1";
case '٢': return "f2";
case '٣': return "f3";
case '٤': return "f4";
case '٥': return "f5";
case '٦': return "f6";
case '٧': return "f7";
case '٨': return "f8";
case '٩': return "f9";
case '٠': return "f10";
default: return null;
}
}
@@ -704,13 +729,36 @@ class KeyModifier
case '8': return '⁸';
case '9': return '⁹';
case '0': return '⁰';
case 'i': return 'ⁱ';
case '+': return '⁺';
case '-': return '⁻';
case '=': return '⁼';
case '(': return '⁽';
case ')': return '⁾';
case 'a': return 'ᵃ';
case 'b': return 'ᵇ';
case 'c': return 'ᶜ';
case 'd': return 'ᵈ';
case 'e': return 'ᵉ';
case 'f': return 'ᶠ';
case 'g': return 'ᵍ';
case 'h': return 'ʰ';
case 'i': return 'ⁱ';
case 'j': return 'ʲ';
case 'k': return 'ᵏ';
case 'l': return 'ˡ';
case 'm': return 'ᵐ';
case 'n': return 'ⁿ';
case 'o': return 'ᵒ';
case 'p': return 'ᵖ';
case 'r': return 'ʳ';
case 's': return 'ˢ';
case 't': return 'ᵗ';
case 'u': return 'ᵘ';
case 'v': return 'ᵛ';
case 'w': return 'ʷ';
case 'x': return 'ˣ';
case 'y': return 'ʸ';
case 'z': return 'ᶻ';
default: return c;
}
}
@@ -737,10 +785,23 @@ class KeyModifier
case '=': return '₌';
case '(': return '₍';
case ')': return '₎';
case 'e': return 'ₑ';
case 'a': return 'ₐ';
case 'x': return '';
case 'e': return '';
case 'h': return 'ₕ';
case 'i': return 'ᵢ';
case 'j': return 'ⱼ';
case 'k': return 'ₖ';
case 'l': return 'ₗ';
case 'm': return 'ₘ';
case 'n': return 'ₙ';
case 'o': return 'ₒ';
case 'p': return 'ₚ';
case 'r': return 'ᵣ';
case 's': return 'ₛ';
case 't': return 'ₜ';
case 'u': return 'ᵤ';
case 'v': return 'ᵥ';
case 'x': return 'ₓ';
default: return c;
}
}

View File

@@ -15,8 +15,8 @@ final class KeyValue
CHANGE_METHOD,
CHANGE_METHOD_PREV,
ACTION,
SWITCH_SECOND,
SWITCH_SECOND_BACK,
SWITCH_FORWARD,
SWITCH_BACKWARD,
SWITCH_GREEKMATH,
CAPS_LOCK,
SWITCH_VOICE_TYPING,
@@ -278,10 +278,20 @@ final class KeyValue
return keyeventKey(String.valueOf((char)symbol), code, flags | FLAG_KEY_FONT);
}
private static KeyValue editingKey(String symbol, Editing action)
private static KeyValue editingKey(String symbol, Editing action, int flags)
{
return new KeyValue(symbol, Kind.Editing, action.ordinal(),
FLAG_SPECIAL | FLAG_SECONDARY | FLAG_SMALLER_FONT);
flags | FLAG_SPECIAL | FLAG_SECONDARY);
}
private static KeyValue editingKey(String symbol, Editing action)
{
return editingKey(symbol, action, FLAG_SMALLER_FONT);
}
private static KeyValue editingKey(int symbol, Editing action)
{
return editingKey(String.valueOf((char)symbol), action, FLAG_KEY_FONT);
}
/** A key that do nothing but has a unique ID. */
@@ -290,12 +300,13 @@ final class KeyValue
return new KeyValue("", Kind.Placeholder, id.ordinal(), 0);
}
private static KeyValue fallbackMakeKey(String name)
/** Make a key that types a string. */
public static KeyValue makeStringKey(String str)
{
if (name.length() == 1)
return new KeyValue(name, Kind.Char, name.charAt(0), 0);
if (str.length() == 1)
return new KeyValue(str, Kind.Char, str.charAt(0), 0);
else
return new KeyValue(name, Kind.String, 0, 0);
return new KeyValue(str, Kind.String, 0, FLAG_SMALLER_FONT);
}
public static KeyValue getKeyByName(String name)
@@ -305,33 +316,33 @@ final class KeyValue
/* These symbols have special meaning when in `res/xml` and are escaped in
standard layouts. The backslash is not stripped when parsed from the
custom layout option. */
case "\\?": return fallbackMakeKey("?");
case "\\#": return fallbackMakeKey("#");
case "\\@": return fallbackMakeKey("@");
case "\\\\": return fallbackMakeKey("\\");
case "\\?": return makeStringKey("?");
case "\\#": return makeStringKey("#");
case "\\@": return makeStringKey("@");
case "\\\\": return makeStringKey("\\");
case "shift": return modifierKey(0x0A, Modifier.SHIFT, 0);
case "shift": return modifierKey(0xE00A, Modifier.SHIFT, 0);
case "ctrl": return modifierKey("Ctrl", Modifier.CTRL, 0);
case "alt": return modifierKey("Alt", Modifier.ALT, 0);
case "accent_aigu": return diacritic(0x50, Modifier.AIGU);
case "accent_caron": return diacritic(0x51, Modifier.CARON);
case "accent_cedille": return diacritic(0x52, Modifier.CEDILLE);
case "accent_circonflexe": return diacritic(0x53, Modifier.CIRCONFLEXE);
case "accent_grave": return diacritic(0x54, Modifier.GRAVE);
case "accent_macron": return diacritic(0x55, Modifier.MACRON);
case "accent_ring": return diacritic(0x56, Modifier.RING);
case "accent_tilde": return diacritic(0x57, Modifier.TILDE);
case "accent_trema": return diacritic(0x58, Modifier.TREMA);
case "accent_ogonek": return diacritic(0x59, Modifier.OGONEK);
case "accent_dot_above": return diacritic(0x5A, Modifier.DOT_ABOVE);
case "accent_double_aigu": return diacritic(0x5B, Modifier.DOUBLE_AIGU);
case "accent_slash": return diacritic(0x5C, Modifier.SLASH);
case "accent_arrow_right": return diacritic(0x5D, Modifier.ARROW_RIGHT);
case "accent_breve": return diacritic(0x5E, Modifier.BREVE);
case "accent_bar": return diacritic(0x5F, Modifier.BAR);
case "accent_dot_below": return diacritic(0x60, Modifier.DOT_BELOW);
case "accent_horn": return diacritic(0x61, Modifier.HORN);
case "accent_hook_above": return diacritic(0x62, Modifier.HOOK_ABOVE);
case "accent_aigu": return diacritic(0xE050, Modifier.AIGU);
case "accent_caron": return diacritic(0xE051, Modifier.CARON);
case "accent_cedille": return diacritic(0xE052, Modifier.CEDILLE);
case "accent_circonflexe": return diacritic(0xE053, Modifier.CIRCONFLEXE);
case "accent_grave": return diacritic(0xE054, Modifier.GRAVE);
case "accent_macron": return diacritic(0xE055, Modifier.MACRON);
case "accent_ring": return diacritic(0xE056, Modifier.RING);
case "accent_tilde": return diacritic(0xE057, Modifier.TILDE);
case "accent_trema": return diacritic(0xE058, Modifier.TREMA);
case "accent_ogonek": return diacritic(0xE059, Modifier.OGONEK);
case "accent_dot_above": return diacritic(0xE05A, Modifier.DOT_ABOVE);
case "accent_double_aigu": return diacritic(0xE05B, Modifier.DOUBLE_AIGU);
case "accent_slash": return diacritic(0xE05C, Modifier.SLASH);
case "accent_arrow_right": return diacritic(0xE05D, Modifier.ARROW_RIGHT);
case "accent_breve": return diacritic(0xE05E, Modifier.BREVE);
case "accent_bar": return diacritic(0xE05F, Modifier.BAR);
case "accent_dot_below": return diacritic(0xE060, Modifier.DOT_BELOW);
case "accent_horn": return diacritic(0xE061, Modifier.HORN);
case "accent_hook_above": return diacritic(0xE062, Modifier.HOOK_ABOVE);
case "superscript": return modifierKey("Sup", Modifier.SUPERSCRIPT, 0);
case "subscript": return modifierKey("Sub", Modifier.SUBSCRIPT, 0);
case "ordinal": return modifierKey("Ord", Modifier.ORDINAL, 0);
@@ -340,32 +351,32 @@ final class KeyValue
case "fn": return modifierKey("Fn", Modifier.FN, 0);
case "meta": return modifierKey("Meta", Modifier.META, 0);
case "config": return eventKey(0x04, Event.CONFIG, FLAG_SMALLER_FONT);
case "config": return eventKey(0xE004, Event.CONFIG, FLAG_SMALLER_FONT);
case "switch_text": return eventKey("ABC", Event.SWITCH_TEXT, FLAG_SMALLER_FONT);
case "switch_numeric": return eventKey("123+", Event.SWITCH_NUMERIC, FLAG_SMALLER_FONT);
case "switch_emoji": return eventKey(0x01, Event.SWITCH_EMOJI, FLAG_SMALLER_FONT);
case "switch_emoji": return eventKey(0xE001, Event.SWITCH_EMOJI, FLAG_SMALLER_FONT);
case "switch_back_emoji": return eventKey("ABC", Event.SWITCH_BACK_EMOJI, 0);
case "switch_second": return eventKey(0x13, Event.SWITCH_SECOND, FLAG_SMALLER_FONT);
case "switch_second_back": return eventKey(0x14, Event.SWITCH_SECOND_BACK, FLAG_SMALLER_FONT);
case "switch_forward": return eventKey(0xE013, Event.SWITCH_FORWARD, FLAG_SMALLER_FONT);
case "switch_backward": return eventKey(0xE014, Event.SWITCH_BACKWARD, FLAG_SMALLER_FONT);
case "switch_greekmath": return eventKey("πλ∇¬", Event.SWITCH_GREEKMATH, FLAG_SMALLER_FONT);
case "change_method": return eventKey(0x09, Event.CHANGE_METHOD, FLAG_SMALLER_FONT);
case "change_method_prev": return eventKey(0x09, Event.CHANGE_METHOD_PREV, FLAG_SMALLER_FONT);
case "change_method": return eventKey(0xE009, Event.CHANGE_METHOD, FLAG_SMALLER_FONT);
case "change_method_prev": return eventKey(0xE009, Event.CHANGE_METHOD_PREV, FLAG_SMALLER_FONT);
case "action": return eventKey("Action", Event.ACTION, FLAG_SMALLER_FONT); // Will always be replaced
case "capslock": return eventKey(0x12, Event.CAPS_LOCK, 0);
case "voice_typing": return eventKey(0x15, Event.SWITCH_VOICE_TYPING, FLAG_SMALLER_FONT);
case "capslock": return eventKey(0xE012, Event.CAPS_LOCK, 0);
case "voice_typing": return eventKey(0xE015, Event.SWITCH_VOICE_TYPING, FLAG_SMALLER_FONT);
case "esc": return keyeventKey("Esc", KeyEvent.KEYCODE_ESCAPE, FLAG_SMALLER_FONT);
case "enter": return keyeventKey(0x0E, KeyEvent.KEYCODE_ENTER, 0);
case "up": return keyeventKey(0x05, KeyEvent.KEYCODE_DPAD_UP, 0);
case "right": return keyeventKey(0x06, KeyEvent.KEYCODE_DPAD_RIGHT, 0);
case "down": return keyeventKey(0x07, KeyEvent.KEYCODE_DPAD_DOWN, 0);
case "left": return keyeventKey(0x08, KeyEvent.KEYCODE_DPAD_LEFT, 0);
case "page_up": return keyeventKey(0x02, KeyEvent.KEYCODE_PAGE_UP, 0);
case "page_down": return keyeventKey(0x03, KeyEvent.KEYCODE_PAGE_DOWN, 0);
case "home": return keyeventKey(0x0B, KeyEvent.KEYCODE_MOVE_HOME, 0);
case "end": return keyeventKey(0x0C, KeyEvent.KEYCODE_MOVE_END, 0);
case "backspace": return keyeventKey(0x11, KeyEvent.KEYCODE_DEL, 0);
case "delete": return keyeventKey(0x10, KeyEvent.KEYCODE_FORWARD_DEL, 0);
case "enter": return keyeventKey(0xE00E, KeyEvent.KEYCODE_ENTER, 0);
case "up": return keyeventKey(0xE005, KeyEvent.KEYCODE_DPAD_UP, 0);
case "right": return keyeventKey(0xE006, KeyEvent.KEYCODE_DPAD_RIGHT, 0);
case "down": return keyeventKey(0xE007, KeyEvent.KEYCODE_DPAD_DOWN, 0);
case "left": return keyeventKey(0xE008, KeyEvent.KEYCODE_DPAD_LEFT, 0);
case "page_up": return keyeventKey(0xE002, KeyEvent.KEYCODE_PAGE_UP, 0);
case "page_down": return keyeventKey(0xE003, KeyEvent.KEYCODE_PAGE_DOWN, 0);
case "home": return keyeventKey(0xE00B, KeyEvent.KEYCODE_MOVE_HOME, 0);
case "end": return keyeventKey(0xE00C, KeyEvent.KEYCODE_MOVE_END, 0);
case "backspace": return keyeventKey(0xE011, KeyEvent.KEYCODE_DEL, 0);
case "delete": return keyeventKey(0xE010, KeyEvent.KEYCODE_FORWARD_DEL, 0);
case "insert": return keyeventKey("Ins", KeyEvent.KEYCODE_INSERT, FLAG_SMALLER_FONT);
case "f1": return keyeventKey("F1", KeyEvent.KEYCODE_F1, 0);
case "f2": return keyeventKey("F2", KeyEvent.KEYCODE_F2, 0);
@@ -379,7 +390,7 @@ final class KeyValue
case "f10": return keyeventKey("F10", KeyEvent.KEYCODE_F10, 0);
case "f11": return keyeventKey("F11", KeyEvent.KEYCODE_F11, FLAG_SMALLER_FONT);
case "f12": return keyeventKey("F12", KeyEvent.KEYCODE_F12, FLAG_SMALLER_FONT);
case "tab": return keyeventKey(0x0F, KeyEvent.KEYCODE_TAB, FLAG_SMALLER_FONT);
case "tab": return keyeventKey(0xE00F, KeyEvent.KEYCODE_TAB, FLAG_SMALLER_FONT);
case "\\t": return charKey("\\t", '\t', 0); // Send the tab character
case "space": return charKey("\r", ' ', FLAG_KEY_FONT | FLAG_SECONDARY);
@@ -432,41 +443,21 @@ final class KeyValue
case "zwj": return charKey("zwj", '\u200D', 0); // zero-width joiner (provides ligature)
case "zwnj": return charKey("zwnj", '\u200C', 0); // zero-width non joiner (prevents unintended ligature)
case "copy": return editingKey("copy", Editing.COPY);
case "paste": return editingKey("paste", Editing.PASTE);
case "cut": return editingKey("cut", Editing.CUT);
case "selectAll": return editingKey("s. all", Editing.SELECT_ALL);
case "shareText": return editingKey("share", Editing.SHARE);
case "pasteAsPlainText": return editingKey("<paste>", Editing.PASTE_PLAIN);
case "undo": return editingKey("undo", Editing.UNDO);
case "redo": return editingKey("redo", Editing.REDO);
case "replaceText": return editingKey("repl.", Editing.REPLACE);
case "textAssist": return editingKey("assist", Editing.ASSIST);
case "autofill": return editingKey("auto.", Editing.AUTOFILL);
default: return fallbackMakeKey(name);
case "copy": return editingKey(0xE030, Editing.COPY);
case "paste": return editingKey(0xE032, Editing.PASTE);
case "cut": return editingKey(0xE031, Editing.CUT);
case "selectAll": return editingKey(0xE033, Editing.SELECT_ALL);
case "shareText": return editingKey(0xE034, Editing.SHARE);
case "pasteAsPlainText": return editingKey(0xE035, Editing.PASTE_PLAIN);
case "undo": return editingKey(0xE036, Editing.UNDO);
case "redo": return editingKey(0xE037, Editing.REDO);
case "replaceText": return editingKey("repl", Editing.REPLACE);
case "textAssist": return editingKey(0xE038, Editing.ASSIST);
case "autofill": return editingKey("auto", Editing.AUTOFILL);
default: return makeStringKey(name);
}
}
static final HashMap<String, String> keys_descr = new HashMap<String, String>();
/* Some keys have a description attached. Return [null] if otherwise. */
public static String getKeyDescription(String name)
{
return keys_descr.get(name);
}
static void addKeyDescr(String name, String descr)
{
keys_descr.put(name, descr);
}
static {
/* Keys description is shown in the settings. */
addKeyDescr("capslock", "Caps lock");
addKeyDescr("switch_greekmath", "Greek & math symbols");
addKeyDescr("voice_typing", "Voice typing");
}
// Substitute for [assert], which has no effect on Android.
private static void check(boolean b)
{

View File

@@ -18,6 +18,7 @@ import android.view.inputmethod.InputMethodSubtype;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import java.util.AbstractMap.SimpleEntry;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
@@ -26,13 +27,12 @@ import java.util.Set;
public class Keyboard2 extends InputMethodService
implements SharedPreferences.OnSharedPreferenceChangeListener
{
static private final String TAG = "Keyboard2";
private Keyboard2View _keyboardView;
private KeyEventHandler _keyeventhandler;
// If not 'null', the layout to use instead of [_currentTextLayout].
private KeyboardData _currentSpecialLayout;
private Current_text_layout _currentTextLayout;
/** Current layout index in [Config.layouts]. */
private int _currentTextLayout;
// Layout associated with the currently selected locale. Not 'null'.
private KeyboardData _localeTextLayout;
private ViewGroup _emojiPane = null;
@@ -40,30 +40,36 @@ public class Keyboard2 extends InputMethodService
private Config _config;
private boolean _debug_logs = false;
/** Layout currently visible. */
KeyboardData current_layout()
{
if (_currentSpecialLayout != null)
return _currentSpecialLayout;
KeyboardData layout;
if (_currentTextLayout == Current_text_layout.SECONDARY)
layout = _config.second_layout;
else if (_config.layout == null)
KeyboardData layout = null;
if (_currentTextLayout >= _config.layouts.size())
_currentTextLayout = 0;
if (_currentTextLayout < _config.layouts.size())
layout = _config.layouts.get(_currentTextLayout);
if (layout == null)
layout = _localeTextLayout;
else
layout = _config.layout;
return _config.modify_layout(layout);
}
void setTextLayout(Current_text_layout layout)
void setTextLayout(int l)
{
_currentTextLayout = layout;
if (l == _currentTextLayout)
return;
_currentTextLayout = l;
_currentSpecialLayout = null;
_keyboardView.setKeyboard(current_layout());
}
void incrTextLayout(int delta)
{
int s = _config.layouts.size();
setTextLayout((_currentTextLayout + delta + s) % s);
}
void setSpecialLayout(KeyboardData l)
{
_currentSpecialLayout = l;
@@ -75,6 +81,12 @@ public class Keyboard2 extends InputMethodService
return KeyboardData.load(getResources(), layout_id);
}
/** Load a layout that contains a numpad (eg. the pin entry). */
KeyboardData loadNumpad(int layout_id)
{
return _config.modify_numpad(KeyboardData.load(getResources(), layout_id));
}
@Override
public void onCreate()
{
@@ -87,7 +99,7 @@ public class Keyboard2 extends InputMethodService
_config = Config.globalConfig();
_keyboardView = (Keyboard2View)inflate_view(R.layout.keyboard);
_keyboardView.reset();
_debug_logs = getResources().getBoolean(R.bool.debug_logs);
Logs.set_debug_logs(getResources().getBoolean(R.bool.debug_logs));
}
private List<InputMethodSubtype> getEnabledSubtypes(InputMethodManager imm)
@@ -99,34 +111,24 @@ public class Keyboard2 extends InputMethodService
return Arrays.asList();
}
private void extra_keys_of_subtype(ExtraKeys dst, InputMethodSubtype subtype)
private ExtraKeys extra_keys_of_subtype(InputMethodSubtype subtype)
{
String extra_keys = subtype.getExtraValueOf("extra_keys");
String script = subtype.getExtraValueOf("script");
if (extra_keys == null)
return;
dst.add_keys_for_script(script, ExtraKeys.parse_extra_keys(extra_keys));
if (extra_keys != null)
return ExtraKeys.parse(script, extra_keys);
return ExtraKeys.EMPTY;
}
private void refreshAccentsOption(InputMethodManager imm, InputMethodSubtype subtype)
{
ExtraKeys extra_keys = new ExtraKeys();
List<InputMethodSubtype> enabled_subtypes = getEnabledSubtypes(imm);
switch (_config.accents)
{
// '3' was "all accents", now unused
case 1: case 3:
extra_keys_of_subtype(extra_keys, subtype);
List<ExtraKeys> extra_keys = new ArrayList<ExtraKeys>();
// Gather extra keys from all enabled subtypes
extra_keys.add(extra_keys_of_subtype(subtype));
for (InputMethodSubtype s : enabled_subtypes)
extra_keys_of_subtype(extra_keys, s);
break;
case 2:
extra_keys_of_subtype(extra_keys, subtype);
break;
case 4: break;
default: throw new IllegalArgumentException();
}
_config.extra_keys_subtype = extra_keys;
extra_keys.add(extra_keys_of_subtype(s));
_config.extra_keys_subtype = ExtraKeys.merge(extra_keys);
if (enabled_subtypes.size() > 1)
_config.shouldOfferSwitchingToNextInputMethod = true;
}
@@ -158,17 +160,8 @@ public class Keyboard2 extends InputMethodService
}
}
if (default_layout == null)
default_layout = KeyboardData.load(getResources(), R.xml.latn_qwerty_us);
default_layout = loadLayout(R.xml.latn_qwerty_us);
_localeTextLayout = default_layout;
if (_config.second_layout == null)
{
_config.shouldOfferSwitchingToSecond = false;
_currentTextLayout = Current_text_layout.PRIMARY;
}
else
{
_config.shouldOfferSwitchingToSecond = true;
}
}
private String actionLabel_of_imeAction(int action)
@@ -239,30 +232,21 @@ public class Keyboard2 extends InputMethodService
return null;
}
private void log_editor_info(EditorInfo info)
{
LogPrinter p = new LogPrinter(Log.DEBUG, TAG);
info.dump(p, "");
if (info.extras != null)
Log.d(TAG, "extras: "+info.extras.toString());
Log.d(TAG, "swapEnterActionKey: "+_config.swapEnterActionKey);
Log.d(TAG, "actionLabel: "+_config.actionLabel);
}
private void refresh_special_layout(EditorInfo info)
private KeyboardData refresh_special_layout(EditorInfo info)
{
switch (info.inputType & InputType.TYPE_MASK_CLASS)
{
case InputType.TYPE_CLASS_NUMBER:
case InputType.TYPE_CLASS_PHONE:
case InputType.TYPE_CLASS_DATETIME:
_currentSpecialLayout =
_config.modify_numpad(KeyboardData.load(getResources(), R.xml.pin));
break;
if (_config.pin_entry_enabled)
return loadNumpad(R.xml.pin);
else
return loadNumpad(R.xml.numeric);
default:
_currentSpecialLayout = null;
break;
}
return null;
}
@Override
@@ -270,12 +254,11 @@ public class Keyboard2 extends InputMethodService
{
refresh_config();
refresh_action_label(info);
refresh_special_layout(info);
_currentSpecialLayout = refresh_special_layout(info);
_keyboardView.setKeyboard(current_layout());
_keyeventhandler.started(info);
setInputView(_keyboardView);
if (_debug_logs)
log_editor_info(info);
Logs.debug_startup_input_view(info, _config);
}
@Override
@@ -397,7 +380,7 @@ public class Keyboard2 extends InputMethodService
break;
case SWITCH_NUMERIC:
setSpecialLayout(_config.modify_numpad(loadLayout(R.xml.numeric)));
setSpecialLayout(loadNumpad(R.xml.numeric));
break;
case SWITCH_EMOJI:
@@ -427,17 +410,16 @@ public class Keyboard2 extends InputMethodService
conn.performEditorAction(actionId);
break;
case SWITCH_SECOND:
if (_config.second_layout != null)
setTextLayout(Current_text_layout.SECONDARY);
case SWITCH_FORWARD:
incrTextLayout(1);
break;
case SWITCH_SECOND_BACK:
setTextLayout(Current_text_layout.PRIMARY);
case SWITCH_BACKWARD:
incrTextLayout(-1);
break;
case SWITCH_GREEKMATH:
setSpecialLayout(_config.modify_numpad(loadLayout(R.xml.greekmath)));
setSpecialLayout(loadNumpad(R.xml.greekmath));
break;
case CAPS_LOCK:
@@ -477,10 +459,4 @@ public class Keyboard2 extends InputMethodService
{
return View.inflate(new ContextThemeWrapper(this, _config.theme), layout, null);
}
private static enum Current_text_layout
{
PRIMARY,
SECONDARY
}
}

View File

@@ -407,7 +407,12 @@ public class Keyboard2View extends View
x += keyW / 2f;
else
x += (a == Paint.Align.LEFT) ? subPadding : keyW - subPadding;
canvas.drawText(kv.getString(), x, y, p);
String label = kv.getString();
int label_len = label.length();
// Limit the label of string keys to 3 characters
if (label_len > 3 && kv.getKind() == KeyValue.Kind.String)
label_len = 3;
canvas.drawText(label, 0, label_len, x, y, p);
}
private void drawIndication(Canvas canvas, String indication, float x,

Some files were not shown because too many files have changed in this diff Show More