gpt4 book ai didi

macos - 使用 GetKeys 函数获取键盘状态

转载 作者:行者123 更新时间:2023-12-03 17:31:56 24 4
gpt4 key购买 nike

有谁知道如何通过 GetKeys 函数获取任何按键状态(按下或未按下)?换句话说如何处理这个函数:

bool result = isPressed(kVK_LeftArrow);

谢谢。

最佳答案

KeyMap 类型是一个整数数组,但其实际布局是一系列位,每个键代码一个。特定按键的位数比虚拟按键代码小

由于位移位对于非常大的值来说是不合法的(例如,您不能只要求编译器位移 74 位),因此 KeyMap 类型被分为 4 部分。您需要获取虚拟键码的位数并整数除以 32,以找到该位的正确整数;然后取余数来确定应该设置哪一位。

所以,试试这个:

uint16_t vKey = kVK_LeftArrow;
uint8_t index = (vKey - 1) / 32;
uint8_t shift = ((vKey - 1) % 32);
KeyMap keyStates;
GetKeys(keyStates);
if (keyStates[index] & (1 << shift))
{
// left arrow key is down
}

关于macos - 使用 GetKeys 函数获取键盘状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11466294/

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