@@ -531,6 +531,29 @@ joy_get_hat(PyObject *self, PyObject *args)
531531 return pg_tuple_couple_from_values_int (px , py );
532532}
533533
534+ static PyObject *
535+ joy_set_led (PyObject * self , PyObject * arg )
536+ {
537+ SDL_Joystick * joy = pgJoystick_AsSDL (self );
538+
539+ JOYSTICK_INIT_CHECK ();
540+ if (!joy ) {
541+ return RAISE (pgExc_SDLError , "Joystick not initialized" );
542+ }
543+
544+ Uint8 colors [4 ] = {0 , 0 , 0 , 0 };
545+
546+ if (!pg_RGBAFromObj (arg , colors )) {
547+ return RAISE (PyExc_TypeError ,
548+ "set_led must be passed in a Color-compatible argument" );
549+ }
550+
551+ if (SDL_JoystickSetLED (joy , colors [0 ], colors [1 ], colors [2 ]) < 0 ) {
552+ Py_RETURN_FALSE ;
553+ }
554+ Py_RETURN_TRUE ;
555+ }
556+
534557static PyMethodDef joy_methods [] = {
535558 {"init" , joy_init , METH_NOARGS , DOC_JOYSTICK_JOYSTICK_INIT },
536559 {"quit" , joy_quit , METH_NOARGS , DOC_JOYSTICK_JOYSTICK_QUIT },
@@ -560,6 +583,7 @@ static PyMethodDef joy_methods[] = {
560583 {"get_numhats" , joy_get_numhats , METH_NOARGS ,
561584 DOC_JOYSTICK_JOYSTICK_GETNUMHATS },
562585 {"get_hat" , joy_get_hat , METH_VARARGS , DOC_JOYSTICK_JOYSTICK_GETHAT },
586+ {"set_led" , joy_set_led , METH_O , DOC_JOYSTICK_JOYSTICK_SETLED },
563587
564588 {NULL , NULL , 0 , NULL }};
565589
0 commit comments