|
|
@ -44,6 +44,11 @@ public class IptKey_ {
|
|
|
|
List_adp list = List_adp_.New();
|
|
|
|
List_adp list = List_adp_.New();
|
|
|
|
for (IptKey key : add)
|
|
|
|
for (IptKey key : add)
|
|
|
|
list.Add(key);
|
|
|
|
list.Add(key);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// add keypad numbers
|
|
|
|
|
|
|
|
list.Add_many(IptKey_.Numpad_0, IptKey_.Numpad_1, IptKey_.Numpad_2, IptKey_.Numpad_3, IptKey_.Numpad_4);
|
|
|
|
|
|
|
|
list.Add_many(IptKey_.Numpad_5, IptKey_.Numpad_6, IptKey_.Numpad_7, IptKey_.Numpad_8, IptKey_.Numpad_9);
|
|
|
|
|
|
|
|
|
|
|
|
IptKeyStrMgr.Instance.XtoIptKeyAry(list);
|
|
|
|
IptKeyStrMgr.Instance.XtoIptKeyAry(list);
|
|
|
|
for (IptKey key : del)
|
|
|
|
for (IptKey key : del)
|
|
|
|
list.Del(key);
|
|
|
|
list.Del(key);
|
|
|
@ -51,6 +56,11 @@ public class IptKey_ {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public static IptKey[] printableKeys_(IptKey[] add, IptKey[] del) {
|
|
|
|
public static IptKey[] printableKeys_(IptKey[] add, IptKey[] del) {
|
|
|
|
List_adp list = List_adp_.New();
|
|
|
|
List_adp list = List_adp_.New();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// add keypad numbers
|
|
|
|
|
|
|
|
list.Add_many(IptKey_.Numpad_0, IptKey_.Numpad_1, IptKey_.Numpad_2, IptKey_.Numpad_3, IptKey_.Numpad_4);
|
|
|
|
|
|
|
|
list.Add_many(IptKey_.Numpad_5, IptKey_.Numpad_6, IptKey_.Numpad_7, IptKey_.Numpad_8, IptKey_.Numpad_9);
|
|
|
|
|
|
|
|
|
|
|
|
for (IptKey key : add)
|
|
|
|
for (IptKey key : add)
|
|
|
|
list.Add(key);
|
|
|
|
list.Add(key);
|
|
|
|
IptKeyStrMgr.Instance.XtoIptKeyAry(list);
|
|
|
|
IptKeyStrMgr.Instance.XtoIptKeyAry(list);
|
|
|
@ -68,40 +78,110 @@ public class IptKey_ {
|
|
|
|
return rv;
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public static final int KeyCode_Shift = 65536, KeyCode_Ctrl = 131072, KeyCode_Alt = 262144;
|
|
|
|
public static final int KeyCode_Shift = 65536, KeyCode_Ctrl = 131072, KeyCode_Alt = 262144;
|
|
|
|
public static final IptKey
|
|
|
|
public static final IptKey
|
|
|
|
None = new_(0, "none")
|
|
|
|
// NOTE: integer values represent .NET keycodes; NOTE: SWT keycodes are converted to SWING keycodes in Swt_core_lnrs
|
|
|
|
, Back = new_(8, "back"), Tab = new_(9, "tab"), Clear = new_(12, "clear"), Enter = new_(KeyEvent.VK_ENTER, "enter")
|
|
|
|
// none
|
|
|
|
, ShiftKey = new_(16, "shiftKey"), CtrlKey = new_(17, "ctrlKey"), AltKey = new_(18, "altKey")
|
|
|
|
None = new_( 0, "none")
|
|
|
|
, Pause = new_(KeyEvent.VK_PAUSE, "pause")
|
|
|
|
|
|
|
|
, CapsLock = new_(20, "capsLock"), Escape = new_(27, "escape"), Space = new_(32, "space")
|
|
|
|
// numbers
|
|
|
|
, PageUp = new_(33, "pageUp"), PageDown = new_(34, "pageDown"), End = new_(35, "end"), Home = new_(36, "home")
|
|
|
|
|
|
|
|
, Left = new_(37, "left"), Up = new_(38, "up"), Right = new_(39, "right"), Down = new_(40, "down")
|
|
|
|
|
|
|
|
, PrintScreen = new_(44, "printScreen")
|
|
|
|
|
|
|
|
, Insert = new_(KeyEvent.VK_INSERT, "insert")
|
|
|
|
|
|
|
|
, Delete = new_(KeyEvent.VK_DELETE, "delete")
|
|
|
|
|
|
|
|
, D0 = new_(48, "d0"), D1 = new_(49, "d1"), D2 = new_(50, "d2"), D3 = new_(51, "d3"), D4 = new_(52, "d4")
|
|
|
|
, D0 = new_(48, "d0"), D1 = new_(49, "d1"), D2 = new_(50, "d2"), D3 = new_(51, "d3"), D4 = new_(52, "d4")
|
|
|
|
, D5 = new_(53, "d5"), D6 = new_(54, "d6"), D7 = new_(55, "d7"), D8 = new_(56, "d8"), D9 = new_(57, "d9")
|
|
|
|
, D5 = new_(53, "d5"), D6 = new_(54, "d6"), D7 = new_(55, "d7"), D8 = new_(56, "d8"), D9 = new_(57, "d9")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// letters
|
|
|
|
, A = new_(65, "a"), B = new_(66, "b"), C = new_(67, "c"), D = new_(68, "d"), E = new_(69, "e")
|
|
|
|
, A = new_(65, "a"), B = new_(66, "b"), C = new_(67, "c"), D = new_(68, "d"), E = new_(69, "e")
|
|
|
|
, F = new_(70, "f"), G = new_(71, "g"), H = new_(72, "h"), I = new_(73, "i"), J = new_(74, "j")
|
|
|
|
, F = new_(70, "f"), G = new_(71, "g"), H = new_(72, "h"), I = new_(73, "i"), J = new_(74, "j")
|
|
|
|
, K = new_(75, "k"), L = new_(76, "l"), M = new_(77, "m"), N = new_(78, "n"), O = new_(79, "o")
|
|
|
|
, K = new_(75, "k"), L = new_(76, "l"), M = new_(77, "m"), N = new_(78, "n"), O = new_(79, "o")
|
|
|
|
, P = new_(80, "p"), Q = new_(81, "q"), R = new_(82, "r"), S = new_(83, "s"), T = new_(84, "t")
|
|
|
|
, P = new_(80, "p"), Q = new_(81, "q"), R = new_(82, "r"), S = new_(83, "s"), T = new_(84, "t")
|
|
|
|
, U = new_(85, "u"), V = new_(86, "v"), W = new_(87, "w"), X = new_(88, "x"), Y = new_(89, "y"), Z = new_(90, "z")
|
|
|
|
, U = new_(85, "u"), V = new_(86, "v"), W = new_(87, "w"), X = new_(88, "x"), Y = new_(89, "y"), Z = new_(90, "z")
|
|
|
|
, F1 = new_(112, "f1"), F2 = new_(113, "f2"), F3 = new_(114, "f3"), F4 = new_(115, "f4"), F5 = new_(116, "f5"), F6 = new_(117, "f6")
|
|
|
|
|
|
|
|
, F7 = new_(118, "f7"), F8 = new_(119, "f8"), F9 = new_(120, "f9"), F10 = new_(121, "f10"), F11 = new_(122, "f11"), F12 = new_(123, "f12")
|
|
|
|
// numpad numbers
|
|
|
|
, NumLock = new_(144, "numLock"), ScrollLock = new_(145, "scrollLock")
|
|
|
|
, Numpad_0 = new_(KeyEvent.VK_NUMPAD0, "numpad_0")
|
|
|
|
, Semicolon = new_(KeyEvent.VK_SEMICOLON, "semicolon")
|
|
|
|
, Numpad_1 = new_(KeyEvent.VK_NUMPAD1, "numpad_1")
|
|
|
|
, Equal = new_(KeyEvent.VK_EQUALS, "equal")
|
|
|
|
, Numpad_2 = new_(KeyEvent.VK_NUMPAD2, "numpad_2")
|
|
|
|
, Comma = new_(KeyEvent.VK_COMMA, "comma")
|
|
|
|
, Numpad_3 = new_(KeyEvent.VK_NUMPAD3, "numpad_3")
|
|
|
|
, Minus = new_(KeyEvent.VK_MINUS, "minus")
|
|
|
|
, Numpad_4 = new_(KeyEvent.VK_NUMPAD4, "numpad_4")
|
|
|
|
, Period = new_(KeyEvent.VK_PERIOD, "period")
|
|
|
|
, Numpad_5 = new_(KeyEvent.VK_NUMPAD5, "numpad_5")
|
|
|
|
, Slash = new_(KeyEvent.VK_SLASH, "slash")
|
|
|
|
, Numpad_6 = new_(KeyEvent.VK_NUMPAD6, "numpad_6")
|
|
|
|
, Tick = new_(KeyEvent.VK_BACK_QUOTE, "tick")
|
|
|
|
, Numpad_7 = new_(KeyEvent.VK_NUMPAD7, "numpad_7")
|
|
|
|
, OpenBracket = new_(219, "openBracket")
|
|
|
|
, Numpad_8 = new_(KeyEvent.VK_NUMPAD8, "numpad_8")
|
|
|
|
, Backslash = new_(KeyEvent.VK_BACK_SLASH, "backslash")
|
|
|
|
, Numpad_9 = new_(KeyEvent.VK_NUMPAD9, "numpad_9")
|
|
|
|
, CloseBracket = new_(221, "closeBracket")
|
|
|
|
|
|
|
|
, Quote = new_(222, "quote")
|
|
|
|
// numpad keys
|
|
|
|
, Shift = new_(KeyCode_Shift, "shift"), Ctrl = new_(KeyCode_Ctrl, "ctrl"), Alt = new_(KeyCode_Alt, "alt")
|
|
|
|
, Numpad_multiply = new_(KeyEvent.VK_MULTIPLY, "numpad_multiply")
|
|
|
|
, Keypad_enter = new_(16777296, "keypad_enter")
|
|
|
|
, Numpad_add = new_(KeyEvent.VK_ADD, "numpad_add")
|
|
|
|
|
|
|
|
, Numpad_subtract = new_(KeyEvent.VK_SUBTRACT, "numpad_subtract")
|
|
|
|
|
|
|
|
, Numpad_decimal = new_(KeyEvent.VK_DECIMAL, "numpad_decimal")
|
|
|
|
|
|
|
|
, Numpad_divide = new_(KeyEvent.VK_DIVIDE, "numpad_divide")
|
|
|
|
|
|
|
|
// NOTE: mapping numpad_enter to enter b/c don't want to define two sets of enters for every binding
|
|
|
|
|
|
|
|
, Numpad_enter = new_(KeyEvent.VK_ENTER, "numpad_enter")
|
|
|
|
|
|
|
|
// NOTE: using same value as SWT; SWING value is not available
|
|
|
|
|
|
|
|
// , Numpad_enter = new_(16777296, "numpad_enter")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// function keys; not supporting f13-f24 b/c only for IBM 3270 keyboards and can't test; also, note that codes differ between .net and swing
|
|
|
|
|
|
|
|
, F1 = new_(KeyEvent.VK_F1, "f1")
|
|
|
|
|
|
|
|
, F2 = new_(KeyEvent.VK_F2, "f2")
|
|
|
|
|
|
|
|
, F3 = new_(KeyEvent.VK_F3, "f3")
|
|
|
|
|
|
|
|
, F4 = new_(KeyEvent.VK_F4, "f4")
|
|
|
|
|
|
|
|
, F5 = new_(KeyEvent.VK_F5, "f5")
|
|
|
|
|
|
|
|
, F6 = new_(KeyEvent.VK_F6, "f6")
|
|
|
|
|
|
|
|
, F7 = new_(KeyEvent.VK_F7, "f7")
|
|
|
|
|
|
|
|
, F8 = new_(KeyEvent.VK_F8, "f8")
|
|
|
|
|
|
|
|
, F9 = new_(KeyEvent.VK_F9, "f9")
|
|
|
|
|
|
|
|
, F10 = new_(KeyEvent.VK_F10, "f10")
|
|
|
|
|
|
|
|
, F11 = new_(KeyEvent.VK_F11, "f11")
|
|
|
|
|
|
|
|
, F12 = new_(KeyEvent.VK_F12, "f12")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// whitespace
|
|
|
|
|
|
|
|
, Tab = new_(KeyEvent.VK_TAB, "tab")
|
|
|
|
|
|
|
|
, Enter = new_(KeyEvent.VK_ENTER, "enter")
|
|
|
|
|
|
|
|
, Space = new_(KeyEvent.VK_SPACE, "space")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// delete
|
|
|
|
|
|
|
|
, Back = new_(KeyEvent.VK_BACK_SPACE, "back")
|
|
|
|
|
|
|
|
, Clear = new_(KeyEvent.VK_CLEAR, "clear")
|
|
|
|
|
|
|
|
, Insert = new_(KeyEvent.VK_INSERT, "insert")
|
|
|
|
|
|
|
|
, Delete = new_(KeyEvent.VK_DELETE, "delete")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// meta
|
|
|
|
|
|
|
|
, Escape = new_(KeyEvent.VK_ESCAPE, "escape")
|
|
|
|
|
|
|
|
, Pause = new_(KeyEvent.VK_PAUSE, "pause")
|
|
|
|
|
|
|
|
, PrintScreen = new_(KeyEvent.VK_PRINTSCREEN, "printScreen")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// navigation: page / home
|
|
|
|
|
|
|
|
, PageUp = new_(KeyEvent.VK_PAGE_UP, "pageUp")
|
|
|
|
|
|
|
|
, PageDown = new_(KeyEvent.VK_PAGE_DOWN, "pageDown")
|
|
|
|
|
|
|
|
, End = new_(KeyEvent.VK_END, "end")
|
|
|
|
|
|
|
|
, Home = new_(KeyEvent.VK_HOME, "home")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// navigation: lr / ud
|
|
|
|
|
|
|
|
, Left = new_(KeyEvent.VK_LEFT, "left")
|
|
|
|
|
|
|
|
, Up = new_(KeyEvent.VK_UP, "up")
|
|
|
|
|
|
|
|
, Right = new_(KeyEvent.VK_RIGHT, "right")
|
|
|
|
|
|
|
|
, Down = new_(KeyEvent.VK_DOWN, "down")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// locks
|
|
|
|
|
|
|
|
, CapsLock = new_(KeyEvent.VK_CAPS_LOCK, "capsLock")
|
|
|
|
|
|
|
|
, NumLock = new_(KeyEvent.VK_NUM_LOCK, "numLock")
|
|
|
|
|
|
|
|
, ScrollLock = new_(KeyEvent.VK_SCROLL_LOCK, "scrollLock")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// symbols
|
|
|
|
|
|
|
|
, Semicolon = new_(KeyEvent.VK_SEMICOLON, "semicolon")
|
|
|
|
|
|
|
|
, Equal = new_(KeyEvent.VK_EQUALS, "equal")
|
|
|
|
|
|
|
|
, Comma = new_(KeyEvent.VK_COMMA, "comma")
|
|
|
|
|
|
|
|
, Minus = new_(KeyEvent.VK_MINUS, "minus")
|
|
|
|
|
|
|
|
, Period = new_(KeyEvent.VK_PERIOD, "period")
|
|
|
|
|
|
|
|
, Slash = new_(KeyEvent.VK_SLASH, "slash")
|
|
|
|
|
|
|
|
, Tick = new_(KeyEvent.VK_BACK_QUOTE, "tick")
|
|
|
|
|
|
|
|
, OpenBracket = new_(KeyEvent.VK_OPEN_BRACKET, "openBracket")
|
|
|
|
|
|
|
|
, Backslash = new_(KeyEvent.VK_BACK_SLASH, "backslash")
|
|
|
|
|
|
|
|
, CloseBracket = new_(KeyEvent.VK_CLOSE_BRACKET, "closeBracket")
|
|
|
|
|
|
|
|
, Quote = new_(222, "quote")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// modifiers
|
|
|
|
|
|
|
|
, Shift = new_(KeyCode_Shift, "shift")
|
|
|
|
|
|
|
|
, Ctrl = new_(KeyCode_Ctrl, "ctrl")
|
|
|
|
|
|
|
|
, Alt = new_(KeyCode_Alt, "alt")
|
|
|
|
|
|
|
|
, ShiftKey = new_(16, "shiftKey") , CtrlKey = new_(17, "ctrlKey") , AltKey = new_(18, "altKey") // NOTE: used for .NET NPI
|
|
|
|
;
|
|
|
|
;
|
|
|
|
private static Ordered_hash ui_str_hash;
|
|
|
|
private static Ordered_hash ui_str_hash;
|
|
|
|
public static Ordered_hash Ui_str_hash() {
|
|
|
|
public static Ordered_hash Ui_str_hash() {
|
|
|
@ -125,7 +205,11 @@ public class IptKey_ {
|
|
|
|
, IptKey_.F7, IptKey_.F8, IptKey_.F9, IptKey_.F10, IptKey_.F11, IptKey_.F12
|
|
|
|
, IptKey_.F7, IptKey_.F8, IptKey_.F9, IptKey_.F10, IptKey_.F11, IptKey_.F12
|
|
|
|
, IptKey_.NumLock, IptKey_.ScrollLock
|
|
|
|
, IptKey_.NumLock, IptKey_.ScrollLock
|
|
|
|
, IptKey_.Semicolon, IptKey_.Equal, IptKey_.Comma, IptKey_.Minus, IptKey_.Period, IptKey_.Slash, IptKey_.Tick
|
|
|
|
, IptKey_.Semicolon, IptKey_.Equal, IptKey_.Comma, IptKey_.Minus, IptKey_.Period, IptKey_.Slash, IptKey_.Tick
|
|
|
|
, IptKey_.OpenBracket, IptKey_.Back, IptKey_.CloseBracket, IptKey_.Quote
|
|
|
|
, IptKey_.OpenBracket, IptKey_.Backslash, IptKey_.CloseBracket, IptKey_.Quote
|
|
|
|
|
|
|
|
, IptKey_.Numpad_0, IptKey_.Numpad_1, IptKey_.Numpad_2, IptKey_.Numpad_3, IptKey_.Numpad_4
|
|
|
|
|
|
|
|
, IptKey_.Numpad_5, IptKey_.Numpad_6, IptKey_.Numpad_7, IptKey_.Numpad_8, IptKey_.Numpad_9
|
|
|
|
|
|
|
|
, IptKey_.Numpad_multiply, IptKey_.Numpad_add, IptKey_.Numpad_subtract, IptKey_.Numpad_decimal, IptKey_.Numpad_divide
|
|
|
|
|
|
|
|
// , IptKey_.Numpad_enter
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return ui_str_hash;
|
|
|
|
return ui_str_hash;
|
|
|
@ -137,18 +221,21 @@ public class IptKey_ {
|
|
|
|
hash.Add_if_dupe_use_nth(Int_obj_ref.New(key.Val()), key);
|
|
|
|
hash.Add_if_dupe_use_nth(Int_obj_ref.New(key.Val()), key);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
public static String To_str(int val) {
|
|
|
|
public static String To_str(int orig_val) {
|
|
|
|
String mod_str = "", rv = "";
|
|
|
|
String mod_str = "", rv = "";
|
|
|
|
boolean mod_c = Bitmask_.Has_int(val, IptKey_.Ctrl.Val()); if (mod_c) {mod_str += "c"; val = Bitmask_.Flip_int(Bool_.N, val, IptKey_.Ctrl.Val());}
|
|
|
|
int temp_val = orig_val;
|
|
|
|
boolean mod_a = Bitmask_.Has_int(val, IptKey_.Alt.Val()); if (mod_a) {mod_str += "a"; val = Bitmask_.Flip_int(Bool_.N, val, IptKey_.Alt.Val());}
|
|
|
|
boolean mod_c = Bitmask_.Has_int(temp_val, IptKey_.Ctrl.Val()); if (mod_c) {mod_str += "c"; temp_val = Bitmask_.Flip_int(Bool_.N, temp_val, IptKey_.Ctrl.Val());}
|
|
|
|
boolean mod_s = Bitmask_.Has_int(val, IptKey_.Shift.Val()); if (mod_s) {mod_str += "s"; val = Bitmask_.Flip_int(Bool_.N, val, IptKey_.Shift.Val());}
|
|
|
|
boolean mod_a = Bitmask_.Has_int(temp_val, IptKey_.Alt.Val()); if (mod_a) {mod_str += "a"; temp_val = Bitmask_.Flip_int(Bool_.N, temp_val, IptKey_.Alt.Val());}
|
|
|
|
|
|
|
|
boolean mod_s = Bitmask_.Has_int(temp_val, IptKey_.Shift.Val()); if (mod_s) {mod_str += "s"; temp_val = Bitmask_.Flip_int(Bool_.N, temp_val, IptKey_.Shift.Val());}
|
|
|
|
if (String_.Len_gt_0(mod_str)) {
|
|
|
|
if (String_.Len_gt_0(mod_str)) {
|
|
|
|
rv = "mod." + mod_str;
|
|
|
|
rv = "mod." + mod_str;
|
|
|
|
if (val == 0) return rv; // handle modifiers only, like "mod.cs"; else will be "mod.cs+key.#0"
|
|
|
|
// handle modifiers only, like "mod.cs"; else will be "mod.cs+key.#0"
|
|
|
|
|
|
|
|
if (temp_val == 0) return rv;
|
|
|
|
rv += "+";
|
|
|
|
rv += "+";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
IptKey key = (IptKey)IptKey_.Ui_str_hash().Get_by(Int_obj_ref.New(val));
|
|
|
|
IptKey key = (IptKey)IptKey_.Ui_str_hash().Get_by(Int_obj_ref.New(temp_val));
|
|
|
|
String key_str = key == null ? "key.#" + Int_.To_str(val) : key.Key();
|
|
|
|
String key_str = key == null ? "key.#" + Int_.To_str(temp_val) : key.Key();
|
|
|
|
|
|
|
|
// Tfds.Write(rv + key_str, orig_val, temp_val, mod_c, mod_a, mod_s);
|
|
|
|
return rv + key_str;
|
|
|
|
return rv + key_str;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|