1
我試圖找出如何使用GdkDeviceManager,所以我寫了一個應該打印所有物理輸入設備下面的程序:如何實例化GdkDeviceManager?
#include <stdio.h>
#include <gdk/gdk.h>
int main(int argc, char **argv) {
GList *devices, *it;
GdkDeviceManager mgr;
devices = gdk_device_manager_list_devices(&mgr, GDK_DEVICE_TYPE_SLAVE);
for (it = devices; it != NULL; it = it->next) {
GdkDevice *dev = it->data;
printf("Current device: %s\n", gdk_device_get_name(dev));
}
g_list_free(devices);
return 0;
}
然而,當我嘗試通過
gcc mousetest.c $(pkg-config --libs --cflags gtk+-3.0 gdk-3.0) -Wall
編譯它
我得到
mousetest.c: In function ‘main’:
mousetest.c:6:22: error: storage size of ‘mgr’ isn’t known
GdkDeviceManager mgr;
^
mousetest.c:6:22: warning: unused variable ‘mgr’ [-Wunused-variable]
您不:設備管理器是由後端創建的。但是,更重要的是:爲什麼你認爲你需要設備管理器呢? – ebassi
我想修補一個使用它來管理輸入設備的程序,但其中一個設備正在消失,所以我想編寫一個程序,通過GdkDeviceManager簡單列出設備,以查看設備管理器是否忽略了它,或者不。 –