Add a bunch of buttons used by the Etekcity mice

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
This commit is contained in:
Benjamin Tissoires
2015-08-19 10:51:55 -04:00
parent ab959c7761
commit f7ecf67cd3
2 changed files with 74 additions and 4 deletions

View File

@@ -454,16 +454,52 @@ ratbag_get_button_by_index(struct ratbag_device *ratbag, unsigned int index);
enum ratbag_button_type {
RATBAG_BUTTON_TYPE_UNKNOWN = 0,
/* mouse buttons */
RATBAG_BUTTON_TYPE_LEFT,
RATBAG_BUTTON_TYPE_MIDDLE,
RATBAG_BUTTON_TYPE_RIGHT,
RATBAG_BUTTON_TYPE_THUMB,
RATBAG_BUTTON_TYPE_THUMB2,
RATBAG_BUTTON_TYPE_RESOLUTION_UP,
RATBAG_BUTTON_TYPE_RESOLUTION_DOWN,
RATBAG_BUTTON_TYPE_WHEEL_LEFT,
RATBAG_BUTTON_TYPE_WHEEL_RIGHT,
RATBAG_BUTTON_TYPE_WHEEL_CLICK, /* FIXME: same as middle click? */
RATBAG_BUTTON_TYPE_WHEEL_UP,
RATBAG_BUTTON_TYPE_WHEEL_DOWN,
RATBAG_BUTTON_TYPE_EXTRA,
RATBAG_BUTTON_TYPE_SIDE,
/* DPI switch */
RATBAG_BUTTON_TYPE_RESOLUTION_CYCLE_UP,
RATBAG_BUTTON_TYPE_RESOLUTION_UP,
RATBAG_BUTTON_TYPE_RESOLUTION_DOWN,
/* Profile */
RATBAG_BUTTON_TYPE_PROFILE_CYCLE_UP,
RATBAG_BUTTON_TYPE_PROFILE_UP,
RATBAG_BUTTON_TYPE_PROFILE_DOWN,
/* multimedia */
RATBAG_BUTTON_TYPE_KEY_CONFIG,
RATBAG_BUTTON_TYPE_KEY_PREVIOUSSONG,
RATBAG_BUTTON_TYPE_KEY_NEXTSONG,
RATBAG_BUTTON_TYPE_KEY_PLAYPAUSE,
RATBAG_BUTTON_TYPE_KEY_STOPCD,
RATBAG_BUTTON_TYPE_KEY_MUTE,
RATBAG_BUTTON_TYPE_KEY_VOLUMEUP,
RATBAG_BUTTON_TYPE_KEY_VOLUMEDOWN,
/* desktop */
RATBAG_BUTTON_TYPE_KEY_CALC,
RATBAG_BUTTON_TYPE_KEY_MAIL,
RATBAG_BUTTON_TYPE_KEY_BOOKMARKS,
RATBAG_BUTTON_TYPE_KEY_FORWARD,
RATBAG_BUTTON_TYPE_KEY_BACK,
RATBAG_BUTTON_TYPE_KEY_STOP,
RATBAG_BUTTON_TYPE_KEY_FILE,
RATBAG_BUTTON_TYPE_KEY_REFRESH,
RATBAG_BUTTON_TYPE_KEY_HOMEPAGE,
RATBAG_BUTTON_TYPE_KEY_SEARCH,
};
/**

View File

@@ -108,11 +108,45 @@ button_type_to_str(enum ratbag_button_type type)
case RATBAG_BUTTON_TYPE_RIGHT: str = "right"; break;
case RATBAG_BUTTON_TYPE_THUMB: str = "thumb"; break;
case RATBAG_BUTTON_TYPE_THUMB2: str = "thumb2"; break;
case RATBAG_BUTTON_TYPE_RESOLUTION_UP: str = "resolution up"; break;
case RATBAG_BUTTON_TYPE_RESOLUTION_DOWN:str = "resolution down"; break;
case RATBAG_BUTTON_TYPE_WHEEL_LEFT: str = "wheel left"; break;
case RATBAG_BUTTON_TYPE_WHEEL_RIGHT: str = "wheel right"; break;
case RATBAG_BUTTON_TYPE_WHEEL_CLICK: str = "wheel click"; break;
case RATBAG_BUTTON_TYPE_WHEEL_UP: str = "wheel up"; break;
case RATBAG_BUTTON_TYPE_WHEEL_DOWN: str = "wheel down"; break;
case RATBAG_BUTTON_TYPE_EXTRA: str = "extra (forward)"; break;
case RATBAG_BUTTON_TYPE_SIDE: str = "side (backward)"; break;
/* DPI switch */
case RATBAG_BUTTON_TYPE_RESOLUTION_CYCLE_UP: str = "resolution cycle up"; break;
case RATBAG_BUTTON_TYPE_RESOLUTION_UP: str = "resolution up"; break;
case RATBAG_BUTTON_TYPE_RESOLUTION_DOWN: str = "resolution down"; break;
/* Profile */
case RATBAG_BUTTON_TYPE_PROFILE_CYCLE_UP: str = "profile cycle up"; break;
case RATBAG_BUTTON_TYPE_PROFILE_UP: str = "profile up"; break;
case RATBAG_BUTTON_TYPE_PROFILE_DOWN: str = "profile down"; break;
/* multimedia */
case RATBAG_BUTTON_TYPE_KEY_CONFIG: str = "key config"; break;
case RATBAG_BUTTON_TYPE_KEY_PREVIOUSSONG: str = "key previous song"; break;
case RATBAG_BUTTON_TYPE_KEY_NEXTSONG: str = "key next song"; break;
case RATBAG_BUTTON_TYPE_KEY_PLAYPAUSE: str = "key play/pause"; break;
case RATBAG_BUTTON_TYPE_KEY_STOPCD: str = "key stop"; break;
case RATBAG_BUTTON_TYPE_KEY_MUTE: str = "key mute"; break;
case RATBAG_BUTTON_TYPE_KEY_VOLUMEUP: str = "key volume up"; break;
case RATBAG_BUTTON_TYPE_KEY_VOLUMEDOWN: str = "key volume down"; break;
/* desktop */
case RATBAG_BUTTON_TYPE_KEY_CALC: str = "key calc"; break;
case RATBAG_BUTTON_TYPE_KEY_MAIL: str = "key mail"; break;
case RATBAG_BUTTON_TYPE_KEY_BOOKMARKS: str = "key bookmarks"; break;
case RATBAG_BUTTON_TYPE_KEY_FORWARD: str = "key forward"; break;
case RATBAG_BUTTON_TYPE_KEY_BACK: str = "key back"; break;
case RATBAG_BUTTON_TYPE_KEY_STOP: str = "key stop"; break;
case RATBAG_BUTTON_TYPE_KEY_FILE: str = "key file"; break;
case RATBAG_BUTTON_TYPE_KEY_REFRESH: str = "key refresh"; break;
case RATBAG_BUTTON_TYPE_KEY_HOMEPAGE: str = "key homepage"; break;
case RATBAG_BUTTON_TYPE_KEY_SEARCH: str = "key search"; break;
}
return str;