abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2
diff options
context:
space:
mode:
authorJules Aguillon2022-11-05 19:26:49 +0100
committerJules Aguillon2022-11-05 19:26:49 +0100
commit1e067c9863cb412af582158b54f1467a6e379416 (patch)
tree26de29e490be56eee6efda0b9319bdaffbb1998f /srcs/juloo.keyboard2
parentebe66eb740dd486b87934d8340d91ad6c2cdd1d2 (diff)
downloadunexpected-keyboard-1e067c9863cb412af582158b54f1467a6e379416.tar.gz
unexpected-keyboard-1e067c9863cb412af582158b54f1467a6e379416.zip
Add the bar diacritic dead key
Allows to type many of the "with stroke" or "with bar" latin letters.
Diffstat (limited to 'srcs/juloo.keyboard2')
-rw-r--r--srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java1
-rw-r--r--srcs/juloo.keyboard2/KeyModifier.java28
-rw-r--r--srcs/juloo.keyboard2/KeyValue.java2
3 files changed, 31 insertions, 0 deletions
diff --git a/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java b/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java
index 8787b6b..c4757de 100644
--- a/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java
+++ b/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java
@@ -29,6 +29,7 @@ public class ExtraKeyCheckBoxPreference extends CheckBoxPreference
"accent_macron",
"accent_ogonek",
"accent_breve",
+ "accent_bar",
"€",
"ß",
"£",
diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java
index 2bb4e08..c733c33 100644
--- a/srcs/juloo.keyboard2/KeyModifier.java
+++ b/srcs/juloo.keyboard2/KeyModifier.java
@@ -58,6 +58,7 @@ class KeyModifier
case ARROWS: return apply_map_char(k, map_char_arrows);
case BOX: return apply_map_char(k, map_char_box);
case SLASH: return apply_map_char(k, map_char_slash);
+ case BAR: return apply_map_char(k, map_char_bar);
case ARROW_RIGHT: return apply_combining(k, "\u20D7");
default: return k;
}
@@ -519,4 +520,31 @@ class KeyModifier
}
}
};
+
+ private static final Map_char map_char_bar =
+ new Map_char() {
+ public char apply(char c)
+ {
+ switch (c)
+ {
+ case 'b': return 'ƀ';
+ case 'c': return 'ꞓ';
+ case 'd': return 'đ';
+ case 'g': return 'ǥ';
+ case 'i': return 'ɨ';
+ case 'j': return 'ɉ';
+ case 'k': return 'ꝁ';
+ case 'l': return 'ƚ';
+ case 'o': return 'ɵ';
+ case 'p': return 'ᵽ';
+ case 'q': return 'ꝗ';
+ case 'r': return 'ɍ';
+ case 't': return 'ŧ';
+ case 'u': return 'ʉ';
+ case 'y': return 'ɏ';
+ case 'z': return 'ƶ';
+ default: return c;
+ }
+ }
+ };
}
diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java
index 86d53bb..989e7fe 100644
--- a/srcs/juloo.keyboard2/KeyValue.java
+++ b/srcs/juloo.keyboard2/KeyValue.java
@@ -47,6 +47,7 @@ final class KeyValue
SLASH,
ARROW_RIGHT,
BREVE,
+ BAR,
FN, // Must be placed last to be applied first
}
@@ -287,6 +288,7 @@ final class KeyValue
addDiacritic("accent_slash", 0x5C, Modifier.SLASH);
addDiacritic("accent_arrow_right", 0x5D, Modifier.ARROW_RIGHT);
addDiacritic("accent_breve", 0x5E, Modifier.BREVE);
+ addDiacritic("accent_bar", 0x5F, Modifier.BAR);
addModifierKey("superscript", "Sup", Modifier.SUPERSCRIPT, 0);
addModifierKey("subscript", "Sub", Modifier.SUBSCRIPT, 0);
addModifierKey("ordinal", "Ord", Modifier.ORDINAL, 0);