Sep-22-2018, 05:02 PM
Exact code with commenting can be found here, or here.
With the help of the online PyGame documentation, I was able to produce a screen displaying values for individual Joysticks. Sadly, I'm unsure on how I could translate these values to an event that produces something like, "this button is pressed, now do this".
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
while done = = False : for event in pygame.event.get(): if event. type = = pygame.QUIT: done = True if event. type = = pygame.JOYBUTTONDOWN: print ( "Joystick button pressed." ) if event. type = = pygame.JOYBUTTONUP: print ( "Joystick button released." ) screen.fill(darkgrey) textPrint.reset() joystick_count = pygame.joystick.get_count() textPrint. print (screen, "Number of joysticks: {}" . format (joystick_count) ) textPrint.indent() for i in range (joystick_count): joystick = pygame.joystick.Joystick(i) joystick.init() textPrint. print (screen, "Joystick {}" . format (i) ) textPrint.indent() name = joystick.get_name() textPrint. print (screen, "Joystick name: {}" . format (name) ) axes = joystick.get_numaxes() textPrint. print (screen, "Number of axes: {}" . format (axes) ) textPrint.indent() for i in range ( axes ): axis = joystick.get_axis( i ) textPrint. print (screen, "Axis {} value: {:>6.0f}" . format (i, axis) ) textPrint.unindent() buttons = joystick.get_numbuttons() textPrint. print (screen, "Number of buttons: {}" . format (buttons) ) textPrint.indent() for i in range ( buttons ): button = joystick.get_button( i ) textPrint. print (screen, "Button {:>2} value: {}" . format (i,button) ) textPrint.unindent() hats = joystick.get_numhats() textPrint. print (screen, "Number of hats: {}" . format (hats) ) textPrint.indent() for i in range ( hats ): hat = joystick.get_hat( i ) textPrint. print (screen, "Hat {} value: {}" . format (i, str (hat)) ) textPrint.unindent() pygame.display.flip() clock.tick( 20 ) |