Mendukung Python 3 saja, karena tipuan dan beberapa hal Python 3 keren lainnya.
* 3.4+ Sebenarnya, 3.10 keluar, secara harfiah tidak ada alasan untuk menggunakan versi lama-
Karena saya perlu menggunakan benda ini dalam proyek saya dengan beberapa UI dan .. hal -hal, saya telah merancangnya dengan dukungan multithreading (sebenarnya, ini adalah satu -satunya pilihan lol) jadi tidak perlu khawatir untuk ini, cukup impor gamepad yang diperlukan, Fire listen Metode dan Anda siap melakukannya.
Inilah contohnya:
# main.py
from time import sleep
from pygamepad . gamepads import Gamepad
def main ():
gamepad = Gamepad ()
gamepad . listen () # And that's it
# Now you can read gamepad values in the main thread
try :
while True :
print ( "START button value:" , gamepad . buttons . BTN_START . value )
sleep ( 0.01 )
except ( KeyboardInterrupt , SystemExit ):
# Kill gamepad's listening thread
gamepad . stop_listening ()
# And exit from the program
exit ()
if __name__ == "__main__" :
main ()Lebih banyak contoh dapat ditemukan di folder contoh
Oke, bagaimana saya tahu tanpa membuka seluruh skrip modul, tombol gamepad mana yang dapat saya gunakan?
Karena Modul menggunakan TypeHinting secara harfiah di mana pun Anda hanya dapat menulis gamepad.buttons Buttons dan AutoComplete akan menunjukkan kepada Anda semua tombol yang ada. Atau Anda dapat membuka kelas GamePad dan melihat semua tombol di subkelas Buttons .
Gamepad apa yang didukungnya? Bek X7 dan Xbox 360 pasti. Nah, saya hanya memiliki bek x7 gamepad jadi saya mengujinya dalam mode input x jadi tidak ada kemampuan giroskop dan sentuhan, tetapi Anda dapat menyumbangkan perubahan Anda :)
Karena orang dapat menggunakan seperti jenis gamepad (terutama Cina), ini mungkin tidak berhasil di luar kotak atau beberapa tombol dapat ditukar dan dll., Dalam hal ini Anda dapat mewarisi dari kelas gamepad default ( pygamepad.gamepads.default.Gamepad ) dan mengubah beberapa hal untuk kasus Anda. Saya harus melakukannya untuk bek X7 GamePad saya karena tombol mulai dan pilih ditukar karena beberapa alasan (menggunakan modul inputs di bawah kap dan untuk beberapa alasan 0x13a dan tombol 0x13b ditukar atau idk), jadi saya berganti untuk memilih dan memilih untuk mulai menggunakan kancing ButtonOverrides khusus di mana Anda bisa .. baik -baik saja .. Anda telah menangkisnya, override override untuk mulai menggunakan kancing kancing bollyoverrides di mana Anda bisa .. baik -baik saja .. Anda telah menempelkannya, override overrida
# pygamepad/gamepads/defenderx7.py
from .. buttons import PressButton
from . default import Gamepad as DefaultGamepad
class Gamepad ( DefaultGamepad ):
class ButtonOverrides :
BTN_START = PressButton ( "BTN_SELECT" )
BTN_SELECT = PressButton ( "BTN_START" )