我正在尝试为我的键盘设置一个驱动程序或类似的东西。我正在根据说明编辑别人的代码,但有一件事困扰着我。
这是代码
/* to add a new device, simply create a new DEVICE() in this list */
/* Fields are: "Name",VendorID,ProductID,Capabilities */
const libg15_devices_t g15_devices[] = {
DEVICE("Logitech G510",0x46d,0xc22d, G15_LCD|G15_KEYS|G15_DEVICE_5BYTE_RETURN|G15_DEVICE_IS_SHARED),
DEVICE("Logitech G15",0x46d,0xc222,G15_LCD|G15_KEYS),
DEVICE("Logitech G11",0x46d,0xc225,G15_KEYS),
DEVICE("Logitech Z-10",0x46d,0x0a07,G15_LCD|G15_KEYS|G15_DEVICE_IS_SHARED),
DEVICE("Logitech G15 v2",0x46d,0xc227,G15_LCD|G15_KEYS|G15_DEVICE_5BYTE_RETURN),
DEVICE("Logitech Gamepanel",0x46d,0xc251,G15_LCD|G15_KEYS|G15_DEVICE_IS_SHARED),
DEVICE(NULL,0,0,0)
};
/* return device capabilities */
int g15DeviceCapabilities() {
if(found_devicetype>-1)
return g15_devices[found_devicetype].caps;
else
return -1;
}
第一个DEVICE条目是我的目标,也是我添加的代码的一部分。这是我停下来的地方。
int setLEDs(unsigned int leds)
{
int retval = 0;
unsigned char m_led_buf[4] = { 2, 4, 0, 0 };
unsigned char g510_led_buf[2] = {4, 0};
m_led_buf[2] = ~(unsigned char)leds;
if(g15DeviceCapabilities() & G15_DEVICE_G510) {
在G15_DEVICE_G510上停止。我不知道我应该用它替换它的价值。
如果此信息不足,这是整个代码的pastebin。
感谢。 :)
编辑:我发现这些功能是在另一个文件中定义的。他们在这里。
所以我真正需要做的是在该文件中以某种方式定义G15_DEVICE_G510。
答案 0 :(得分:0)
这是应该如何完成的。
#define G15_DEVICE_G510 32
#define G510_STANDARD_KEYBOARD_INTERFACE 0x0
然后在代码
中 int setG510LEDColor(unsigned char r, unsigned char g, unsigned char b);
我设法从here
找到了一个文件然后我需要编辑一条我必须要的线。
设备(“Logitech G510”,0x46d,0xc22d,G15_LCD|G15_KEYS|G15_DEVICE_5BYTE_RETURN|G15_DEVICE_IS_SHARED|G15_DEVICE_G510),
它的代码最初是由一个自称为“众多”的人写的
非常感谢!)