enum kone_mouse_events { /* osd events are thought to be display on screen */
kone_mouse_event_osd_dpi = 0xa0,
kone_mouse_event_osd_profile = 0xb0, /* TODO clarify meaning and occurence of kone_mouse_event_calibration */
kone_mouse_event_calibration = 0xc0,
kone_mouse_event_call_overlong_macro = 0xe0,
kone_mouse_event_multimedia = 0xe1, /* switch events notify if user changed values with mousebutton click */
kone_mouse_event_switch_dpi = 0xf0,
kone_mouse_event_switch_profile = 0xf1
};
struct kone_roccat_report {
uint8_t event;
uint8_t value; /* holds dpi or profile value */
uint8_t key; /* macro key on overlong macro execution */
} __attribute__ ((__packed__));
struct kone_device { /* * Storing actual values when we get informed about changes since there * is no way of getting this information from the device on demand
*/ int actual_profile, actual_dpi; /* Used for neutralizing abnormal button behaviour */ struct kone_mouse_event last_mouse_event;
/* * It's unlikely that multiple sysfs attributes are accessed at a time, * so only one mutex is used to secure hardware access and profiles and * settings of this struct.
*/ struct mutex kone_lock;
/* * Storing the data here reduces IO and ensures that data is available * when its needed (E.g. interrupt handler).
*/ struct kone_profile profiles[5]; struct kone_settings settings;
/* * firmware doesn't change unless firmware update is implemented, * so it's read only once
*/ int firmware_version;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.