diff --git a/res/xml/qwerty.xml b/res/xml/qwerty.xml index 73b41a5..0402292 100644 --- a/res/xml/qwerty.xml +++ b/res/xml/qwerty.xml @@ -35,7 +35,7 @@ - + diff --git a/srcs/juloo.keyboard2/KeyEventHandler.java b/srcs/juloo.keyboard2/KeyEventHandler.java index 39e56d5..dad6642 100644 --- a/srcs/juloo.keyboard2/KeyEventHandler.java +++ b/srcs/juloo.keyboard2/KeyEventHandler.java @@ -24,7 +24,7 @@ class KeyEventHandler implements Config.IKeyEventHandler case KeyValue.EVENT_CHANGE_METHOD: _recv.switchToNextInputMethod(); return; case KeyValue.EVENT_ACTION: _recv.performAction(); return; default: - if ((flags & (KeyValue.FLAG_CTRL | KeyValue.FLAG_ALT)) != 0) + if ((flags & (KeyValue.FLAG_CTRL | KeyValue.FLAG_ALT | KeyValue.FLAG_META)) != 0) handleMetaKeyUp(key, flags); else if (key.char_ != KeyValue.CHAR_NONE) _recv.commitChar(key.char_); @@ -56,6 +56,8 @@ class KeyEventHandler implements Config.IKeyEventHandler meta |= KeyEvent.META_ALT_LEFT_ON | KeyEvent.META_ALT_ON; if ((flags & KeyValue.FLAG_SHIFT) != 0) meta |= KeyEvent.META_SHIFT_LEFT_ON | KeyEvent.META_SHIFT_ON; + if ((flags & KeyValue.FLAG_META) != 0) + meta |= KeyEvent.META_META_LEFT_ON | KeyEvent.META_META_ON; _recv.sendKeyEvent(key.eventCode, meta); } diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index 7addcb2..5461f9f 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -32,6 +32,7 @@ class KeyValue public static final int FLAG_SHIFT = (1 << 11); public static final int FLAG_ALT = (1 << 12); public static final int FLAG_FN = (1 << 13); + public static final int FLAG_META = (1 << 14); // Accent flags public static final int FLAG_ACCENT1 = (1 << 16); // Grave @@ -159,6 +160,7 @@ class KeyValue addModifierKey("superscript", "◌͆", FLAG_ACCENT_SUPERSCRIPT); addModifierKey("subscript", "◌̺", FLAG_ACCENT_SUBSCRIPT); addModifierKey("fn", "Fn", FLAG_FN); + addModifierKey("meta", "◆", FLAG_META); addCharKey('a', KeyEvent.KEYCODE_A); addCharKey('b', KeyEvent.KEYCODE_B);