1.1 --- a/src/drivers/joy_linux.c Thu Feb 14 14:08:32 2008 +0000
1.2 +++ b/src/drivers/joy_linux.c Sun Jun 01 00:47:45 2008 +0000
1.14 #include "lxdream.h"
1.15 #include "display.h"
1.16 +#include "maple/maple.h"
1.17 +#include "drivers/joy_linux.h"
1.19 #define INPUT_PATH "/dev/input"
1.23 static gboolean linux_joystick_callback( GIOChannel *source, GIOCondition condition,
1.25 -static linux_joystick_t linux_joystick_add( const gchar *filename, int fd );
1.26 +static int linux_joystick_scan();
1.27 +static linux_joystick_t linux_joystick_new( const gchar *filename, int fd );
1.28 static uint16_t linux_joystick_resolve_keysym( input_driver_t dev, const gchar *str );
1.29 static gchar *linux_joystick_keysym_for_keycode( input_driver_t dev, uint16_t keycode );
1.30 static void linux_joystick_destroy( input_driver_t joy );
1.42 * descriptor. The joystick is automatically added to the watch list.
1.43 * @return The new joystick, or NULL if an error occurred.
1.45 -linux_joystick_t linux_joystick_new( const gchar *filename, int fd )
1.46 +static linux_joystick_t linux_joystick_new( const gchar *filename, int fd )
1.48 linux_joystick_t joy = g_malloc0(sizeof(struct linux_joystick));
1.49 joy->filename = filename;
1.50 @@ -196,13 +201,7 @@
1.54 -int linux_joystick_init()
1.56 - linux_joystick_install_watch(INPUT_PATH);
1.57 - linux_joystick_scan();
1.60 -int linux_joystick_scan()
1.61 +static int linux_joystick_scan()
1.65 @@ -233,6 +232,15 @@
1.69 +gboolean linux_joystick_init()
1.71 + if( !linux_joystick_install_watch(INPUT_PATH) ) {
1.74 + linux_joystick_scan();
1.78 void linux_joystick_shutdown(void)
1.80 linux_joystick_uninstall_watch();
1.84 g_timeout_add( 500, gtk_loop_check_input, NULL );
1.88 static void linux_joystick_uninstall_watch(void)