mirror of
https://github.com/Julow/Unexpected-Keyboard.git
synced 2025-02-04 11:49:50 +01:00
Remove the 'slider="true"' attribute
Whether a key behaves as a slider is now purely defined by the key values present on it.
This commit is contained in:
parent
1783dcdb35
commit
ddd2eebb0e
@ -93,7 +93,6 @@ The following optional properties define the effects of swipes:
|
||||
|
||||
You can define a swipe only once with either compass-point or numeric notation. Unexpected Keyboard automatically puts a small legend in that direction from the center of the key.
|
||||
|
||||
* `slider`: If `slider="true"`, and the key also has `w` and `e` properties, then the key tracks horizontal finger motion precisely and sends the `w` and `e` keystrokes repeatedly. In built-in layouts, this makes the space bar send left and right characters as the user slides on the space bar.
|
||||
* `anticircle`: The key value to send when doing an anti-clockwise gesture on the key.
|
||||
|
||||
### Layout
|
||||
|
@ -66,8 +66,8 @@ Value | Meaning
|
||||
These keys perform editing on the text without sending keys that the app can interpret differently or ignore.
|
||||
Value | Meaning
|
||||
:----------------- | :------
|
||||
`cursor_left` | Moves the cursor position to the left directly, without sending a `left` key event.
|
||||
`cursor_right` | Moves the cursor position to the right directly, without sending a `right` key event.
|
||||
`cursor_left` | Moves the cursor to the left with the slider gesture.
|
||||
`cursor_right` | Moves the cursor to the right with the slider gesture.
|
||||
|
||||
## Other modifiers and diacritics
|
||||
Value | Meaning
|
||||
|
@ -2,7 +2,7 @@
|
||||
<row height="0.95">
|
||||
<key width="1.7" key0="ctrl" key1="loc switch_greekmath" key2="loc meta" key3="loc switch_clipboard" key4="switch_numeric"/>
|
||||
<key width="1.1" key0="fn" key1="loc alt" key2="loc change_method" key3="switch_emoji" key4="config"/>
|
||||
<key width="4.4" key0="space" key7="switch_forward" key8="switch_backward" key5="cursor_left" key6="cursor_right" slider="true"/>
|
||||
<key width="4.4" key0="space" key7="switch_forward" key8="switch_backward" key5="cursor_left" key6="cursor_right"/>
|
||||
<key width="1.1" key0="loc compose" key7="up" key6="right" key5="left" key8="down" key1="loc home" key2="loc page_up" key3="loc end" key4="loc page_down"/>
|
||||
<key width="1.7" key0="enter" key1="loc voice_typing" key2="action"/>
|
||||
</row>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<keyboard bottom_row="false">
|
||||
<row height="0.95">
|
||||
<key key0="switch_back_clipboard"/>
|
||||
<key width="3" key0="space" key5="cursor_left" key6="cursor_right" slider="true"/>
|
||||
<key width="3" key0="space" key5="cursor_left" key6="cursor_right"/>
|
||||
<key key0="backspace" key2="delete"/>
|
||||
<key key0="enter" key2="action"/>
|
||||
</row>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<keyboard bottom_row="false">
|
||||
<row height="0.95">
|
||||
<key key0="switch_back_emoji"/>
|
||||
<key width="3" key0="space" key5="cursor_left" key6="cursor_right" slider="true"/>
|
||||
<key width="3" key0="space" key5="cursor_left" key6="cursor_right"/>
|
||||
<key key0="backspace" key2="delete"/>
|
||||
<key key0="enter" key2="action"/>
|
||||
</row>
|
||||
|
@ -401,9 +401,6 @@ public final class KeyboardData
|
||||
public final float width;
|
||||
/** Extra empty space on the left of the key. */
|
||||
public final float shift;
|
||||
/** Keys 2 and 3 are repeated as the finger moves laterally on the key.
|
||||
Used for the left and right arrow keys on the space bar. */
|
||||
public final boolean slider;
|
||||
/** String printed on the keys. It has no other effect. */
|
||||
public final String indication;
|
||||
|
||||
@ -411,14 +408,13 @@ public final class KeyboardData
|
||||
public static final int F_LOC = 1;
|
||||
public static final int ALL_FLAGS = F_LOC;
|
||||
|
||||
protected Key(KeyValue[] ks, KeyValue antic, int f, float w, float s, boolean sl, String i)
|
||||
protected Key(KeyValue[] ks, KeyValue antic, int f, float w, float s, String i)
|
||||
{
|
||||
keys = ks;
|
||||
anticircle = antic;
|
||||
keysflags = f;
|
||||
width = Math.max(w, 0f);
|
||||
shift = Math.max(s, 0f);
|
||||
slider = sl;
|
||||
indication = i;
|
||||
}
|
||||
|
||||
@ -487,11 +483,10 @@ public final class KeyboardData
|
||||
KeyValue anticircle = parse_nonloc_key_attr(parser, "anticircle");
|
||||
float width = attribute_float(parser, "width", 1f);
|
||||
float shift = attribute_float(parser, "shift", 0.f);
|
||||
boolean slider = attribute_bool(parser, "slider", false);
|
||||
String indication = parser.getAttributeValue(null, "indication");
|
||||
while (parser.next() != XmlPullParser.END_TAG)
|
||||
continue;
|
||||
return new Key(ks, anticircle, keysflags, width, shift, slider, indication);
|
||||
return new Key(ks, anticircle, keysflags, width, shift, indication);
|
||||
}
|
||||
|
||||
/** Whether key at [index] as [flag]. */
|
||||
@ -503,8 +498,7 @@ public final class KeyboardData
|
||||
/** New key with the width multiplied by 's'. */
|
||||
public Key scaleWidth(float s)
|
||||
{
|
||||
return new Key(keys, anticircle, keysflags, width * s, shift, slider,
|
||||
indication);
|
||||
return new Key(keys, anticircle, keysflags, width * s, shift, indication);
|
||||
}
|
||||
|
||||
public void getKeys(Map<KeyValue, KeyPos> dst, int row, int col)
|
||||
@ -525,12 +519,12 @@ public final class KeyboardData
|
||||
for (int j = 0; j < keys.length; j++) ks[j] = keys[j];
|
||||
ks[i] = kv;
|
||||
int flags = (keysflags & ~(ALL_FLAGS << i));
|
||||
return new Key(ks, anticircle, flags, width, shift, slider, indication);
|
||||
return new Key(ks, anticircle, flags, width, shift, indication);
|
||||
}
|
||||
|
||||
public Key withShift(float s)
|
||||
{
|
||||
return new Key(keys, anticircle, keysflags, width, s, slider, indication);
|
||||
return new Key(keys, anticircle, keysflags, width, s, indication);
|
||||
}
|
||||
|
||||
public boolean hasValue(KeyValue kv)
|
||||
@ -556,7 +550,7 @@ public final class KeyboardData
|
||||
for (int i = 0; i < ks.length; i++)
|
||||
if (k.keys[i] != null)
|
||||
ks[i] = apply(k.keys[i], k.keyHasFlag(i, Key.F_LOC));
|
||||
return new Key(ks, k.anticircle, k.keysflags, k.width, k.shift, k.slider, k.indication);
|
||||
return new Key(ks, k.anticircle, k.keysflags, k.width, k.shift, k.indication);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -295,7 +295,7 @@ public final class Pointers implements Handler.Callback
|
||||
ptr.value = new_value;
|
||||
ptr.flags = pointer_flags_of_kv(new_value);
|
||||
// Start sliding mode
|
||||
if (ptr.key.slider && new_value.getKind() == KeyValue.Kind.Slider)
|
||||
if (new_value.getKind() == KeyValue.Kind.Slider)
|
||||
startSliding(ptr, x, (dx < 0 ? -1 : 1), new_value);
|
||||
_handler.onPointerDown(new_value, true);
|
||||
}
|
||||
|
@ -43,7 +43,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="loc change_method" key3="switch_emoji" key4="config"/>
|
||||
<key width="4.4" key0="space" key7="switch_forward" key8="switch_backward" key5="cursor_left" key6="cursor_right" slider="true"/>
|
||||
<key width="4.4" key0="space" key7="switch_forward" key8="switch_backward" key5="cursor_left" key6="cursor_right"/>
|
||||
<key width="1.1" key0="loc compose" key7="up" key6="right" key5="left" key8="down" key1="loc home" key2="loc page_up" key3="loc end" key4="loc page_down"/>
|
||||
<key key0="j" key4=";"/>
|
||||
<key width="1.7" key0="enter" key1="loc voice_typing" key2="action"/>
|
||||
|
Loading…
Reference in New Issue
Block a user