Vì vậy, mất khoảng một giờ để chơi và thử các thư viện khác nhau, và có vẻ như OIS (và SDL ) chỉ nhận ra bộ điều khiển là một phím điều khiển và cung cấp cho tôi mọi thứ tôi cần.
Nếu bạn cài đặt OIS từ liên kết ở trên và thực hiện / chạy dự án 'ConsoleTest', bạn có thể thấy đầu ra từ bộ điều khiển trong cửa sổ gỡ lỗi.
Ngoài ra, đây là enum tôi đã sử dụng khớp với số trục / số nút do SDL tạo ra (lưu ý không phải OIS, mà bây giờ tôi đã quyết định không sử dụng, số cũng có thể giống nhau). Lưu ý rằng các nút kích hoạt không được phân loại là một trục, mà tôi khá chắc chắn rằng chúng phải là (0-255 từ bộ nhớ):
//Values SDL attributes to individual PS3 axes
enum EPS3RawAxesIndex
{
EPS3RawAxesIndex_LeftX = 0,
EPS3RawAxesIndex_LeftY = 1,
EPS3RawAxesIndex_RightX = 2,
EPS3RawAxesIndex_RightY = 3
};
//Values SDL attributes to individual PS3 controller buttons
enum EPS3RawButtonIndex
{
EPS3RawButtonIndex_Select = 0,
EPS3RawButtonIndex_JoyClickLeft = 1,
EPS3RawButtonIndex_JoyClickRight = 2,
EPS3RawButtonIndex_Start = 3,
EPS3RawButtonIndex_DpadUp = 4,
EPS3RawButtonIndex_DpadRight = 5,
EPS3RawButtonIndex_DpadDown = 6,
EPS3RawButtonIndex_DpadLeft = 7,
EPS3RawButtonIndex_TriggerLeft = 8,
EPS3RawButtonIndex_TriggerRight = 9,
EPS3RawButtonIndex_ShoulderLeft = 10,
EPS3RawButtonIndex_ShoulderRight = 11,
EPS3RawButtonIndex_Triangle = 12,
EPS3RawButtonIndex_Circle = 13,
EPS3RawButtonIndex_Cross = 14,
EPS3RawButtonIndex_Square = 15,
EPS3RawButtonIndex_PSButton = 16
};