mirror of
https://github.com/Julow/Unexpected-Keyboard.git
synced 2025-08-18 00:19:56 +02:00
Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
d787d982cf | ||
|
573c13fb82 | ||
|
58e37b484c | ||
|
cca832954e | ||
|
0727ea38e9 | ||
|
5e5c7ef86a | ||
|
d8d3cf85e5 | ||
|
7775213504 |
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="juloo.keyboard2"
|
||||
android:versionCode="12"
|
||||
android:versionName="1.9.2"
|
||||
android:versionCode="13"
|
||||
android:versionName="1.10.0"
|
||||
android:hardwareAccelerated="false">
|
||||
|
||||
<uses-sdk android:minSdkVersion="4"
|
||||
|
@@ -10,3 +10,7 @@ Several characters are displayed on each key. Get the one in the middle with a p
|
||||
|
||||
Like any other keyboard app, you will need to activate it in the system settings to be able to use it.
|
||||
This can be found in the System Settings > System > Languages & Input > Virtual keyboard > Manage keyboards.
|
||||
|
||||
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
|
||||
alt="Get it on F-Droid"
|
||||
height="80">](https://f-droid.org/packages/juloo.keyboard2/)
|
||||
|
3
metadata/android/en-US/changelogs/13.txt
Normal file
3
metadata/android/en-US/changelogs/13.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Add support for Swedish
|
||||
- Fix keyboard shortcuts not working in some applications
|
||||
- Fix a graphical bug and add some tweaks
|
3
metadata/android/fr-FR/changelogs/13.txt
Normal file
3
metadata/android/fr-FR/changelogs/13.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
- Nouvelle langue: Suédois
|
||||
- Les raccourcis clavier fonctionnent dans toutes les applications
|
||||
- Correction d'un bug graphique et quelques ajustements
|
@@ -14,7 +14,7 @@
|
||||
</row>
|
||||
<row>
|
||||
<key key0="q" key1="tab" />
|
||||
<key key0="s" />
|
||||
<key key0="s" key1="accent_ring" />
|
||||
<key key0="d" key1="accent_grave" key3="accent_aigu" />
|
||||
<key key0="f" key3="{" key4="}" />
|
||||
<key key0="g" key3="[" key4="]" />
|
||||
|
@@ -30,4 +30,11 @@
|
||||
android:isAsciiCapable="true"
|
||||
android:imeSubtypeExtraValue="default_layout=qwerty,accents=grave|aigu"
|
||||
/>
|
||||
<subtype android:label="@string/subtype_label"
|
||||
android:languageTag="sv"
|
||||
android:imeSubtypeLocale="sv_SE"
|
||||
android:imeSubtypeMode="keyboard"
|
||||
android:isAsciiCapable="true"
|
||||
android:imeSubtypeExtraValue="default_layout=qwerty,accents=aigu|trema|ring"
|
||||
/>
|
||||
</input-method>
|
||||
|
@@ -14,7 +14,7 @@
|
||||
</row>
|
||||
<row>
|
||||
<key shift="0.5" key0="a" key1="tab" key2="`" />
|
||||
<key key0="s" />
|
||||
<key key0="s" key1="accent_ring" />
|
||||
<key key0="d" key1="accent_grave" key3="accent_aigu" />
|
||||
<key key0="f" />
|
||||
<key key0="g" key2="-" key3="_" />
|
||||
|
@@ -80,7 +80,7 @@
|
||||
android:summary="@string/pref_key_height_summary"
|
||||
android:defaultValue="50"
|
||||
min="30"
|
||||
max="60"
|
||||
max="90"
|
||||
/>
|
||||
<juloo.common.IntSlideBarPreference
|
||||
android:key="horizontal_margin"
|
||||
|
@@ -118,6 +118,7 @@ class Config
|
||||
case "tilde": return KeyValue.FLAG_ACCENT4;
|
||||
case "cedille": return KeyValue.FLAG_ACCENT5;
|
||||
case "trema": return KeyValue.FLAG_ACCENT6;
|
||||
case "ring": return KeyValue.FLAG_ACCENT_RING;
|
||||
default: throw new RuntimeException(name);
|
||||
}
|
||||
}
|
||||
|
@@ -102,6 +102,11 @@ class KeyModifier
|
||||
case '-': return '÷';
|
||||
default: return (char)KeyCharacterMap.getDeadChar('\u00A8', c);
|
||||
}
|
||||
case KeyValue.FLAG_ACCENT_RING:
|
||||
switch (c)
|
||||
{
|
||||
default: return (char)KeyCharacterMap.getDeadChar('\u02DA', c);
|
||||
}
|
||||
case KeyValue.FLAG_ACCENT_SUPERSCRIPT:
|
||||
switch (c)
|
||||
{
|
||||
@@ -179,6 +184,8 @@ class KeyModifier
|
||||
case "-": name = "–"; break;
|
||||
case "_": name = "—"; break;
|
||||
case "esc": name = "insert"; break;
|
||||
case "$": name = "€"; break;
|
||||
case "#": name = "£"; break;
|
||||
default: return k;
|
||||
}
|
||||
return KeyValue.getKeyByName(name);
|
||||
|
@@ -41,10 +41,11 @@ class KeyValue
|
||||
public static final int FLAG_ACCENT6 = (1 << 21); // Tréma
|
||||
public static final int FLAG_ACCENT_SUPERSCRIPT = (1 << 22);
|
||||
public static final int FLAG_ACCENT_SUBSCRIPT = (1 << 23);
|
||||
public static final int FLAG_ACCENT_RING = (1 << 24);
|
||||
|
||||
public static final int FLAGS_ACCENTS = FLAG_ACCENT1 | FLAG_ACCENT2 |
|
||||
FLAG_ACCENT3 | FLAG_ACCENT4 | FLAG_ACCENT5 | FLAG_ACCENT6 |
|
||||
FLAG_ACCENT_SUPERSCRIPT | FLAG_ACCENT_SUBSCRIPT;
|
||||
FLAG_ACCENT_SUPERSCRIPT | FLAG_ACCENT_SUBSCRIPT | FLAG_ACCENT_RING;
|
||||
|
||||
public final String name;
|
||||
public final String symbol;
|
||||
@@ -131,6 +132,7 @@ class KeyValue
|
||||
addModifierKey("accent_tilde", "◌̃", FLAG_ACCENT4);
|
||||
addModifierKey("accent_cedille", "◌̧", FLAG_ACCENT5);
|
||||
addModifierKey("accent_trema", "◌̈", FLAG_ACCENT6);
|
||||
addModifierKey("accent_ring", "◌̊", FLAG_ACCENT_RING);
|
||||
addModifierKey("superscript", "◌͆", FLAG_ACCENT_SUPERSCRIPT);
|
||||
addModifierKey("subscript", "◌̺", FLAG_ACCENT_SUBSCRIPT);
|
||||
addModifierKey("fn", "Fn", FLAG_FN);
|
||||
@@ -202,8 +204,8 @@ class KeyValue
|
||||
addEventKey("right", "\uE80C", KeyEvent.KEYCODE_DPAD_RIGHT, FLAG_KEY_FONT | FLAG_PRECISE_REPEAT);
|
||||
addEventKey("down", "\uE809", KeyEvent.KEYCODE_DPAD_DOWN, FLAG_KEY_FONT | FLAG_PRECISE_REPEAT);
|
||||
addEventKey("left", "\uE80A", KeyEvent.KEYCODE_DPAD_LEFT, FLAG_KEY_FONT | FLAG_PRECISE_REPEAT);
|
||||
addEventKey("page_up", "⇞", KeyEvent.KEYCODE_PAGE_DOWN);
|
||||
addEventKey("page_down", "⇟", KeyEvent.KEYCODE_PAGE_UP);
|
||||
addEventKey("page_up", "⇞", KeyEvent.KEYCODE_PAGE_UP);
|
||||
addEventKey("page_down", "⇟", KeyEvent.KEYCODE_PAGE_DOWN);
|
||||
addEventKey("home", "↖", KeyEvent.KEYCODE_HOME);
|
||||
addEventKey("end", "↗", KeyEvent.KEYCODE_MOVE_END);
|
||||
addEventKey("backspace", "⌫", KeyEvent.KEYCODE_DEL, FLAG_PRECISE_REPEAT);
|
||||
|
@@ -265,7 +265,7 @@ public class Keyboard2 extends InputMethodService
|
||||
metaState |= KeyEvent.META_ALT_LEFT_ON | KeyEvent.META_ALT_ON;
|
||||
if ((flags & KeyValue.FLAG_SHIFT) != 0)
|
||||
metaState |= KeyEvent.META_SHIFT_LEFT_ON | KeyEvent.META_SHIFT_ON;
|
||||
event = new KeyEvent(1, 1, KeyEvent.ACTION_DOWN, key.eventCode, 1, metaState);
|
||||
event = new KeyEvent(1, 1, KeyEvent.ACTION_DOWN, key.eventCode, 0, metaState);
|
||||
getCurrentInputConnection().sendKeyEvent(event);
|
||||
getCurrentInputConnection().sendKeyEvent(KeyEvent.changeAction(event, KeyEvent.ACTION_UP));
|
||||
}
|
||||
|
@@ -363,12 +363,13 @@ public class Keyboard2View extends View
|
||||
public void onMeasure(int wSpec, int hSpec)
|
||||
{
|
||||
DisplayMetrics dm = getContext().getResources().getDisplayMetrics();
|
||||
int height;
|
||||
height = (int)(_config.keyHeight * _keyboard.keysHeight
|
||||
+ _keyboard.rows.size() * _config.keyVerticalInterval
|
||||
+ _config.marginTop + _config.marginBottom);
|
||||
setMeasuredDimension(dm.widthPixels, height);
|
||||
_keyWidth = (getWidth() - (_config.horizontalMargin * 2)) / _keyboard.keysWidth;
|
||||
int width = dm.widthPixels;
|
||||
int height =
|
||||
(int)(_config.keyHeight * _keyboard.keysHeight
|
||||
+ _keyboard.rows.size() * _config.keyVerticalInterval
|
||||
+ _config.marginTop + _config.marginBottom);
|
||||
setMeasuredDimension(width, height);
|
||||
_keyWidth = (width - (_config.horizontalMargin * 2)) / _keyboard.keysWidth;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user