Yani, bir saat kadar farklı kütüphaneleri denemek ve denemek, ve görünüşe göre OIS (ve SDL ) sadece kontrolörü bir joystick olarak tanıyor ve bana ihtiyacım olan her şeyi sağlıyor.
Yukarıdaki bağlantıdan OIS yüklerseniz ve 'ConsoleTest' projesini yapar / çalıştırırsanız, hata ayıklama penceresinde denetleyiciden çıktıyı görebilirsiniz.
Ayrıca, SDL tarafından üretilen eksenler / düğme numaraları ile eşleştiğim numaralar (şimdi kullanmayacağım karar verdim OIS değil, numaralandırmalar da aynı olabilir). Tetik düğmelerinin bir eksen olarak sınıflandırılmadığına dikkat edin, ki bunların olması gerektiğinden eminim (bellekten 0-255):
//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
};