Move some keys under the Fn modifier and move it on the bottom row

This commit is contained in:
Jules Aguillon 2021-04-19 22:29:20 +02:00
parent 471375d50c
commit 2200e2f313
4 changed files with 54 additions and 33 deletions

View File

@ -22,7 +22,7 @@
<key key0="j" key2="accent6" key3="^" />
<key key0="k" key2="£" key3="$" key4="accent3" />
<key key0="l" key1="accent4" key2="%" />
<key key0="m" key1="fn" key2="µ" key4="*" />
<key key0="m" key2="µ" key4="*" />
</row>
<row>
<key width="2.0" key0="shift" />
@ -36,7 +36,7 @@
</row>
<row>
<key width="1.8" key0="ctrl" key3="switch_numeric" />
<key width="1.2" key0="alt" key1="page_up" key2="end" key3="home" key4="page_down" />
<key width="1.2" key0="alt" key1="fn" />
<key width="4.0" key0="space" />
<key width="1.2" key0="switch_emoji" key1="up" key2="right" key3="left" key4="down" />
<key width="1.8" key0="enter" />

View File

@ -21,7 +21,7 @@
<key key0="h" key2="=" key3="+" />
<key key0="j" key4="}" key3="{" />
<key key0="k" key4="]" key3="[" />
<key key0="l" key1="fn" key2="|" key3="\\" />
<key key0="l" key2="|" key3="\\" />
</row>
<row>
<key width="1.5" key0="shift" />
@ -36,7 +36,7 @@
</row>
<row>
<key width="1.8" key0="ctrl" key1="change_method" key3="switch_numeric" />
<key width="1.2" key0="alt" key1="page_up" key2="end" key3="home" key4="page_down" />
<key width="1.2" key0="alt" key1="fn" />
<key width="4.0" key0="space" />
<key width="1.2" key0="switch_emoji" key1="up" key2="right" key3="left" key4="down" />
<key width="1.8" key0="enter" />

View File

@ -63,25 +63,26 @@ class KeyModifier
{
if ((flags & KeyValue.FLAG_FN) == 0)
return null;
switch (k.char_)
String name;
switch (k.name)
{
case '1': return makeFnKey("F1", KeyEvent.KEYCODE_F1);
case '2': return makeFnKey("F2", KeyEvent.KEYCODE_F2);
case '3': return makeFnKey("F3", KeyEvent.KEYCODE_F3);
case '4': return makeFnKey("F4", KeyEvent.KEYCODE_F4);
case '5': return makeFnKey("F5", KeyEvent.KEYCODE_F5);
case '6': return makeFnKey("F6", KeyEvent.KEYCODE_F6);
case '7': return makeFnKey("F7", KeyEvent.KEYCODE_F7);
case '8': return makeFnKey("F8", KeyEvent.KEYCODE_F8);
case '9': return makeFnKey("F9", KeyEvent.KEYCODE_F9);
case '0': return makeFnKey("F10", KeyEvent.KEYCODE_F10);
case "1": name = "f1"; break;
case "2": name = "f2"; break;
case "3": name = "f3"; break;
case "4": name = "f4"; break;
case "5": name = "f5"; break;
case "6": name = "f6"; break;
case "7": name = "f7"; break;
case "8": name = "f8"; break;
case "9": name = "f9"; break;
case "0": name = "f10"; break;
case "up": name = "page_up"; break;
case "down": name = "page_down"; break;
case "left": name = "home"; break;
case "right": name = "end"; break;
default: return null;
}
}
private static KeyValue makeFnKey(String symbol, int eventCode)
{
return new KeyValue(symbol, symbol, KeyValue.CHAR_NONE, eventCode, 0);
return KeyValue.getKeyByName(name);
}
/* Lookup the cache entry for a key. Create it needed. */

View File

