cocoa: additional key code mapping

git-svn-id: trunk@57000 -
This commit is contained in:
dmitry 2018-01-07 07:03:03 +00:00
parent 2f120dcde2
commit 9afa5bf6b8
2 changed files with 111 additions and 0 deletions

View File

@ -318,6 +318,52 @@ begin
end;
end;
function MacKeyToVK(KeyCode: Word): Word; // according to mackeycodes.inc this is risky
begin
case KeyCode of
MK_QWERTY_Q: Result := VK_Q;
MK_QWERTY_W: Result := VK_W;
MK_QWERTY_E: Result := VK_E;
MK_QWERTY_R: Result := VK_R;
MK_QWERTY_T: Result := VK_T;
MK_QWERTY_Y: Result := VK_Y;
MK_QWERTY_U: Result := VK_U;
MK_QWERTY_I: Result := VK_I;
MK_QWERTY_O: Result := VK_O;
MK_QWERTY_P: Result := VK_P;
MK_QWERTY_A: Result := VK_A;
MK_QWERTY_S: Result := VK_S;
MK_QWERTY_D: Result := VK_D;
MK_QWERTY_F: Result := VK_F;
MK_QWERTY_G: Result := VK_G;
MK_QWERTY_H: Result := VK_H;
MK_QWERTY_J: Result := VK_J;
MK_QWERTY_K: Result := VK_K;
MK_QWERTY_L: Result := VK_L;
MK_QWERTY_Z: Result := VK_Z;
MK_QWERTY_X: Result := VK_X;
MK_QWERTY_C: Result := VK_C;
MK_QWERTY_V: Result := VK_V;
MK_QWERTY_B: Result := VK_B;
MK_QWERTY_N: Result := VK_N;
MK_QWERTY_M: Result := VK_M;
//MK_QWERTY_LEFTBR: Result := VK_;
//MK_QWERTY_RIGHTBR: = 30;
MK_QWERTY_BACKSLASH: Result := VK_BACK;
//MK_QWERTY_SEMICOLON: Result := VK_s
//MK_QWERTY_QUOTE: = 39;
//MK_QWERTY_ENTER: = 36;
//MK_QWERTY_COMMA: := 43;
//MK_QWERTY_PERIOD: := 47;
//MK_QWERTY_FRWSLASH: := 44;
else
Result:=VK_UNKNOWN;
end;
end;
function TLCLCommonCallback.KeyEvent(Event: NSEvent; AForceAsKeyDown: Boolean): Boolean;
var
@ -473,6 +519,8 @@ var
MK_COMMA: VKKeyCode := VK_OEM_COMMA;
MK_PERIOD: VKKeyCode := VK_OEM_PERIOD;
MK_SLASH: VKKeyCode := VK_OEM_2;
else
VKKeyCode := MacKeyToVK(KeyCode); // according to mackeycodes.inc this is risky
end;
end;

View File

@ -91,3 +91,66 @@ const
MK_PERIOD = 47; // . > key
MK_SLASH = 44; // / ? key
// ANSI US (QWERTY) Keyboard
MK_QWERTY_Q = 12;
MK_QWERTY_W = 13;
MK_QWERTY_E = 14;
MK_QWERTY_R = 15;
MK_QWERTY_T = 17;
MK_QWERTY_Y = 16;
MK_QWERTY_U = 32;
MK_QWERTY_I = 34;
MK_QWERTY_O = 31;
MK_QWERTY_P = 35;
MK_QWERTY_LEFTBR = 33;
MK_QWERTY_RIGHTBR = 30;
MK_QWERTY_BACKSLASH = 42;
MK_QWERTY_A = 0;
MK_QWERTY_S = 1;
MK_QWERTY_D = 2;
MK_QWERTY_F = 3;
MK_QWERTY_G = 5;
MK_QWERTY_H = 4;
MK_QWERTY_J = 38;
MK_QWERTY_K = 40;
MK_QWERTY_L = 37;
MK_QWERTY_SEMICOLON = 41;
MK_QWERTY_QUOTE = 39;
MK_QWERTY_ENTER = 36;
MK_QWERTY_Z = 6;
MK_QWERTY_X = 7;
MK_QWERTY_C = 8;
MK_QWERTY_V = 9;
MK_QWERTY_B = 11;
MK_QWERTY_N = 45;
MK_QWERTY_M = 46;
MK_QWERTY_COMMA = 43;
MK_QWERTY_PERIOD = 47;
MK_QWERTY_FRWSLASH = 44;
MK_QWERTY_TILDE = 50;
MK_QWERTY_1 = 18;
MK_QWERTY_2 = 19;
MK_QWERTY_3 = 20;
MK_QWERTY_4 = 21;
MK_QWERTY_5 = 23;
MK_QWERTY_6 = 22;
MK_QWERTY_7 = 26;
MK_QWERTY_8 = 28;
MK_QWERTY_9 = 25;
MK_QWERTY_0 = 29;
MK_QWERTY_MINUS = 27;
MK_QWERTY_EQUAL = 24;
MK_QWERTY_BACKSP = 51;
MK_QWERTY_NUMSLASH = 75;
MK_QWERTY_NUMSTAR = 67;
MK_QWERTY_NUMMINUS = 78;
MK_QWERTY_NUMPLUS = 69;
MK_QWERTY_NUMENTER = 76;
MK_QWERTY_CONTEXTMENU = 110;