我应该在那里插入什么价值?

时间:2013-04-05 14:02:42

标签: c++

我正在尝试为我的键盘设置一个驱动程序或类似的东西。我正在根据说明编辑别人的代码,但有一件事困扰着我。

这是代码

/* 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。

Pastebin Link

感谢。 :)

编辑:我发现这些功能是在另一个文件中定义的。他们在这里。

Pastebin Link

所以我真正需要做的是在该文件中以某种方式定义G15_DEVICE_G510。

1 个答案:

答案 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), 它的代码最初是由一个自称为“众多”的人写的

非常感谢!)