Saya punya pengontrol XBox360 yang ingin saya gunakan sebagai input untuk suatu aplikasi.
Apa yang tidak bisa saya lakukan adalah cara praktik terbaik untuk mengekspos ini melalui antarmuka.
Di belakang layar, kelas yang menangani pengontrol bergantung pada status tombol polling.
Saya awalnya mencoba sesuatu tautan:
Event ButtonPressed() as ButtonEnum
mana ButtonEnum
itu ButtonRed
, ButtonStart
, dll ...
Ini sedikit terbatas karena hanya mendukung penekanan tombol, tidak menahan / pola (tekan dua kali, dll.)
Gagasan berikutnya adalah dengan hanya mengekspos keadaan tombol ke aplikasi misalnya
Property RedPressed as Boolean
Property StartPressed as Boolean
Property Thumb1XAxis as Double
Ini sangat fleksibel tetapi benar-benar memaksa terlalu banyak pekerjaan ke dalam aplikasi dan membutuhkan aplikasi untuk polling - Saya lebih suka event driven jika memungkinkan.
Saya mempertimbangkan untuk menambahkan beberapa acara, misalnya:
Event ButtonPressed(Button as ButtonEnum)
Event ButtonPressedTwice(Button as ButtonEnum)
Event ButtonHeldStart(Button as ButtonEnum)
Event ButtonHeldEnd(Button as ButtonEnum)
tapi ini agak kikuk dan terasa sangat menyakitkan di layar "Bind button".
Dapatkah seseorang tolong tunjukkan saya di "benar" cara untuk menangani input dari pengontrol.
NB: Saya menggunakan SlimDX di dalam kelas yang mengimplementasikan antarmuka. Ini memungkinkan saya untuk membaca status dengan sangat mudah. Setiap alternatif yang akan menyelesaikan masalah saya juga dihargai