abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/juloo.keyboard2')
-rw-r--r--srcs/juloo.keyboard2/KeyModifier.java16
-rw-r--r--srcs/juloo.keyboard2/KeyValue.java2
2 files changed, 17 insertions, 1 deletions
diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java
index b4de76b..f6ffa75 100644
--- a/srcs/juloo.keyboard2/KeyModifier.java
+++ b/srcs/juloo.keyboard2/KeyModifier.java
@@ -64,6 +64,7 @@ class KeyModifier
return maybe_modify_char(k, map_char_box(k.char_));
case KeyValue.MOD_SLASH:
return maybe_modify_char(k, map_char_slash(k.char_));
+ case KeyValue.MOD_ARROW_RIGHT: return apply_combining(k, "\u20D7");
default: return k;
}
}
@@ -76,11 +77,24 @@ class KeyModifier
return maybe_modify_char(k, c);
}
+ private static KeyValue apply_combining(KeyValue k, String combining)
+ {
+ if (k.char_ == KeyValue.CHAR_NONE)
+ return k;
+ return KeyValue.getKeyByName(String.valueOf(k.char_) + combining);
+ }
+
private static KeyValue apply_shift(KeyValue k)
{
char c = k.char_;
if (c == KeyValue.CHAR_NONE)
- return k;
+ {
+ // The key is a string
+ if (k.code == KeyValue.EVENT_NONE)
+ return k.withCharAndSymbol(k.symbol.toUpperCase(), KeyValue.CHAR_NONE);
+ else
+ return k;
+ }
c = map_char_shift(c);
if (c == k.char_)
c = Character.toUpperCase(c);
diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java
index fc5cff4..c3678f9 100644
--- a/srcs/juloo.keyboard2/KeyValue.java
+++ b/srcs/juloo.keyboard2/KeyValue.java
@@ -45,6 +45,7 @@ class KeyValue
public static final int MOD_BOX = -215;
public static final int MOD_OGONEK = -216;
public static final int MOD_SLASH = -217;
+ public static final int MOD_ARROW_RIGHT = -218;
/** Special value for the [char_] field. */
public static final char CHAR_NONE = '\0';
@@ -188,6 +189,7 @@ class KeyValue
addModifierKey("accent_double_aigu", "\u005b", MOD_DOUBLE_AIGU, FLAG_KEY_FONT);
addModifierKey("accent_slash", "\134", // Can't write u005c
MOD_SLASH, FLAG_KEY_FONT);
+ addModifierKey("accent_arrow_right", "\u005d", MOD_ARROW_RIGHT, FLAG_KEY_FONT);
addModifierKey("superscript", "Sup", MOD_SUPERSCRIPT, FLAG_SMALLER_FONT);
addModifierKey("subscript", "Sub", MOD_SUBSCRIPT, FLAG_SMALLER_FONT);
addModifierKey("ordinal", "Ord", MOD_ORDINAL, FLAG_SMALLER_FONT);