0
我想爲我的鍵盤設置一個驅動程序或類似的東西。我按照說明編輯了某人的代碼,但有一件事正在困擾着我。我應該在那裏插入什麼值?
這裏的代碼
/* 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;
}
第一設備條目就是我的目標,我添加的代碼的一部分。這裏是我停下來的地方。
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。
從我所看到的,你想一個人使用您提供的第二個pastebin鏈接中的'G15_LCD','G15_KEYS','G15_DEVICE_5BYTE_RETURN'和'G15_DEVICE_IS_SHARED'定義'G15_DEVICE_G510'。至少g15DeviceCapabilities()會返回。另外,如果你想確定'G15_DEVICE_G510'和'g15DeviceCapabilities()'是否是相同的值,我不認爲按位AND(&)會幫助你。 – stellarossa 2013-04-05 15:05:03