gpt4 book ai didi

macos - MacOS 日志键的keycode

转载 作者:行者123 更新时间:2023-12-01 02:38:11 51 4
gpt4 key购买 nike

我需要弄清楚 Mac 的日志键的键码(ctrl、shift 等)或者需要知道如何跟踪这个日志按键事件...

基本上我正在将 mac key 代码转换为等效的 Windows key 代码......我该怎么做?

+ (unsigned int) winKeyValueForKey:(unsigned int) macKeyValue{
unsigned int mapTable[128];
mapTable[0] = 0;
mapTable[1] = 0;
mapTable[2] = 0;
mapTable[3] = 0;
mapTable[4] = 0;
mapTable[5] = 0;
mapTable[6] = 0;
mapTable[7] = 0;
mapTable[8] = 0;
mapTable[9] = 0;
mapTable[10] = 0;
mapTable[11] = 0;
mapTable[12] = 0;
mapTable[13] = 0;
mapTable[14] = 0;
mapTable[15] = 0;
mapTable[16] = 0;
mapTable[17] = 0;
mapTable[18] = 0;
mapTable[19] = 0;
mapTable[20] = 0;
mapTable[21] = 0;
mapTable[22] = 0;
mapTable[23] = 0;
mapTable[24] = 0;
mapTable[25] = 0;
mapTable[26] = 0;
mapTable[27] = 0;
mapTable[28] = 0;
mapTable[29] = 0;
mapTable[30] = 0;
mapTable[31] = 0;
mapTable[32] = 0;
mapTable[33] = 0;
mapTable[34] = 0;
mapTable[35] = 0;
mapTable[36] = 13; //SHOEB
mapTable[37] = 0;
mapTable[38] = 0;
mapTable[39] = 0;
mapTable[40] = 0;
mapTable[41] = 0;
mapTable[42] = 0;
mapTable[43] = 0;
mapTable[44] = 0;
mapTable[45] = 0;
mapTable[46] = 0;
mapTable[47] = 0;
mapTable[48] = 0;
mapTable[49] = 0;
mapTable[50] = 0;
mapTable[51] = 0;
mapTable[52] = 0;
mapTable[53] = 0;
mapTable[54] = 0;
mapTable[55] = 0;
mapTable[56] = 0;
mapTable[57] = 0;
mapTable[58] = 0;
mapTable[59] = 0;
mapTable[60] = 0;
mapTable[61] = 0;
mapTable[62] = 0;
mapTable[63] = 0;
mapTable[64] = 0;
mapTable[65] = 0;
mapTable[66] = 0;
mapTable[67] = 0;
mapTable[68] = 0;
mapTable[69] = 0;
mapTable[70] = 0;
mapTable[71] = 0;
mapTable[72] = 0;
mapTable[73] = 0;
mapTable[74] = 0;
mapTable[75] = 0;
mapTable[76] = 0;
mapTable[77] = 0;
mapTable[78] = 0;
mapTable[79] = 0;
mapTable[80] = 0;
mapTable[81] = 0;
mapTable[82] = 0;
mapTable[83] = 0;
mapTable[84] = 0;
mapTable[85] = 0;
mapTable[86] = 0;
mapTable[87] = 0;
mapTable[88] = 0;
mapTable[89] = 0;
mapTable[90] = 0;
mapTable[91] = 0;
mapTable[92] = 0;
mapTable[93] = 0;
mapTable[94] = 0;
mapTable[95] = 0;
mapTable[96] = 0;
mapTable[97] = 0;
mapTable[98] = 0;
mapTable[99] = 0;
mapTable[100] = 0;
mapTable[101] = 0;
mapTable[102] = 0;
mapTable[103] = 0;
mapTable[104] = 0;
mapTable[105] = 0;
mapTable[106] = 0;
mapTable[107] = 0;
mapTable[108] = 0;
mapTable[109] = 0;
mapTable[110] = 0;
mapTable[111] = 0;
mapTable[112] = 0;
mapTable[113] = 0;
mapTable[114] = 0;
mapTable[115] = 0;
mapTable[116] = 0;
mapTable[117] = 0;
mapTable[118] = 0;
mapTable[119] = 0;
mapTable[120] = 0;
mapTable[121] = 0;
mapTable[122] = 0;
mapTable[123] = 37;
mapTable[124] = 39;
mapTable[125] = 40;
mapTable[126] = 38;
mapTable[127] = 0;
return mapTable[macKeyValue];

}

谢谢

最佳答案

OS X 上的 Control、Shift、Command 和 Option 键不会生成 NSKeyDown/kCGEventKeyDown事件。相反,您可以收到 NSFlagsChanged/kCGEventFlagsChanged事件。

也就是说,“通常”如果用户输入 选项-T 您正在扫描 keyDown事件,您只会看到“T”事件,其中包括选项键正在“修改”它的事实。

如果您想获得flagsChanged事件,您可以通过事件点击或在 NSResponder 中接收该事件。某处。 flagsChanged事件告诉您新的修饰符集合(shift/command/etc)。在这种情况下,存储先前修饰符的本地副本会很有帮助,这样您就可以查看哪个特定键下降或上升。

关于macos - MacOS 日志键的keycode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9255333/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com