PureBasic
;
; ------------------------------------------------------------
;
;   PureBasic - Joystick example file
;
;    (c) Fantaisie Software
;
; ------------------------------------------------------------
;

NbJoysticks = InitJoystick() 

If NbJoysticks = 0
  MessageRequester("Ошибка", "Джойстики недоступны.", 0)
  End
EndIf

If OpenWindow(0, 100, 100, 300, 260, "PureBasic - Joystick Demo")

  MessageRequester("Инфо", "Это проверит джойстик в окне.", 0)

  x = WindowWidth(0)/2
  y = WindowHeight(0)/2-20

  Repeat
  
    Repeat
      Event = WindowEvent()
      If Event = #PB_Event_CloseWindow : Quit = 1 : EndIf
    Until Event = 0

    Delay(20) ; небольшая задержка (20 миллисекунд -> 50 кадров в секунду).
  
    If ExamineJoystick(0)
      x+JoystickAxisX(0)
      y+JoystickAxisY(0)
     
      If JoystickButton(0, 1)
        MessageRequester("инфо", "Кнопка 1 была нажата", 0)
      EndIf
      
      If JoystickButton(0, 2)
        MessageRequester("инфо", "Кнопка 2 была нажата", 0)
      EndIf
    
      If StartDrawing(WindowOutput(0)) ; Установим вывод рисунка в наше окно
        FrontColor(RGB(255,0,0))       ; Используем красный цвет
        Box(x, y, 10, 10)           ; Нарисуем маленькую коробочку
        StopDrawing()               ;
      EndIf
    EndIf

  Until Quit = 1

EndIf

End