+
    Ki  c                   sZ    ^ RI t ^ RIHt ^ RIHt ^ RIHt  ! R R4      t ! R R4      tR# )	i    N)RUNTIME_DIR)system)loggerc                   s:   a  ] tR t^
t o . ROtR tR tR tRtV t	R# )ControllerMappingc                sX    Wn         W n        W0n        / V n        V P	                  4        R # N)guidnamemappingkeysparse)selfr   r   r   s   &&&&A/usr/lib/python3.14/site-packages/lutris/util/gamecontrollerdb.py__init__ZControllerMapping.__init__$   s!    			

    c                s    V P                   # r   )r   r
      &r   __str__ZControllerMapping.__str__+   s    yyr   c                s    V P                   P                  R 4      pV FW  pV'       g   K  VP                  R4      w  r4W0P                  9  d   \        P                  ! RV4       KI  W@P
                  V&   KY  	  R# ),Z:zUnrecognized key %sN)r   split
valid_keysr   Zwarningr   )r
   Zkey_mapsZkey_mapZ
xinput_keyZsdl_keys   &    r   r	   ZControllerMapping.parse.   s_    <<%%c*G")--"4J04jA$+IIj!  r   )r   r   r   r   N)ZplatformZleftxZleftyZrightxZrightyZaZbZbackZdpdownZdpleftZdprightZdpupZguideZleftshoulderZ	leftstickZlefttriggerZrightshoulderZ
rightstickZrighttriggerZstartZxZy)
__name__
__module____qualname____firstlineno__r   r   r   r	   __static_attributes____classdictcell__Z__classdict__   @r   r   r   
   s      J2	, 	,r   r   c                   sp   a  ] tR t^:t o ]P
                  P                  ]R4      tR t	R t
R tR tRtV tR# )GameControllerDBz%gamecontrollerdb/gamecontrollerdb.txtc                s    \         P                  ! V P                  4      '       g   \        R 4      h/ V n        V P                  4        R# )z4Path to gamecontrollerdb.txt not provided or invalidN)r   Zpath_existsdb_pathZOSErrorcontrollersparsedbr   r   r   r   ZGameControllerDB.__init__=   s4    !!$,,//PQQr   c                s(    R V P                   ,          # )zGameControllerDB <%s>)r   r   r   r   r   ZGameControllerDB.__str__C   s    &55r   c                s(    V P                   V,          # r   r   )r
   Zvalues   &&r   __getitem__ZGameControllerDB.__getitem__F   s    &&r   c                s   \        V P                  R RR7      ;_uu_ 4       pVP                  4        Fp  pVP                  4       pV'       d   VP	                  R4      '       d   K4  VP                  4       P                  R^4      w  r4p\        W4V4      V P                  V&   Kr  	  RRR4       R#   + '       g   i     R# ; i)Zrzutf-8)ZencodingZ#r   N)Zopenr   Z	readlinesZstripZ
startswithr   r   r   )r
   ZdbZliner   r   r   s   &     r   r   ZGameControllerDB.parsedbI   s    $,,g66"zz|ts33&*jjl&8&8a&@#G):4w)O  & ' 7666s   AB0$AB00C	r    N)r   r   r   r   osZpathZjoinr    r   r   r   r!   r   r   r   r   r   r   r   r   :   s5     ggll;(OPG6'P Pr   r   )	r"   Zlutris.settingsr    Zlutris.utilr   Zlutris.util.logr   r   r   ) r   r   <module>r#      s*    	 (  "-, -,`P Pr   