0

キーボード用のドライバーなどをセットアップしようとしています。指示に従って他の人のコードを編集していますが、気になることが 1 つあります。

ここにコードがあります

/* 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 リンク

だから私が本当にする必要があるのは、そのファイルで G15_DEVICE_G510 を何らかの形で定義することです。

4

1 に答える 1

0

これは、それが行われるはずだった方法です。

#define G15_DEVICE_G510 32
#define G510_STANDARD_KEYBOARD_INTERFACE    0x0

その後、コードの後半で

  int setG510LEDColor(unsigned char r, unsigned char g, unsigned char b);

ここからファイルを見つけることができました

次に、これに必要な行を編集する必要があります。DEVICE("Logitech G510",0x46d,0xc22d,G15_LCD|G15_KEYS|G15_DEVICE_5BYTE_RETURN|G15_DEVICE_IS_SHARED|G15_DEVICE_G510), このコードは、もともと「多数派」と名乗る男によって書かれました。

たくさんのありがとう:)

于 2013-04-06T02:38:46.103 に答える