Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/drivers/hid/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 3 kB image not shown  

Quelle  hid-roccat-koneplus.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-or-later */
#ifndef __HID_ROCCAT_KONEPLUS_H
#define __HID_ROCCAT_KONEPLUS_H

/*
 * Copyright (c) 2010 Stefan Achatz <erazor_de@users.sourceforge.net>
 */


/*
 */


#include <linux/types.h>

enum {
 KONEPLUS_SIZE_ACTUAL_PROFILE = 0x03,
 KONEPLUS_SIZE_CONTROL = 0x03,
 KONEPLUS_SIZE_FIRMWARE_WRITE = 0x0402,
 KONEPLUS_SIZE_INFO = 0x06,
 KONEPLUS_SIZE_MACRO = 0x0822,
 KONEPLUS_SIZE_PROFILE_SETTINGS = 0x2b,
 KONEPLUS_SIZE_PROFILE_BUTTONS = 0x4d,
 KONEPLUS_SIZE_SENSOR = 0x06,
 KONEPLUS_SIZE_TALK = 0x10,
 KONEPLUS_SIZE_TCU = 0x04,
 KONEPLUS_SIZE_TCU_IMAGE = 0x0404,
};

enum koneplus_control_requests {
 KONEPLUS_CONTROL_REQUEST_PROFILE_SETTINGS = 0x80,
 KONEPLUS_CONTROL_REQUEST_PROFILE_BUTTONS = 0x90,
};

struct koneplus_actual_profile {
 uint8_t command; /* KONEPLUS_COMMAND_ACTUAL_PROFILE */
 uint8_t size; /* always 3 */
 uint8_t actual_profile; /* Range 0-4! */
} __attribute__ ((__packed__));

struct koneplus_info {
 uint8_t command; /* KONEPLUS_COMMAND_INFO */
 uint8_t size; /* always 6 */
 uint8_t firmware_version;
 uint8_t unknown[3];
} __attribute__ ((__packed__));

enum koneplus_commands {
 KONEPLUS_COMMAND_ACTUAL_PROFILE = 0x5,
 KONEPLUS_COMMAND_CONTROL = 0x4,
 KONEPLUS_COMMAND_PROFILE_SETTINGS = 0x6,
 KONEPLUS_COMMAND_PROFILE_BUTTONS = 0x7,
 KONEPLUS_COMMAND_MACRO = 0x8,
 KONEPLUS_COMMAND_INFO = 0x9,
 KONEPLUS_COMMAND_TCU = 0xc,
 KONEPLUS_COMMAND_TCU_IMAGE = 0xc,
 KONEPLUS_COMMAND_E = 0xe,
 KONEPLUS_COMMAND_SENSOR = 0xf,
 KONEPLUS_COMMAND_TALK = 0x10,
 KONEPLUS_COMMAND_FIRMWARE_WRITE = 0x1b,
 KONEPLUS_COMMAND_FIRMWARE_WRITE_CONTROL = 0x1c,
};

enum koneplus_mouse_report_numbers {
 KONEPLUS_MOUSE_REPORT_NUMBER_HID = 1,
 KONEPLUS_MOUSE_REPORT_NUMBER_AUDIO = 2,
 KONEPLUS_MOUSE_REPORT_NUMBER_BUTTON = 3,
};

struct koneplus_mouse_report_button {
 uint8_t report_number; /* always KONEPLUS_MOUSE_REPORT_NUMBER_BUTTON */
 uint8_t zero1;
 uint8_t type;
 uint8_t data1;
 uint8_t data2;
 uint8_t zero2;
 uint8_t unknown[2];
} __attribute__ ((__packed__));

enum koneplus_mouse_report_button_types {
 /* data1 = new profile range 1-5 */
 KONEPLUS_MOUSE_REPORT_BUTTON_TYPE_PROFILE = 0x20,

 /* data1 = button number range 1-24; data2 = action */
 KONEPLUS_MOUSE_REPORT_BUTTON_TYPE_QUICKLAUNCH = 0x60,

 /* data1 = button number range 1-24; data2 = action */
 KONEPLUS_MOUSE_REPORT_BUTTON_TYPE_TIMER = 0x80,

 /* data1 = setting number range 1-5 */
 KONEPLUS_MOUSE_REPORT_BUTTON_TYPE_CPI = 0xb0,

 /* data1 and data2 = range 0x1-0xb */
 KONEPLUS_MOUSE_REPORT_BUTTON_TYPE_SENSITIVITY = 0xc0,

 /* data1 = 22 = next track...
 * data2 = action
 */

 KONEPLUS_MOUSE_REPORT_BUTTON_TYPE_MULTIMEDIA = 0xf0,
 KONEPLUS_MOUSE_REPORT_TALK = 0xff,
};

enum koneplus_mouse_report_button_action {
 KONEPLUS_MOUSE_REPORT_BUTTON_ACTION_PRESS = 0,
 KONEPLUS_MOUSE_REPORT_BUTTON_ACTION_RELEASE = 1,
};

struct koneplus_roccat_report {
 uint8_t type;
 uint8_t data1;
 uint8_t data2;
 uint8_t profile;
} __attribute__ ((__packed__));

struct koneplus_device {
 int actual_profile;

 int roccat_claimed;
 int chrdev_minor;

 struct mutex koneplus_lock;
};

#endif

Messung V0.5
C=88 H=100 G=94

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.