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.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/srcs/juloo.keyboard2/KeyModifier.java b/srcs/juloo.keyboard2/KeyModifier.java
index 8d5fbbb..0ea80ab 100644
--- a/srcs/juloo.keyboard2/KeyModifier.java
+++ b/srcs/juloo.keyboard2/KeyModifier.java
@@ -51,7 +51,7 @@ public final class KeyModifier
{
switch (mod)
{
- case CTRL:
+ case CTRL: return apply_ctrl(k);
case ALT:
case META: return turn_into_keyevent(k);
case FN: return apply_fn(k);
@@ -440,6 +440,19 @@ public final class KeyModifier
}
}
+ private static KeyValue apply_ctrl(KeyValue k)
+ {
+ if (_modmap != null)
+ {
+ KeyValue mapped = _modmap.ctrl.get(k);
+ // Do not return the modified character right away, first turn it into a
+ // key event.
+ if (mapped != null)
+ k = mapped;
+ }
+ return turn_into_keyevent(k);
+ }
+
private static KeyValue turn_into_keyevent(KeyValue k)
{
if (k.getKind() != KeyValue.Kind.Char)