mirror of
https://github.com/Julow/Unexpected-Keyboard.git
synced 2025-08-20 14:52:44 +02:00
Compare commits
56 Commits
1.23.0
...
settings-i
Author | SHA1 | Date | |
---|---|---|---|
|
3952f48b13 | ||
|
39a751a497 | ||
|
1ad8f79b5c | ||
|
12de2733a8 | ||
|
78f521250f | ||
|
29106bc69a | ||
|
f522a678f9 | ||
|
c17dfdfe13 | ||
|
21316b77d7 | ||
|
eeae964ae6 | ||
|
8d7b3efeb1 | ||
|
ddc4ff1378 | ||
|
1c59347cca | ||
|
eb56c80ffb | ||
|
4d10556d49 | ||
|
1eea9e25d2 | ||
|
45905f5f3b | ||
|
c26343cd42 | ||
|
cd95c589de | ||
|
0924df8d13 | ||
|
0fea071352 | ||
|
c46e5ec450 | ||
|
6054c2eec8 | ||
|
dcbb4c484c | ||
|
76f01122c2 | ||
|
94bd9c6bc8 | ||
|
7ce0c6e37a | ||
|
9ea06594d1 | ||
|
ae791ab292 | ||
|
8b95053566 | ||
|
e0dd145bb4 | ||
|
4abea0e878 | ||
|
be97364b34 | ||
|
3c3955e583 | ||
|
22458cd445 | ||
|
3598e19894 | ||
|
9bd8b08544 | ||
|
dad5f57a03 | ||
|
818aa4c7d5 | ||
|
b4a1ac48bb | ||
|
0856fb4e31 | ||
|
0a114bd2bc | ||
|
427ef6a97d | ||
|
fce8ff7ce2 | ||
|
d1f0d5a7bf | ||
|
f60927edac | ||
|
8b2c07c9cb | ||
|
458e17bf31 | ||
|
324aa26ba4 | ||
|
6747669c2d | ||
|
1097b297d3 | ||
|
4669192a01 | ||
|
a2957a43d6 | ||
|
37d4a523bb | ||
|
ef4477d50c | ||
|
7f79bc358d |
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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))
|
||||
|
6
metadata/android/es-ES/full_description.txt
Normal file
6
metadata/android/es-ES/full_description.txt
Normal 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.
|
@@ -1 +1 @@
|
||||
Un teclado virtual ligero para desarrolladores.
|
||||
Un teclado virtual ligero para Android consciente de su privacidad.
|
||||
|
@@ -1 +1 @@
|
||||
Легкая виртуальная клавиатура для пользователей, заботящихся о своей конфиденциальности.
|
||||
Легкая клавиатура для пользователей, заботящихся о конфиденциальности.
|
||||
|
4
res/drawable/accent.xml
Normal file
4
res/drawable/accent.xml
Normal 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>
|
4
res/drawable/arrow_up.xml
Normal file
4
res/drawable/arrow_up.xml
Normal 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>
|
4
res/drawable/border_bottom.xml
Normal file
4
res/drawable/border_bottom.xml
Normal 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>
|
4
res/drawable/border_left.xml
Normal file
4
res/drawable/border_left.xml
Normal 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>
|
4
res/drawable/border_right.xml
Normal file
4
res/drawable/border_right.xml
Normal 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>
|
4
res/drawable/border_top.xml
Normal file
4
res/drawable/border_top.xml
Normal 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>
|
4
res/drawable/bug_report.xml
Normal file
4
res/drawable/bug_report.xml
Normal 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
4
res/drawable/build.xml
Normal 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
4
res/drawable/clip.xml
Normal 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
4
res/drawable/code.xml
Normal 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
4
res/drawable/expand.xml
Normal 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>
|
4
res/drawable/font_size.xml
Normal file
4
res/drawable/font_size.xml
Normal 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>
|
4
res/drawable/ic_desing.xml
Normal file
4
res/drawable/ic_desing.xml
Normal 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
4
res/drawable/ic_lock.xml
Normal 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>
|
6
res/drawable/ic_warning.xml
Normal file
6
res/drawable/ic_warning.xml
Normal 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>
|
4
res/drawable/keyboard_hide.xml
Normal file
4
res/drawable/keyboard_hide.xml
Normal 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>
|
4
res/drawable/keyboards_white.xml
Normal file
4
res/drawable/keyboards_white.xml
Normal 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
4
res/drawable/memory.xml
Normal 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
4
res/drawable/numpad.xml
Normal 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>
|
5
res/drawable/settings_white.xml
Normal file
5
res/drawable/settings_white.xml
Normal 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
4
res/drawable/simbols.xml
Normal 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>
|
4
res/drawable/space_horizontal.xml
Normal file
4
res/drawable/space_horizontal.xml
Normal 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>
|
4
res/drawable/space_vertical.xml
Normal file
4
res/drawable/space_vertical.xml
Normal 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
4
res/drawable/sun.xml
Normal 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
4
res/drawable/touch.xml
Normal 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>
|
4
res/drawable/translate.xml
Normal file
4
res/drawable/translate.xml
Normal 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>
|
4
res/drawable/vertical_bottom.xml
Normal file
4
res/drawable/vertical_bottom.xml
Normal 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>
|
4
res/drawable/vertical_top.xml
Normal file
4
res/drawable/vertical_top.xml
Normal 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>
|
4
res/drawable/vibration.xml
Normal file
4
res/drawable/vibration.xml
Normal 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
4
res/drawable/visible.xml
Normal 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
4
res/drawable/voice.xml
Normal 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>
|
4
res/layout/custom_extra_key_add_dialog.xml
Normal file
4
res/layout/custom_extra_key_add_dialog.xml
Normal 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>
|
@@ -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>
|
||||
|
4
res/layout/pref_layouts_add_btn.xml
Normal file
4
res/layout/pref_layouts_add_btn.xml
Normal 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>
|
4
res/layout/pref_listgroup_add_btn.xml
Normal file
4
res/layout/pref_listgroup_add_btn.xml
Normal 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>
|
3
res/layout/pref_listgroup_group.xml
Normal file
3
res/layout/pref_listgroup_group.xml
Normal 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>
|
4
res/layout/pref_listgroup_item_widget.xml
Normal file
4
res/layout/pref_listgroup_item_widget.xml
Normal 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>
|
@@ -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>
|
||||
|
@@ -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 & 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>
|
||||
|
@@ -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 & 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>
|
||||
|
@@ -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 & 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>
|
||||
|
@@ -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>
|
||||
|
@@ -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 & 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>
|
||||
|
@@ -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 & 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>
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
@@ -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 & 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>
|
||||
|
@@ -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 & 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>
|
||||
|
@@ -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 & 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>
|
||||
|
@@ -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 & 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>
|
||||
|
@@ -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">Gõ</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 & 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>
|
||||
|
@@ -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 & 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>
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
@@ -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 & 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>
|
||||
|
@@ -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>
|
||||
|
@@ -11,8 +11,8 @@
|
||||
<key key0="ه" key1="÷" key2="٨" key3="*"/>
|
||||
<key key0="خ" key1="×" key2="٩" key3="("/>
|
||||
<key key0="ح" key1="؛" key2="٠" key3=")"/>
|
||||
<key key0="ج" key1=">" key2="-" key3="_"/>
|
||||
<key key0="د" key1="<" key2="=" key3="ذ"/>
|
||||
<key key0="ج" key1=">" key2="-" key3="_" key4="f11_placeholder"/>
|
||||
<key key0="د" key1="<" key2="=" key3="ذ" key4="f12_placeholder"/>
|
||||
<!-- <key key0="ذ" key1="ّ" key3="\\" key4="|"/> -->
|
||||
</row>
|
||||
<row>
|
||||
|
@@ -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="\@"/>
|
||||
|
@@ -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="&"/>
|
||||
<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="&"/>
|
||||
<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="‌" key2="+"/>
|
||||
<key key0="ن" key1="("/>
|
||||
<key key0="م" key1=")"/>
|
||||
@@ -28,15 +27,15 @@
|
||||
<key key0="گ"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="ظ" key2="؟"/>
|
||||
<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="؟"/>
|
||||
<key key0="و"/>
|
||||
<key key0="چ"/>
|
||||
<key width="1.0" key0="backspace" key2="delete"/>
|
||||
</row>
|
||||
|
@@ -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>
|
||||
|
@@ -29,7 +29,7 @@
|
||||
<row>
|
||||
<key width="2.0" key0="shift" key2="loc capslock"/>
|
||||
<key key0="w" key3="<" key4=">"/>
|
||||
<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="/"/>
|
||||
|
@@ -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>
|
||||
|
@@ -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"/>
|
||||
|
@@ -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="""/>
|
||||
<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"/>
|
||||
|
@@ -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="<" key3="."/>
|
||||
<key key0="v" key2=">" key3=","/>
|
||||
<key key0="b" key2="\?" key3="/" key4="¿"/>
|
||||
|
@@ -26,7 +26,7 @@
|
||||
<row>
|
||||
<key width="1.5" key0="shift" key2="loc capslock"/>
|
||||
<key key0="z" key3="<" key4=">"/>
|
||||
<key key0="x" key4="\#"/>
|
||||
<key key0="x" key1="loc †" key4="\#"/>
|
||||
<key key0="c" key4="&"/>
|
||||
<key key0="v" key4="\@"/>
|
||||
<key key0="b" key1="\?" key3="," key4=";"/>
|
||||
|
@@ -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="<" key4=">"/>
|
||||
|
@@ -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="<" key3="."/>
|
||||
<key key0="v" key2=">" key3=","/>
|
||||
<key key0="b" key2="\?" key3="/"/>
|
||||
|
@@ -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="<" key3="." key4="ć"/>
|
||||
<key key0="v" key2=">" key3=","/>
|
||||
<key key0="b" key2="\?" key3="/"/>
|
||||
|
@@ -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="<" key3="."/>
|
||||
<key key0="v" key2=">" key3=","/>
|
||||
<key key0="b" key2="\?" key3="/"/>
|
||||
|
@@ -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=","/>
|
||||
|
@@ -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="<" key3="."/>
|
||||
<key key0="v" key2=">" key3=","/>
|
||||
<key key0="b" key2="\?" key3="/"/>
|
||||
|
@@ -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="<" key3="."/>
|
||||
<key key0="v" key2=">" key3=","/>
|
||||
<key key0="b" key2="\?" key3="/"/>
|
||||
|
@@ -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="<" key3="."/>
|
||||
<key key0="v" key2=">" key3=","/>
|
||||
<key key0="b" key2="\?" key3="/"/>
|
||||
|
@@ -26,7 +26,7 @@
|
||||
<row>
|
||||
<key width="1.5" key0="shift" key2="loc capslock"/>
|
||||
<key key0="y" key1=">" key2="|" key3="<"/>
|
||||
<key key0="x"/>
|
||||
<key key0="x" key1="loc †"/>
|
||||
<key key0="c"/>
|
||||
<key key0="v" />
|
||||
<key key0="b" key1=";" key3=","/>
|
||||
|
@@ -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="&" key4="č"/>
|
||||
<key key0="v" key3="\@"/>
|
||||
<key key0="b" key1="<" key2=">" key3="{" key4="}"/>
|
||||
|
@@ -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="&" key4="č"/>
|
||||
<key key0="v" key1="|" key3="\@"/>
|
||||
<key key0="b" key1=";" key2="♭" key3=":" key4="β"/>
|
||||
|
@@ -30,7 +30,7 @@
|
||||
<row>
|
||||
<key width="1.5" key0="shift" key2="loc capslock"/>
|
||||
<key shift="0.5" key0="y" key1=">" key2="|" key3="<"/>
|
||||
<key key0="x"/>
|
||||
<key key0="x" key1="loc †"/>
|
||||
<key key0="c"/>
|
||||
<key key0="v"/>
|
||||
<key key0="b" key1=";" key3=","/>
|
||||
|
@@ -26,7 +26,7 @@
|
||||
<row>
|
||||
<key width="1.5" key0="shift" key2="loc capslock"/>
|
||||
<key key0="y" key3="<" key4=">"/>
|
||||
<key key0="x" key4="\#"/>
|
||||
<key key0="x" key1="loc †" key4="\#"/>
|
||||
<key key0="c" key4="&"/>
|
||||
<key key0="v" key4="\@"/>
|
||||
<key key0="b" key1="\?" key3="," key4=";"/>
|
||||
|
@@ -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="&" key3="-" key4="_"/>
|
||||
|
@@ -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>
|
||||
|
@@ -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"/>
|
||||
|
@@ -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>
|
||||
|
@@ -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;
|
||||
|
61
srcs/juloo.keyboard2/CustomExtraKeysPreference.java
Normal file
61
srcs/juloo.keyboard2/CustomExtraKeysPreference.java
Normal 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();
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
||||
}
|
@@ -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_;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
171
srcs/juloo.keyboard2/ExtraKeysPreference.java
Normal file
171
srcs/juloo.keyboard2/ExtraKeysPreference.java
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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)
|
||||
{
|
||||
|
@@ -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
|
||||
}
|
||||
}
|
||||
|
@@ -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
Reference in New Issue
Block a user