Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
macOS游戏在Catalina之后的原始鼠标和键盘输入?_Macos_Cocoa_Input_Game Engine - Fatal编程技术网

macOS游戏在Catalina之后的原始鼠标和键盘输入?

macOS游戏在Catalina之后的原始鼠标和键盘输入?,macos,cocoa,input,game-engine,Macos,Cocoa,Input,Game Engine,我有一种感觉,我知道这个问题的答案,但在任何地方都很难证实。是否可以在Catalina之后获得原始键盘和鼠标输入,而无需在安全和隐私首选项中进行“输入监控”访问 我以前从未在macOS上编程过游戏引擎,但据我所知,游戏获取原始鼠标增量和原始键盘状态的“常用”方法是使用IOKit的HIDAPI。在此之前,这显然也是从Xbox和Playstation游戏板获取输入的唯一途径 当我尝试使用IOKit HID API获取鼠标和键盘输入时,会收到一条提示,允许在安全和隐私首选项中进行输入监控。在互联网的

我有一种感觉,我知道这个问题的答案,但在任何地方都很难证实。是否可以在Catalina之后获得原始键盘和鼠标输入,而无需在安全和隐私首选项中进行“输入监控”访问

我以前从未在macOS上编程过游戏引擎,但据我所知,游戏获取原始鼠标增量和原始键盘状态的“常用”方法是使用IOKit的HIDAPI。在此之前,这显然也是从Xbox和Playstation游戏板获取输入的唯一途径

当我尝试使用IOKit HID API获取鼠标和键盘输入时,会收到一条提示,允许在安全和隐私首选项中进行输入监控。在互联网的其他地方,我了解到这是由于macOS Catalina的一个变化:要使用IOKit HID输入处理,您现在需要输入监视权限。就我而言,要求用户开启这个功能对我的游戏来说是一个破坏者


我对这种情况的理解正确吗?如果是的话,在没有输入监控权限的情况下,是否不可能获得原始(未经处理的)键盘和鼠标输入?我的意思是,我可以用事件之类的东西拼凑出一个FPS风格的鼠标输入解决方案,但是这样的解决方案不允许亚像素精度,并且会让我的游戏受到macOS光标加速的影响。还有其他游戏/游戏引擎使用的解决方案吗?

如果你愿意接受macOS 11的要求,苹果似乎在游戏控制器框架中添加了原始键盘和鼠标支持。似乎甚至支持大写锁定


我决定继续常规的可可键盘事件,尽管这让我无法检测一些事情(比如释放Caps Lock键)。我仍然有点难以相信苹果不会有一个“首选”的方式来获得适合3D电脑游戏的原始鼠标三角洲。老兄,谢谢。这似乎是我一直在寻找的“正确”答案(至少,根据苹果公司的说法)。不过,macOS 11的要求太差劲了。我想我将不得不勉强更新,然后试试这个。