Gnome input devices manager
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
ginput/README.md

56 lines
1.6 KiB

# ginput : Gnome input devices configuration tool
Manage the settings of your keyboard, mouse, ... with a simple GUI.
This is for the internal settings of your devices, not for the OS settings.
For example, you can change the mouse DPI, polling rate, rgb, ...
## Driver interface
Drivers **must** expose the following symbols:
```c
void driver_init(); // Initialization
uint32_t driver_getkey(); // Calls to this function must return USB keys that this driver registers, until 0
device_type_t driver_get_capacity(); // Returns device capacity (see below)
char* driver_get_name(void* handle); // Returns peripheral name
char* driver_get_image(void* handle); // Returns peripheral image
char* driver_get_manufacturer(void* handle); // Returns manufacturer name
/*
* Mouse drivers
*
* - DPI Levels: max levels, level info (dpi + led), level count, current level
* - Debounce time : possible values, current value
* - Motion sync
* - Lift off distance : possible values, current value
* - Angle snap
* - Polling rate : possible values, current value
* - LED (color/effect/status)
*/
struct MOUSE_DPI_LEVELS
{
unsigned int max_level_count;
unsigned int level_count;
unsigned int level_current;
bool led_available;
bool xy_available;
struct MOUSE_DPI_LEVEL
{
unsigned int dpi_x;
unsigned int dpi_y;
unsigned char r;
unsigned char g;
unsigned char b;
} level[];
};
struct MOUSE_DPI_LEVELS driver_mouse_dpi_get(void* handle);
/*
* Wireless driver
* - Battery (state + amount)
* - Connection type (usb 2.4/bluetooth/wired)
*/
```