o
    tVÆg„  ã                   @   sD   d dl Z e  ¡  G dd„ dƒZdd„ Zedkr eƒ  e  ¡  dS dS )é    Nc                   @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )Ú	TextPrintc                 C   s   |   ¡  tj d d¡| _d S )Né   )ÚresetÚpygameÚfontÚFont©Úself© r
   úL/home/ubuntu/.local/lib/python3.10/site-packages/pygame/examples/joystick.pyÚ__init__
   s   zTextPrint.__init__c                 C   s8   | j  |dd¡}| || j| jf¡ |  j| j7  _d S )NT)r   r   r   )r   ÚrenderÚblitÚxÚyÚline_height)r	   ÚscreenÚtextÚtext_bitmapr
   r
   r   Útprint   s   zTextPrint.tprintc                 C   s   d| _ d| _d| _d S )Né
   é   )r   r   r   r   r
   r
   r   r      s   
zTextPrint.resetc                 C   s   |  j d7  _ d S ©Nr   ©r   r   r
   r
   r   Úindent   ó   zTextPrint.indentc                 C   s   |  j d8  _ d S r   r   r   r
   r
   r   Úunindent   r   zTextPrint.unindentN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r
   r
   r
   r   r   	   s    r   c               
   C   s  t j d¡} t j d¡ t j ¡ }tƒ }i }d}|st j ¡ D ]g}|j	t j
kr*d}|j	t jkrMtdƒ |jdkrM||j }| ddd¡rMtd	|j› ƒ |j	t jkrWtd
ƒ |j	t jkrtt j |j¡}||| ¡ < td| ¡ › dƒ |j	t jkr‡||j= td|j› dƒ q |  d¡ | ¡  t j ¡ }| | d|› ¡ | ¡  | ¡ D ]Ë}| ¡ }	| | d|	› ¡ | ¡  | ¡ }
| | d|
› ¡ | ¡ }| | d|› ¡ | ¡ }| | d|› ¡ |  ¡ }| | d|› ¡ | ¡  t!|ƒD ]}| "|¡}| | d|› d|d›¡ qö| #¡  | $¡ }| | d|› ¡ | ¡  t!|ƒD ]}| %|¡}| | d|d›d|› ¡ q$| #¡  | &¡ }| | d|› ¡ | ¡  t!|ƒD ]}| '|¡}| | d|› dt(|ƒ› ¡ qS| #¡  | #¡  q§t j )¡  | *d¡ |rd S d S )N)éô  i¼  zJoystick exampleFTzJoystick button pressed.r   gffffffæ?r    z!Rumble effect played on joystick zJoystick button released.z	Joystick z connenctedz disconnected)éÿ   r!   r!   zNumber of joysticks: zJoystick name: zGUID: zJoystick's power level: zNumber of axes: zAxis z value: z>6.3fzNumber of buttons: zButton z>2zNumber of hats: zHat é   )+r   ÚdisplayÚset_modeÚset_captionÚtimeÚClockr   ÚeventÚgetÚtypeÚQUITÚJOYBUTTONDOWNÚprintÚbuttonÚinstance_idÚrumbleÚJOYBUTTONUPÚJOYDEVICEADDEDÚjoystickÚJoystickÚdevice_indexÚget_instance_idÚJOYDEVICEREMOVEDÚfillr   Ú	get_countr   r   ÚvaluesÚget_nameÚget_guidÚget_power_levelÚget_numaxesÚrangeÚget_axisr   Úget_numbuttonsÚ
get_buttonÚget_numhatsÚget_hatÚstrÚflipÚtick)r   ÚclockÚ
text_printÚ	joysticksÚdoner(   r3   ÚjoyÚjoystick_countÚjidÚnameÚguidÚpower_levelÚaxesÚiÚaxisÚbuttonsr.   ÚhatsÚhatr
   r
   r   Úmain   s„   


€




 


 rX   Ú__main__)r   Úinitr   rX   r   Úquitr
   r
   r
   r   Ú<module>   s    tü