libdragon
Functions
controller.c File Reference

Controller Subsystem. More...

Functions

void controller_init (void)
 Initialize the controller subsystem. More...
 
void controller_read (struct controller_data *output)
 Read the controller button status for all controllers. More...
 
void controller_read_gc (struct controller_data *outdata, const uint8_t rumble[4])
 Read the controller button status for all controllers, GC version. More...
 
void controller_read_gc_origin (struct controller_origin_data *outdata)
 Read the controller origin status for all controllers, GC version. More...
 
void controller_scan (void)
 Fetch the current controller state. More...
 
struct controller_data get_keys_down (void)
 Get keys that were pressed since the last inspection. More...
 
struct controller_data get_keys_up (void)
 Get keys that were released since the last inspection. More...
 
struct controller_data get_keys_held (void)
 Get keys that were held since the last inspection. More...
 
struct controller_data get_keys_pressed (void)
 Get keys that are currently pressed, regardless of previous state. More...
 
int get_dpad_direction (int controller)
 Return the DPAD calculated direction. More...
 
void execute_raw_command (int controller, int command, int bytesout, int bytesin, unsigned char *out, unsigned char *in)
 Execute a raw PIF command. More...
 
int get_controllers_present (void)
 Return a bitmask representing which controllers are present. More...
 
int get_accessories_present (struct controller_data *out)
 Return a bitmask specifying which controllers have recognized accessories. More...
 
int read_mempak_address (int controller, uint16_t address, uint8_t *data)
 Read a chunk of data from a mempak. More...
 
int write_mempak_address (int controller, uint16_t address, uint8_t *data)
 Write a chunk of data to a mempak. More...
 
int identify_accessory (int controller)
 Identify the accessory connected to a controller. More...
 
void rumble_start (int controller)
 Turn rumble on for a particular controller. More...
 
void rumble_stop (int controller)
 Turn rumble off for a particular controller. More...
 

Detailed Description

Controller Subsystem.