@ -86,6 +86,16 @@ class KeyValue
addKey(name, symbol, CHAR_NONE, event, FLAG_NOREPEAT);
}
private static void addEventKey(String name, String symbol, int event)
{
addEventKey(name, symbol, event, 0);
}
private static void addEventKey(String name, String symbol, int event, int flags)
{
addKey(name, symbol, CHAR_NONE, event, flags);
}
static
{
String chars = "<>&\"'(-_)=°+"
@ -149,19 +159,29 @@ class KeyValue
addSpecialKey("switch_back_emoji", "ABC", EVENT_SWITCH_BACK_EMOJI);
addSpecialKey("change_method", "", EVENT_CHANGE_METHOD);
addKey("esc", "Esc", CHAR_NONE, KeyEvent.KEYCODE_ESCAPE, 0);
addKey("enter", "\uE800", CHAR_NONE, KeyEvent.KEYCODE_ENTER, FLAG_KEY_FONT);
addKey("up", "\uE80B", CHAR_NONE, KeyEvent.KEYCODE_DPAD_UP, FLAG_KEY_FONT);
addKey("right", "\uE80C", CHAR_NONE, KeyEvent.KEYCODE_DPAD_RIGHT, FLAG_KEY_FONT);
addKey("down", "\uE809", CHAR_NONE, KeyEvent.KEYCODE_DPAD_DOWN, FLAG_KEY_FONT);
addKey("left", "\uE80A", CHAR_NONE, KeyEvent.KEYCODE_DPAD_LEFT, FLAG_KEY_FONT);
addKey("page_up", "", CHAR_NONE, KeyEvent.KEYCODE_PAGE_DOWN, 0);
addKey("page_down", "", CHAR_NONE, KeyEvent.KEYCODE_PAGE_UP, 0);
addKey("home", "", CHAR_NONE, KeyEvent.KEYCODE_HOME, 0);
addKey("end", "", CHAR_NONE, KeyEvent.KEYCODE_MOVE_END, 0);
addKey("backspace", "", CHAR_NONE, KeyEvent.KEYCODE_DEL, 0);
addKey("delete", "", CHAR_NONE, KeyEvent.KEYCODE_FORWARD_DEL, 0);
addKey("insert", "Ins", CHAR_NONE, KeyEvent.KEYCODE_INSERT, 0);
addEventKey("esc", "Esc", KeyEvent.KEYCODE_ESCAPE);
addEventKey("enter", "\uE800", KeyEvent.KEYCODE_ENTER, FLAG_KEY_FONT);
addEventKey("up", "\uE80B", KeyEvent.KEYCODE_DPAD_UP, FLAG_KEY_FONT);
addEventKey("right", "\uE80C", KeyEvent.KEYCODE_DPAD_RIGHT, FLAG_KEY_FONT);
addEventKey("down", "\uE809", KeyEvent.KEYCODE_DPAD_DOWN, FLAG_KEY_FONT);
addEventKey("left", "\uE80A", KeyEvent.KEYCODE_DPAD_LEFT, FLAG_KEY_FONT);
addEventKey("page_up", "", KeyEvent.KEYCODE_PAGE_DOWN);
addEventKey("page_down", "", KeyEvent.KEYCODE_PAGE_UP);
addEventKey("home", "", KeyEvent.KEYCODE_HOME);
addEventKey("end", "", KeyEvent.KEYCODE_MOVE_END);
addEventKey("backspace", "", KeyEvent.KEYCODE_DEL);
addEventKey("delete", "", KeyEvent.KEYCODE_FORWARD_DEL);
addEventKey("insert", "Ins", KeyEvent.KEYCODE_INSERT);
addEventKey("f1", "F1", KeyEvent.KEYCODE_F1);
addEventKey("f2", "F2", KeyEvent.KEYCODE_F2);
addEventKey("f3", "F3", KeyEvent.KEYCODE_F3);
addEventKey("f4", "F4", KeyEvent.KEYCODE_F4);
addEventKey("f5", "F5", KeyEvent.KEYCODE_F5);
addEventKey("f6", "F6", KeyEvent.KEYCODE_F6);
addEventKey("f7", "F7", KeyEvent.KEYCODE_F7);
addEventKey("f8", "F8", KeyEvent.KEYCODE_F8);
addEventKey("f9", "F9", KeyEvent.KEYCODE_F9);
addEventKey("f10", "F10", KeyEvent.KEYCODE_F10);
addKey("tab", "", '\t', KeyEvent.KEYCODE_TAB, 0);
addKey("space", " ", ' ', KeyEvent.KEYCODE_SPACE, 0);