如何从 Mac 上的 Xbox One 控制器读取蓝牙输入流

问题描述 投票:0回答:1

我正在尝试查看我的 Xbox One 控制器发送给我的 MacBook 的输入流以创建一些自定义快捷方式,但我在网上找不到任何明确的说明,或者这些说明对我来说技术性太强。我愿意学习,但我不知道具体要学习什么,或者我需要什么资源。我熟悉c/c++、js和一些shell,并且我有Xcode和atom。非常感谢,对格式表示抱歉。该移动应用程序对格式不是超级友好。

macos bluetooth xbox-one
1个回答
0
投票

你想使用GCController/GCXBoxGamepad

示例代码:

// objective-c:
#import <GameController/GCController.h>
#import <GameController/GCExtendedGamepad.h>
#import <GameController/GCXboxGamepad.h>
#import <GameController/GCControllerButtonInput.h>
#import <GameController/GCControllerDirectionPad.h>
#import <GameController/GCControllerAxisInput.h>

// put in a function somewhere.
// GCController is a very convenient global you get by
// including GCController.h
int n = (int)GCController.controllers.count;
  
if( n ) {
  GCController *controller = GCController.controllers[ 0 ];
    
  if( [controller.extendedGamepad isKindOfClass:[GCXboxGamepad class]] ) {
    //info( "It's an xbox controller" );
    GCXboxGamepad *xboxController = (GCXboxGamepad*)controller.extendedGamepad;
      
    if( xboxController.buttonA.pressed ) {
      info( "you pushed A!" );
    }
    if( xboxController.buttonB.pressed ) {
      info( "you pushed B!" );
    }

    if( float x = xboxController.leftThumbstick.xAxis.value ) {
      info( "xAxis %f", x );
    }
      
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.