diff options
| author | Jules Aguillon | 2022-06-05 13:51:09 +0200 |
|---|---|---|
| committer | Jules Aguillon | 2022-06-05 13:51:09 +0200 |
| commit | 02124dd71ffc42bde9b2b333b87a9d3b6f67043c (patch) | |
| tree | 808d37fbfe118bcac4a80397b81d3501c5c62991 /srcs | |
| parent | e4e54628b7bc5f275e5c719eac7bb21e8c43149b (diff) | |
| download | unexpected-keyboard-02124dd71ffc42bde9b2b333b87a9d3b6f67043c.tar.gz unexpected-keyboard-02124dd71ffc42bde9b2b333b87a9d3b6f67043c.zip | |
Add combining 'accent_arrow_right'
It's the first modifier that uses combining diacritics. Whether it
should be represented as a modifier or a new kind of key can be
reconsidered later.
Diffstat (limited to 'srcs')
| -rw-r--r-- | srcs/juloo.keyboard2/KeyModifier.java | 16 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/KeyValue.java | 2 | ||||
| -rw-r--r-- | srcs/special_font/5D.svg | 15 | ||||
| -rw-r--r-- | srcs/special_font/result.ttf | bin | 6492 -> 6912 bytes |
4 files changed, 32 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); diff --git a/srcs/special_font/5D.svg b/srcs/special_font/5D.svg new file mode 100644 index 0000000..02ee339 --- /dev/null +++ b/srcs/special_font/5D.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-20 0 2068 2048"> + <path fill="currentColor" +d="M197.832 205.612h538.118q-61.2705 -48.0928 -87.4463 -102.807h38.8799q75.3359 77.7539 209.951 112.332v18.6455q-134.406 34.6621 -209.951 112.332h-38.8799q26.4688 -54.8193 87.4463 -103.197h-538.118v-37.3057zM931.256 533.22l-69.3145 69.3145 +q-112.472 -86.3154 -249.792 -98.0859v-99.3945q176.555 11.7715 319.106 128.166v0zM516.679 504.45q-133.396 10.4619 -249.792 100.701q0 -1.30859 -71.9297 -74.5449l2.61523 2.61523q142.554 -116.396 319.106 -128.166v99.3945v0zM197.572 675.771 +q-90.2393 103.316 -107.24 245.867h-99.3936q17.001 -181.786 137.32 -319.104l-6.53906 -5.23145l3.92285 2.61523l41.8506 43.1582q30.0791 31.3867 30.0791 32.6953v0zM1137.89 921.639h-99.3936q-17.001 -141.242 -107.239 -248.483l69.3135 -70.6211 +q120.318 137.319 137.319 319.104v0zM1137.89 1018.42q-14.3857 189.633 -129.474 326.953l-69.3135 -70.6221q86.3154 -111.164 99.3936 -256.331h99.3936v0zM189.726 1272.13h0.000976562q-86.3154 -107.239 -99.3936 -253.716h-99.3945q13.0781 189.633 128.165 326.953 +l-3.92285 3.92383q-1.30762 0 74.5449 -77.1611zM939.103 1414.68q-146.476 124.242 -326.952 136.014v-99.3945q139.935 -11.7705 257.639 -105.934zM516.679 1550.7q-180.478 -11.7715 -326.953 -136.013l69.3145 -69.3145q117.703 90.2383 257.64 105.933v99.3945 +h-0.000976562zM931.256 533.22l-69.3145 69.3145q-112.472 -86.3154 -249.792 -98.0859v-99.3945q176.555 11.7715 319.106 128.166v0zM516.679 504.45q-133.396 10.4619 -249.792 100.701q0 -1.30859 -71.9297 -74.5449l2.61523 2.61523q142.554 -116.396 319.106 -128.166 +v99.3945v0zM197.572 675.771q-90.2393 103.316 -107.24 245.867h-99.3936q17.001 -181.786 137.32 -319.104l-6.53906 -5.23145l3.92285 2.61523l41.8506 43.1582q30.0791 31.3867 30.0791 32.6953v0zM1137.89 921.639h-99.3936q-17.001 -141.242 -107.239 -248.483 +l69.3135 -70.6211q120.318 137.319 137.319 319.104v0zM1137.89 1018.42q-14.3857 189.633 -129.474 326.953l-69.3135 -70.6221q86.3154 -111.164 99.3936 -256.331h99.3936v0zM189.726 1272.13h0.000976562q-86.3154 -107.239 -99.3936 -253.716h-99.3945 +q13.0781 189.633 128.165 326.953l-3.92285 3.92383q-1.30762 0 74.5449 -77.1611zM939.103 1414.68q-146.476 124.242 -326.952 136.014v-99.3945q139.935 -11.7705 257.639 -105.934zM516.679 1550.7q-180.478 -11.7715 -326.953 -136.013l69.3145 -69.3145 +q117.703 90.2383 257.64 105.933v99.3945h-0.000976562z" /> +</svg> diff --git a/srcs/special_font/result.ttf b/srcs/special_font/result.ttf Binary files differindex 9504216..3a947ee 100644 --- a/srcs/special_font/result.ttf +++ b/srcs/special_font/result.ttf |
