HID: roccat: added sensor sysfs attribute for Savu

The sensor attr can be used to tweak the optical sensor of the Savu.

Signed-off-by: Stefan Achatz <erazor_de@users.sourceforge.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
Stefan Achatz 2012-07-04 18:45:03 +02:00 committed by Jiri Kosina
parent 7392d73be2
commit 11a5c818ae
3 changed files with 13 additions and 0 deletions

View file

@ -66,3 +66,12 @@ Description: The mouse can store 5 profiles which can be switched by the
The data has to be 3 bytes long. The data has to be 3 bytes long.
The mouse will reject invalid data. The mouse will reject invalid data.
Users: http://roccat.sourceforge.net Users: http://roccat.sourceforge.net
What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/savu/roccatsavu<minor>/sensor
Date: July 2012
Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
Description: The mouse has a Avago ADNS-3090 sensor.
This file allows reading and writing of the mouse sensors registers.
The data has to be 4 bytes long.
Users: http://roccat.sourceforge.net

View file

@ -121,6 +121,7 @@ SAVU_SYSFS_RW(general, GENERAL)
SAVU_SYSFS_RW(buttons, BUTTONS) SAVU_SYSFS_RW(buttons, BUTTONS)
SAVU_SYSFS_RW(macro, MACRO) SAVU_SYSFS_RW(macro, MACRO)
SAVU_SYSFS_R(info, INFO) SAVU_SYSFS_R(info, INFO)
SAVU_SYSFS_RW(sensor, SENSOR)
static struct bin_attribute savu_bin_attributes[] = { static struct bin_attribute savu_bin_attributes[] = {
SAVU_BIN_ATTRIBUTE_W(control, CONTROL), SAVU_BIN_ATTRIBUTE_W(control, CONTROL),
@ -129,6 +130,7 @@ static struct bin_attribute savu_bin_attributes[] = {
SAVU_BIN_ATTRIBUTE_RW(buttons, BUTTONS), SAVU_BIN_ATTRIBUTE_RW(buttons, BUTTONS),
SAVU_BIN_ATTRIBUTE_RW(macro, MACRO), SAVU_BIN_ATTRIBUTE_RW(macro, MACRO),
SAVU_BIN_ATTRIBUTE_R(info, INFO), SAVU_BIN_ATTRIBUTE_R(info, INFO),
SAVU_BIN_ATTRIBUTE_RW(sensor, SENSOR),
__ATTR_NULL __ATTR_NULL
}; };

View file

@ -21,6 +21,7 @@ enum {
SAVU_SIZE_BUTTONS = 0x2f, SAVU_SIZE_BUTTONS = 0x2f,
SAVU_SIZE_MACRO = 0x0823, SAVU_SIZE_MACRO = 0x0823,
SAVU_SIZE_INFO = 0x08, SAVU_SIZE_INFO = 0x08,
SAVU_SIZE_SENSOR = 0x04,
}; };
enum savu_control_requests { enum savu_control_requests {
@ -35,6 +36,7 @@ enum savu_commands {
SAVU_COMMAND_BUTTONS = 0x7, SAVU_COMMAND_BUTTONS = 0x7,
SAVU_COMMAND_MACRO = 0x8, SAVU_COMMAND_MACRO = 0x8,
SAVU_COMMAND_INFO = 0x9, SAVU_COMMAND_INFO = 0x9,
SAVU_COMMAND_SENSOR = 0xc,
}; };
struct savu_mouse_report_special { struct savu_mouse_report_special {