abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/KeyModifier.java
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/juloo.keyboard2/KeyModifier.java')
-rw-r--r--srcs/juloo.keyboard2/KeyModifier.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java
index bb33cca..e512521 100644
--- a/srcs/juloo.keyboard2/KeyModifier.java
+++ b/srcs/juloo.keyboard2/KeyModifier.java
@@ -82,6 +82,7 @@ public final class KeyModifier
case HOOK_ABOVE: return apply_compose(k, ComposeKeyData.accent_hook_above);
case DOUBLE_GRAVE: return apply_compose(k, ComposeKeyData.accent_double_grave);
case ARROW_RIGHT: return apply_combining_char(k, "\u20D7");
+ case SELECTION_MODE: return apply_selection_mode(k);
default: return k;
}
}
@@ -392,6 +393,34 @@ public final class KeyModifier
return (name == null) ? k : KeyValue.getKeyByName(name);
}
+ private static KeyValue apply_selection_mode(KeyValue k)
+ {
+ String name = null;
+ switch (k.getKind())
+ {
+ case Char:
+ switch (k.getChar())
+ {
+ case ' ': name = "selection_cancel"; break;
+ }
+ break;
+ case Slider:
+ switch (k.getSlider())
+ {
+ case Cursor_left: name = "selection_cursor_left"; break;
+ case Cursor_right: name = "selection_cursor_right"; break;
+ }
+ break;
+ case Keyevent:
+ switch (k.getKeyevent())
+ {
+ case KeyEvent.KEYCODE_ESCAPE: name = "selection_cancel"; break;
+ }
+ break;
+ }
+ return (name == null) ? k : KeyValue.getKeyByName(name);
+ }
+
/** Compose the precomposed initial with the medial [kv]. */
private static KeyValue combine_hangul_initial(KeyValue kv, int precomposed)
{